summaryrefslogtreecommitdiffhomepage
path: root/api
diff options
context:
space:
mode:
authorJieJhih Jhang <aawer12345tw@yahoo.com.tw>2019-04-07 16:17:37 +0800
committerFUJITA Tomonori <fujita.tomonori@gmail.com>2019-04-10 10:03:27 +0900
commiteb3721798174ecf42ed3a91befd706c2a0f518e7 (patch)
tree8b7b3b5ca7e92de8c8b4d69ecb240fe1d14c1da3 /api
parentba63f7e07647f5677f652d8e8d673f4215f2b425 (diff)
Add evpn I-PMSI to proto file
Diffstat (limited to 'api')
-rw-r--r--api/attribute.pb.go554
-rw-r--r--api/attribute.proto13
-rw-r--r--api/gobgp.pb.go1
-rw-r--r--api/gobgp.proto1
4 files changed, 313 insertions, 256 deletions
diff --git a/api/attribute.pb.go b/api/attribute.pb.go
index 98676487..f41be638 100644
--- a/api/attribute.pb.go
+++ b/api/attribute.pb.go
@@ -33,6 +33,7 @@ It has these top-level messages:
EVPNInclusiveMulticastEthernetTagRoute
EVPNEthernetSegmentRoute
EVPNIPPrefixRoute
+ EVPNIPMSIRoute
LabeledVPNIPAddressPrefix
RouteTargetMembershipNLRI
FlowSpecIPPrefix
@@ -925,6 +926,44 @@ func (m *EVPNIPPrefixRoute) GetLabel() uint32 {
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
@@ -942,7 +981,7 @@ type LabeledVPNIPAddressPrefix struct {
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{23} }
+func (*LabeledVPNIPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (m *LabeledVPNIPAddressPrefix) GetLabels() []uint32 {
if m != nil {
@@ -986,7 +1025,7 @@ type RouteTargetMembershipNLRI struct {
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{24} }
+func (*RouteTargetMembershipNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
func (m *RouteTargetMembershipNLRI) GetAs() uint32 {
if m != nil {
@@ -1013,7 +1052,7 @@ type FlowSpecIPPrefix struct {
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{25} }
+func (*FlowSpecIPPrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
func (m *FlowSpecIPPrefix) GetType() uint32 {
if m != nil {
@@ -1051,7 +1090,7 @@ type FlowSpecMAC struct {
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{26} }
+func (*FlowSpecMAC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
func (m *FlowSpecMAC) GetType() uint32 {
if m != nil {
@@ -1076,7 +1115,7 @@ type FlowSpecComponentItem struct {
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{27} }
+func (*FlowSpecComponentItem) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
func (m *FlowSpecComponentItem) GetOp() uint32 {
if m != nil {
@@ -1100,7 +1139,7 @@ type FlowSpecComponent struct {
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{28} }
+func (*FlowSpecComponent) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func (m *FlowSpecComponent) GetType() uint32 {
if m != nil {
@@ -1130,7 +1169,7 @@ type FlowSpecNLRI struct {
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{29} }
+func (*FlowSpecNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
func (m *FlowSpecNLRI) GetRules() []*google_protobuf.Any {
if m != nil {
@@ -1159,7 +1198,7 @@ type VPNFlowSpecNLRI struct {
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{30} }
+func (*VPNFlowSpecNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
func (m *VPNFlowSpecNLRI) GetRd() *google_protobuf.Any {
if m != nil {
@@ -1185,7 +1224,7 @@ type OpaqueNLRI struct {
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{31} }
+func (*OpaqueNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
func (m *OpaqueNLRI) GetKey() []byte {
if m != nil {
@@ -1212,7 +1251,7 @@ type LsNodeDescriptor struct {
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{32} }
+func (*LsNodeDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
func (m *LsNodeDescriptor) GetAsn() uint32 {
if m != nil {
@@ -1261,7 +1300,7 @@ type LsLinkDescriptor struct {
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{33} }
+func (*LsLinkDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
func (m *LsLinkDescriptor) GetLinkLocalId() uint32 {
if m != nil {
@@ -1313,7 +1352,7 @@ type LsPrefixDescriptor struct {
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{34} }
+func (*LsPrefixDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
func (m *LsPrefixDescriptor) GetIpReachability() []string {
if m != nil {
@@ -1336,7 +1375,7 @@ type LsNodeNLRI struct {
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{35} }
+func (*LsNodeNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
func (m *LsNodeNLRI) GetLocalNode() *LsNodeDescriptor {
if m != nil {
@@ -1354,7 +1393,7 @@ type LsLinkNLRI struct {
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{36} }
+func (*LsLinkNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
func (m *LsLinkNLRI) GetLocalNode() *LsNodeDescriptor {
if m != nil {
@@ -1385,7 +1424,7 @@ type LsPrefixV4NLRI struct {
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{37} }
+func (*LsPrefixV4NLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
func (m *LsPrefixV4NLRI) GetLocalNode() *LsNodeDescriptor {
if m != nil {
@@ -1409,7 +1448,7 @@ type LsPrefixV6NLRI struct {
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{38} }
+func (*LsPrefixV6NLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
func (m *LsPrefixV6NLRI) GetLocalNode() *LsNodeDescriptor {
if m != nil {
@@ -1440,7 +1479,7 @@ type LsAddrPrefix struct {
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{39} }
+func (*LsAddrPrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
func (m *LsAddrPrefix) GetType() LsNLRIType {
if m != nil {
@@ -1468,6 +1507,7 @@ type MpReachNLRIAttribute struct {
// - EVPNInclusiveMulticastEthernetTagRoute
// - EVPNEthernetSegmentRoute
// - EVPNIPPrefixRoute
+ // - EVPNIPMSIRoute
// - LabeledVPNIPAddressPrefix
// - RouteTargetMembershipNLRI
// - FlowSpecNLRI
@@ -1480,7 +1520,7 @@ type MpReachNLRIAttribute struct {
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{40} }
+func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
func (m *MpReachNLRIAttribute) GetFamily() *Family {
if m != nil {
@@ -1512,7 +1552,7 @@ type MpUnreachNLRIAttribute struct {
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{41} }
+func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
func (m *MpUnreachNLRIAttribute) GetFamily() *Family {
if m != nil {
@@ -1538,7 +1578,7 @@ type TwoOctetAsSpecificExtended struct {
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{42} }
+func (*TwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }
func (m *TwoOctetAsSpecificExtended) GetIsTransitive() bool {
if m != nil {
@@ -1578,7 +1618,7 @@ type IPv4AddressSpecificExtended struct {
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{43} }
+func (*IPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }
func (m *IPv4AddressSpecificExtended) GetIsTransitive() bool {
if m != nil {
@@ -1618,7 +1658,7 @@ type FourOctetAsSpecificExtended struct {
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{44} }
+func (*FourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }
func (m *FourOctetAsSpecificExtended) GetIsTransitive() bool {
if m != nil {
@@ -1655,7 +1695,7 @@ type ValidationExtended struct {
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{45} }
+func (*ValidationExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }
func (m *ValidationExtended) GetState() uint32 {
if m != nil {
@@ -1671,7 +1711,7 @@ type ColorExtended struct {
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{46} }
+func (*ColorExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }
func (m *ColorExtended) GetColor() uint32 {
if m != nil {
@@ -1687,7 +1727,7 @@ type EncapExtended struct {
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{47} }
+func (*EncapExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }
func (m *EncapExtended) GetTunnelType() uint32 {
if m != nil {
@@ -1702,7 +1742,7 @@ 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{48} }
+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"`
@@ -1712,7 +1752,7 @@ type OpaqueExtended struct {
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{49} }
+func (*OpaqueExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }
func (m *OpaqueExtended) GetIsTransitive() bool {
if m != nil {
@@ -1736,7 +1776,7 @@ type ESILabelExtended struct {
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{50} }
+func (*ESILabelExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }
func (m *ESILabelExtended) GetIsSingleActive() bool {
if m != nil {
@@ -1759,7 +1799,7 @@ type ESImportRouteTarget struct {
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{51} }
+func (*ESImportRouteTarget) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }
func (m *ESImportRouteTarget) GetEsImport() string {
if m != nil {
@@ -1776,7 +1816,7 @@ type MacMobilityExtended struct {
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{52} }
+func (*MacMobilityExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }
func (m *MacMobilityExtended) GetIsSticky() bool {
if m != nil {
@@ -1799,7 +1839,7 @@ type RouterMacExtended struct {
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{53} }
+func (*RouterMacExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }
func (m *RouterMacExtended) GetMac() string {
if m != nil {
@@ -1816,7 +1856,7 @@ type TrafficRateExtended struct {
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{54} }
+func (*TrafficRateExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} }
func (m *TrafficRateExtended) GetAs() uint32 {
if m != nil {
@@ -1840,7 +1880,7 @@ type TrafficActionExtended struct {
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{55} }
+func (*TrafficActionExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} }
func (m *TrafficActionExtended) GetTerminal() bool {
if m != nil {
@@ -1865,7 +1905,7 @@ func (m *RedirectTwoOctetAsSpecificExtended) Reset() { *m = RedirectTwoO
func (m *RedirectTwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage() {}
func (*RedirectTwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
- return fileDescriptor0, []int{56}
+ return fileDescriptor0, []int{57}
}
func (m *RedirectTwoOctetAsSpecificExtended) GetAs() uint32 {
@@ -1891,7 +1931,7 @@ func (m *RedirectIPv4AddressSpecificExtended) Reset() { *m = RedirectIPv
func (m *RedirectIPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*RedirectIPv4AddressSpecificExtended) ProtoMessage() {}
func (*RedirectIPv4AddressSpecificExtended) Descriptor() ([]byte, []int) {
- return fileDescriptor0, []int{57}
+ return fileDescriptor0, []int{58}
}
func (m *RedirectIPv4AddressSpecificExtended) GetAddress() string {
@@ -1917,7 +1957,7 @@ func (m *RedirectFourOctetAsSpecificExtended) Reset() { *m = RedirectFou
func (m *RedirectFourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*RedirectFourOctetAsSpecificExtended) ProtoMessage() {}
func (*RedirectFourOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
- return fileDescriptor0, []int{58}
+ return fileDescriptor0, []int{59}
}
func (m *RedirectFourOctetAsSpecificExtended) GetAs() uint32 {
@@ -1941,7 +1981,7 @@ type TrafficRemarkExtended struct {
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{59} }
+func (*TrafficRemarkExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} }
func (m *TrafficRemarkExtended) GetDscp() uint32 {
if m != nil {
@@ -1958,7 +1998,7 @@ type UnknownExtended struct {
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{60} }
+func (*UnknownExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} }
func (m *UnknownExtended) GetType() uint32 {
if m != nil {
@@ -1996,7 +2036,7 @@ type ExtendedCommunitiesAttribute struct {
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{61} }
+func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} }
func (m *ExtendedCommunitiesAttribute) GetCommunities() []*google_protobuf.Any {
if m != nil {
@@ -2012,7 +2052,7 @@ type As4PathAttribute struct {
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{62} }
+func (*As4PathAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} }
func (m *As4PathAttribute) GetSegments() []*AsSegment {
if m != nil {
@@ -2029,7 +2069,7 @@ type As4AggregatorAttribute struct {
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{63} }
+func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} }
func (m *As4AggregatorAttribute) GetAs() uint32 {
if m != nil {
@@ -2055,7 +2095,7 @@ type PmsiTunnelAttribute struct {
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{64} }
+func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} }
func (m *PmsiTunnelAttribute) GetFlags() uint32 {
if m != nil {
@@ -2093,7 +2133,7 @@ type TunnelEncapSubTLVEncapsulation struct {
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{65} }
+func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} }
func (m *TunnelEncapSubTLVEncapsulation) GetKey() uint32 {
if m != nil {
@@ -2116,7 +2156,7 @@ type TunnelEncapSubTLVProtocol struct {
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{66} }
+func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} }
func (m *TunnelEncapSubTLVProtocol) GetProtocol() uint32 {
if m != nil {
@@ -2132,7 +2172,7 @@ type TunnelEncapSubTLVColor struct {
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{67} }
+func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} }
func (m *TunnelEncapSubTLVColor) GetColor() uint32 {
if m != nil {
@@ -2149,7 +2189,7 @@ type TunnelEncapSubTLVUnknown struct {
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{68} }
+func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} }
func (m *TunnelEncapSubTLVUnknown) GetType() uint32 {
if m != nil {
@@ -2178,7 +2218,7 @@ type TunnelEncapTLV struct {
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{69} }
+func (*TunnelEncapTLV) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} }
func (m *TunnelEncapTLV) GetType() uint32 {
if m != nil {
@@ -2201,7 +2241,7 @@ type TunnelEncapAttribute struct {
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{70} }
+func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} }
func (m *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV {
if m != nil {
@@ -2220,7 +2260,7 @@ type IPv6AddressSpecificExtended struct {
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{71} }
+func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} }
func (m *IPv6AddressSpecificExtended) GetIsTransitive() bool {
if m != nil {
@@ -2259,7 +2299,7 @@ func (m *RedirectIPv6AddressSpecificExtended) Reset() { *m = RedirectIPv
func (m *RedirectIPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*RedirectIPv6AddressSpecificExtended) ProtoMessage() {}
func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) {
- return fileDescriptor0, []int{72}
+ return fileDescriptor0, []int{73}
}
func (m *RedirectIPv6AddressSpecificExtended) GetAddress() string {
@@ -2287,7 +2327,7 @@ func (m *IP6ExtendedCommunitiesAttribute) Reset() { *m = IP6ExtendedComm
func (m *IP6ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) }
func (*IP6ExtendedCommunitiesAttribute) ProtoMessage() {}
func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) {
- return fileDescriptor0, []int{73}
+ return fileDescriptor0, []int{74}
}
func (m *IP6ExtendedCommunitiesAttribute) GetCommunities() []*google_protobuf.Any {
@@ -2304,7 +2344,7 @@ type AigpTLVIGPMetric struct {
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{74} }
+func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} }
func (m *AigpTLVIGPMetric) GetMetric() uint64 {
if m != nil {
@@ -2321,7 +2361,7 @@ type AigpTLVUnknown struct {
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{75} }
+func (*AigpTLVUnknown) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} }
func (m *AigpTLVUnknown) GetType() uint32 {
if m != nil {
@@ -2347,7 +2387,7 @@ type AigpAttribute struct {
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{76} }
+func (*AigpAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} }
func (m *AigpAttribute) GetTlvs() []*google_protobuf.Any {
if m != nil {
@@ -2365,7 +2405,7 @@ type LargeCommunity struct {
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{77} }
+func (*LargeCommunity) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} }
func (m *LargeCommunity) GetGlobalAdmin() uint32 {
if m != nil {
@@ -2395,7 +2435,7 @@ type LargeCommunitiesAttribute struct {
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{78} }
+func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} }
func (m *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity {
if m != nil {
@@ -2416,7 +2456,7 @@ type LsNodeFlags struct {
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{79} }
+func (*LsNodeFlags) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} }
func (m *LsNodeFlags) GetOverload() bool {
if m != nil {
@@ -2470,7 +2510,7 @@ type LsIGPFlags struct {
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{80} }
+func (*LsIGPFlags) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} }
func (m *LsIGPFlags) GetDown() bool {
if m != nil {
@@ -2508,7 +2548,7 @@ type LsSrRange struct {
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{81} }
+func (*LsSrRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} }
func (m *LsSrRange) GetBegin() uint32 {
if m != nil {
@@ -2533,7 +2573,7 @@ type LsSrCapabilities struct {
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{82} }
+func (*LsSrCapabilities) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} }
func (m *LsSrCapabilities) GetIpv4Supported() bool {
if m != nil {
@@ -2563,7 +2603,7 @@ type LsSrLocalBlock struct {
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{83} }
+func (*LsSrLocalBlock) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} }
func (m *LsSrLocalBlock) GetRanges() []*LsSrRange {
if m != nil {
@@ -2587,7 +2627,7 @@ type LsAttributeNode struct {
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{84} }
+func (*LsAttributeNode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} }
func (m *LsAttributeNode) GetName() string {
if m != nil {
@@ -2671,7 +2711,7 @@ type LsAttributeLink struct {
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{85} }
+func (*LsAttributeLink) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} }
func (m *LsAttributeLink) GetName() string {
if m != nil {
@@ -2773,7 +2813,7 @@ type LsAttributePrefix struct {
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{86} }
+func (*LsAttributePrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} }
func (m *LsAttributePrefix) GetIgpFlags() *LsIGPFlags {
if m != nil {
@@ -2805,7 +2845,7 @@ type LsAttribute struct {
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{87} }
+func (*LsAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} }
func (m *LsAttribute) GetNode() *LsAttributeNode {
if m != nil {
@@ -2837,7 +2877,7 @@ type UnknownAttribute struct {
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{88} }
+func (*UnknownAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{89} }
func (m *UnknownAttribute) GetFlags() uint32 {
if m != nil {
@@ -2884,6 +2924,7 @@ func init() {
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")
@@ -2956,194 +2997,195 @@ func init() {
func init() { proto.RegisterFile("attribute.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
- // 3011 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x39, 0x5d, 0x53, 0x1c, 0x47,
- 0x92, 0x37, 0x33, 0x80, 0x66, 0x72, 0x18, 0x18, 0x1a, 0x44, 0x0c, 0x48, 0xb2, 0x74, 0x2d, 0x7f,
- 0x70, 0x92, 0x25, 0x9f, 0x11, 0x9e, 0x3b, 0xd9, 0xe1, 0xbb, 0x18, 0x01, 0x92, 0xe7, 0x34, 0x20,
- 0xdc, 0x20, 0x7c, 0xf7, 0x72, 0x7d, 0x35, 0xdd, 0x45, 0x53, 0x47, 0x4f, 0x77, 0xbb, 0xaa, 0x1a,
- 0xc4, 0xeb, 0x46, 0xec, 0x46, 0x38, 0x36, 0x76, 0xc3, 0x4f, 0x1b, 0x8e, 0xd8, 0x97, 0x7d, 0xda,
- 0x9f, 0xb0, 0xff, 0x61, 0x7f, 0xd0, 0xbe, 0x6f, 0xd4, 0x57, 0x7f, 0x0c, 0x83, 0x90, 0xac, 0x75,
- 0x84, 0xde, 0x3a, 0xb3, 0xb2, 0xb2, 0xb2, 0x32, 0xb3, 0xf2, 0xab, 0x61, 0x1e, 0x71, 0x4e, 0xc9,
- 0x30, 0xe5, 0xf8, 0x61, 0x42, 0x63, 0x1e, 0x5b, 0xf5, 0x20, 0x1e, 0x06, 0x09, 0x4a, 0xc8, 0x6a,
- 0x0b, 0x45, 0xe7, 0x9f, 0xa1, 0xe8, 0x5c, 0x2d, 0xac, 0x36, 0xe5, 0x82, 0x02, 0xec, 0x7f, 0x81,
- 0xf9, 0x17, 0x94, 0x04, 0x24, 0xea, 0x99, 0xed, 0xd6, 0x32, 0xcc, 0xc4, 0x12, 0xd5, 0xa9, 0xdc,
- 0xa9, 0xac, 0xb5, 0x1c, 0x0d, 0xd9, 0x8f, 0xa1, 0xd1, 0x63, 0xfb, 0x38, 0x18, 0xe1, 0x88, 0x5b,
- 0x16, 0x4c, 0xf1, 0xf3, 0x04, 0x6b, 0x12, 0xf9, 0x6d, 0x75, 0xe0, 0x5a, 0x94, 0x8e, 0x86, 0x98,
- 0xb2, 0x4e, 0xf5, 0x4e, 0x6d, 0xad, 0xe5, 0x18, 0xd0, 0x7e, 0x02, 0xf3, 0x3d, 0xb6, 0x87, 0xf8,
- 0x71, 0x7e, 0xca, 0x67, 0x50, 0x67, 0x8a, 0x17, 0xeb, 0x54, 0xee, 0xd4, 0xd6, 0x9a, 0xeb, 0x8b,
- 0x0f, 0x8d, 0xc4, 0x0f, 0xb3, 0x73, 0x9c, 0x8c, 0xc8, 0x7e, 0x00, 0xed, 0x5d, 0xfc, 0x8a, 0x7f,
- 0x13, 0x27, 0x39, 0x93, 0x15, 0xa8, 0x47, 0xf8, 0x15, 0x77, 0x8f, 0xe3, 0x44, 0x4a, 0xd2, 0x70,
- 0xae, 0x45, 0x8a, 0xc6, 0xbe, 0x07, 0xcb, 0x3b, 0x69, 0xc8, 0xc9, 0xf6, 0x2b, 0xc2, 0xb7, 0x08,
- 0xf3, 0xf2, 0x4d, 0x6d, 0xa8, 0x8d, 0xb0, 0xaf, 0x25, 0x17, 0x9f, 0xf6, 0x23, 0xb0, 0x06, 0xb1,
- 0x87, 0xc2, 0x3d, 0x8a, 0x8f, 0x72, 0xba, 0x5b, 0x00, 0xa1, 0xc0, 0xba, 0x09, 0xc5, 0x47, 0x9a,
- 0xbc, 0x11, 0x1a, 0x3a, 0x7b, 0x15, 0x3a, 0x3d, 0x1e, 0x8f, 0x88, 0xd7, 0x0b, 0x02, 0x8a, 0x03,
- 0xc4, 0x71, 0xb6, 0xd5, 0xfe, 0x4f, 0x58, 0x34, 0xd8, 0x98, 0xe6, 0x1c, 0xe7, 0xa0, 0x8a, 0x84,
- 0x6e, 0x04, 0xa7, 0x2a, 0x62, 0x42, 0x61, 0xc8, 0xf7, 0x29, 0x66, 0xac, 0x53, 0x53, 0xd2, 0x6b,
- 0xd0, 0xfe, 0x77, 0x58, 0xda, 0x8c, 0x47, 0xa3, 0x34, 0x22, 0x9c, 0x60, 0x96, 0x73, 0xb8, 0x03,
- 0x4d, 0x2f, 0xc7, 0x4b, 0xc5, 0xb5, 0x9c, 0x22, 0xca, 0xfe, 0x04, 0xae, 0x2b, 0x83, 0x8a, 0xa3,
- 0xfb, 0x7e, 0xe9, 0x70, 0xe2, 0x6b, 0x2d, 0x55, 0x89, 0x6f, 0xaf, 0xc1, 0xd2, 0x66, 0x98, 0x32,
- 0x8e, 0xe9, 0x80, 0x30, 0x5e, 0x52, 0x0f, 0xf1, 0x15, 0xeb, 0x86, 0x23, 0x3e, 0xed, 0x6f, 0x60,
- 0xbe, 0xbf, 0xd7, 0x53, 0x92, 0x89, 0xab, 0x93, 0x57, 0x42, 0x37, 0x89, 0xfc, 0x72, 0x43, 0x6c,
- 0xfc, 0xa4, 0xa1, 0x30, 0x03, 0x1c, 0x09, 0x17, 0x52, 0x80, 0xbc, 0x6c, 0xc3, 0xd1, 0x90, 0x1d,
- 0xc0, 0xf2, 0x00, 0x0d, 0x71, 0x88, 0xfd, 0x71, 0x86, 0xcb, 0x30, 0x13, 0x8a, 0x15, 0x73, 0x27,
- 0x0d, 0x8d, 0x1d, 0x54, 0xbd, 0xfc, 0xa0, 0x5a, 0xe9, 0xa0, 0x07, 0xb0, 0xb0, 0x1d, 0x79, 0x28,
- 0x61, 0x69, 0x88, 0x38, 0x89, 0xa3, 0xdd, 0x81, 0xd3, 0x2f, 0xaa, 0xbb, 0x52, 0x56, 0xf7, 0x1e,
- 0xdc, 0x74, 0xe2, 0x94, 0xe3, 0x2d, 0xc2, 0x38, 0x89, 0x82, 0x94, 0xb0, 0x63, 0x4c, 0x0f, 0xce,
- 0xe2, 0x17, 0x1e, 0xc7, 0xbc, 0xb7, 0x6f, 0x2d, 0xc1, 0x34, 0xf2, 0x47, 0xd9, 0x8b, 0x50, 0x80,
- 0xb5, 0x0a, 0x75, 0xc4, 0x18, 0x09, 0x22, 0xec, 0x6b, 0xc9, 0x32, 0xd8, 0x7e, 0x01, 0x37, 0x2e,
- 0x72, 0xcc, 0x2e, 0x5d, 0x66, 0xd8, 0x78, 0x13, 0x86, 0xdf, 0xc2, 0xad, 0x8b, 0x0c, 0x9f, 0xc6,
- 0x29, 0xfd, 0xf9, 0x32, 0x6e, 0xc3, 0xca, 0x36, 0x3f, 0xc6, 0x34, 0xc2, 0x5c, 0x3f, 0xb7, 0xbe,
- 0x8f, 0x23, 0x4e, 0x8e, 0x08, 0xa6, 0x13, 0x1f, 0xf8, 0x12, 0x4c, 0x9f, 0xa2, 0x30, 0xc5, 0x92,
- 0xd3, 0xac, 0xa3, 0x00, 0xfb, 0x2f, 0x15, 0xf8, 0x60, 0xfb, 0x70, 0x6f, 0xd7, 0xf0, 0xea, 0xa5,
- 0x3c, 0x16, 0x2f, 0x2e, 0x3e, 0xc5, 0xf4, 0x5c, 0xca, 0x6c, 0x7d, 0x08, 0x55, 0xaa, 0x7c, 0xaf,
- 0xb9, 0xbe, 0xf4, 0x30, 0x88, 0xe3, 0x20, 0xd4, 0x61, 0x6a, 0x98, 0x1e, 0x3d, 0xec, 0x45, 0xe7,
- 0x4e, 0x95, 0xfa, 0xd6, 0x17, 0x50, 0xc3, 0x8c, 0x48, 0xe6, 0xcd, 0xf5, 0xbb, 0x79, 0x34, 0xb8,
- 0x54, 0x48, 0x47, 0xd0, 0x5b, 0xff, 0x0c, 0xb3, 0x58, 0x53, 0xb8, 0x1c, 0x05, 0xd2, 0x13, 0x5a,
- 0x4e, 0xd3, 0xe0, 0x0e, 0x50, 0x20, 0x04, 0x97, 0xfe, 0xd4, 0x99, 0x52, 0xba, 0x91, 0x80, 0xfd,
- 0xb7, 0x0a, 0xdc, 0x10, 0x82, 0xef, 0xf4, 0x36, 0x85, 0x65, 0x4e, 0x31, 0xe5, 0x84, 0x61, 0x19,
- 0x76, 0xde, 0x0b, 0xa9, 0x6f, 0x43, 0x73, 0x84, 0x3c, 0xd7, 0xf8, 0xec, 0x94, 0x74, 0x15, 0x18,
- 0x21, 0xcf, 0x78, 0xd1, 0x2d, 0x00, 0x92, 0x64, 0xeb, 0xd3, 0x72, 0xbd, 0x41, 0x12, 0xb3, 0x9c,
- 0xbf, 0xa9, 0x99, 0xe2, 0x9b, 0xb2, 0x7f, 0xac, 0xc0, 0xc7, 0xe2, 0xde, 0xfd, 0xc8, 0x0b, 0x53,
- 0x46, 0x4e, 0xb1, 0x0c, 0x94, 0x1e, 0x62, 0x7c, 0x3b, 0x3f, 0xfd, 0x6d, 0x54, 0x30, 0x7e, 0x97,
- 0xea, 0xc5, 0xbb, 0x94, 0x45, 0xad, 0x8d, 0x89, 0x6a, 0xff, 0xa1, 0x02, 0x9d, 0xa2, 0x0f, 0x99,
- 0xf0, 0xff, 0xcb, 0xdb, 0xe1, 0x0a, 0xc1, 0x7e, 0xa8, 0xc2, 0x82, 0xd4, 0xd5, 0x9e, 0x0a, 0x54,
- 0xef, 0x87, 0x67, 0xdc, 0x80, 0x06, 0x49, 0x5c, 0x1d, 0xf9, 0x94, 0x5f, 0xd4, 0x49, 0xa2, 0x43,
- 0xa9, 0x0d, 0xad, 0x6c, 0x51, 0x46, 0xcd, 0x69, 0xc5, 0xc0, 0x10, 0x88, 0xb8, 0x79, 0x0b, 0x20,
- 0x38, 0xcb, 0x6e, 0x3d, 0xa3, 0x6e, 0x1d, 0x9c, 0x15, 0xc2, 0x93, 0x7a, 0x2f, 0xd7, 0x8a, 0xef,
- 0xe5, 0xc7, 0x0a, 0xac, 0xe8, 0xf0, 0x2d, 0x35, 0xf2, 0x66, 0x11, 0x5c, 0xe9, 0xaa, 0x7a, 0x85,
- 0xae, 0xca, 0x71, 0xbe, 0x76, 0x79, 0x9c, 0x9f, 0x2a, 0xc5, 0xf9, 0x6f, 0x61, 0x45, 0x5a, 0xe4,
- 0x00, 0xd1, 0x00, 0xf3, 0x1d, 0x2c, 0xcb, 0x8d, 0x63, 0x92, 0xc8, 0x78, 0xaf, 0xd2, 0x6d, 0x25,
- 0x4b, 0xb7, 0x42, 0x12, 0x7e, 0x85, 0x24, 0xdc, 0x4e, 0xa1, 0xfd, 0x34, 0x8c, 0xcf, 0xf6, 0x13,
- 0xec, 0x19, 0xa3, 0x4f, 0x0c, 0x86, 0x3f, 0x2f, 0x33, 0xc9, 0xea, 0xea, 0xe8, 0x88, 0x61, 0xae,
- 0x63, 0x91, 0x86, 0xec, 0xaf, 0xa0, 0x69, 0x8e, 0xdd, 0xe9, 0x6d, 0x5e, 0x56, 0x5f, 0x19, 0x8b,
- 0x55, 0xcb, 0xf9, 0xeb, 0x6b, 0xb8, 0x6e, 0x36, 0x6f, 0xc6, 0xa3, 0x24, 0x8e, 0x84, 0x5b, 0x71,
- 0x3c, 0x12, 0x2a, 0xd0, 0xa5, 0x51, 0xcb, 0xa9, 0xc6, 0x49, 0x39, 0x82, 0x4f, 0x99, 0x08, 0xfe,
- 0xbf, 0xb0, 0x70, 0x61, 0xfb, 0x44, 0x09, 0xbe, 0x80, 0x69, 0xc2, 0xf1, 0x48, 0xd5, 0x77, 0xcd,
- 0xf5, 0xdb, 0xb9, 0x4f, 0x4f, 0x3c, 0xde, 0x51, 0xd4, 0xf6, 0x97, 0x30, 0x6b, 0xd6, 0xa5, 0x61,
- 0xee, 0xc1, 0x34, 0x4d, 0x43, 0x6c, 0x0a, 0xbf, 0xc9, 0xb6, 0x50, 0x24, 0xb6, 0x07, 0xf3, 0x87,
- 0x7b, 0xbb, 0xa5, 0xed, 0x6f, 0xf6, 0xfa, 0xb2, 0x43, 0xaa, 0x57, 0x1f, 0xb2, 0x01, 0xf0, 0x22,
- 0x41, 0xdf, 0xa7, 0x58, 0xf2, 0x6f, 0x43, 0xed, 0x04, 0x9f, 0xcb, 0x03, 0x66, 0x1d, 0xf1, 0x79,
- 0x49, 0xe2, 0xfb, 0x73, 0x05, 0xda, 0x03, 0xb6, 0x1b, 0xfb, 0x78, 0x0b, 0x33, 0x8f, 0x92, 0x84,
- 0xc7, 0x54, 0x6c, 0x46, 0xcc, 0x24, 0x61, 0xf1, 0x69, 0xad, 0x42, 0x63, 0x18, 0x24, 0x6e, 0xc8,
- 0x5c, 0x62, 0x72, 0xf0, 0xb5, 0x61, 0x90, 0x0c, 0x58, 0xdf, 0xb7, 0xee, 0xc0, 0x6c, 0xcc, 0x92,
- 0x23, 0x17, 0x51, 0x8c, 0xc4, 0xb2, 0x72, 0x7c, 0x10, 0xb8, 0x1e, 0xc5, 0xa8, 0xef, 0x5b, 0x1f,
- 0x00, 0x24, 0x0c, 0xa7, 0x7e, 0x1c, 0xc5, 0x3e, 0x96, 0x3e, 0x53, 0x77, 0x0a, 0x18, 0xf9, 0xda,
- 0x83, 0xc4, 0xa5, 0xe2, 0x15, 0x50, 0xc1, 0x42, 0xa5, 0x81, 0x26, 0x09, 0x12, 0xf9, 0x32, 0x68,
- 0xdf, 0xb7, 0x7f, 0xaa, 0x0a, 0x41, 0x07, 0x24, 0x3a, 0x29, 0x08, 0x6a, 0x43, 0x2b, 0x24, 0xd1,
- 0x89, 0xab, 0x6a, 0x5c, 0x62, 0x0a, 0xe2, 0xa6, 0x40, 0xca, 0x6a, 0xb8, 0xef, 0x5b, 0x1f, 0xc2,
- 0x9c, 0xa4, 0xa1, 0x78, 0x14, 0x73, 0x9c, 0xcb, 0x3f, 0x2b, 0xb0, 0x8e, 0x44, 0xf6, 0x7d, 0xeb,
- 0x21, 0x2c, 0x92, 0x88, 0x63, 0x7a, 0x84, 0x3c, 0x2c, 0x63, 0x8a, 0x4b, 0x92, 0xd3, 0x0d, 0xed,
- 0xf7, 0x0b, 0xd9, 0x92, 0x08, 0x17, 0xfd, 0xe4, 0x74, 0xc3, 0xfa, 0x14, 0xac, 0x08, 0x93, 0xe0,
- 0x78, 0x18, 0xd3, 0x02, 0xb9, 0x7a, 0xd8, 0x6d, 0xb3, 0x92, 0x51, 0x4f, 0xe4, 0xde, 0xd5, 0xd7,
- 0xbc, 0xc0, 0xbd, 0x3b, 0x91, 0x7b, 0x57, 0x87, 0xb8, 0x71, 0xee, 0x5d, 0x1b, 0x83, 0x35, 0xd0,
- 0x11, 0xac, 0xa0, 0x9b, 0x4f, 0x60, 0x9e, 0x24, 0x2e, 0xc5, 0xc8, 0x3b, 0x46, 0x43, 0x12, 0x12,
- 0x7e, 0xae, 0xeb, 0xe1, 0x39, 0x92, 0x38, 0x05, 0xac, 0xf5, 0x31, 0xcc, 0x4b, 0xfb, 0x49, 0xf5,
- 0xbb, 0xf2, 0xbd, 0xa8, 0xa7, 0xd9, 0x12, 0x68, 0x15, 0x9a, 0xce, 0x13, 0x6c, 0x3f, 0x03, 0x50,
- 0x9e, 0x22, 0x1d, 0xec, 0xb1, 0xe9, 0x2c, 0xa4, 0x4d, 0x95, 0x23, 0xaf, 0xe6, 0x6f, 0x69, 0xdc,
- 0xa7, 0x74, 0xd7, 0x21, 0x90, 0xf6, 0x5f, 0x2b, 0x82, 0x93, 0x30, 0xe5, 0x3b, 0x72, 0xb2, 0xbe,
- 0x82, 0xa6, 0x36, 0xab, 0xdc, 0x5b, 0xbd, 0x72, 0x2f, 0x28, 0x72, 0xb9, 0x79, 0x13, 0xe6, 0xa5,
- 0x63, 0xf8, 0xd9, 0xb2, 0x34, 0xf7, 0x18, 0x83, 0xb2, 0xc7, 0x39, 0xd2, 0x97, 0x72, 0x58, 0x24,
- 0xfd, 0x39, 0xa3, 0xfc, 0xc3, 0x8d, 0x77, 0xbd, 0x4f, 0x1f, 0x16, 0x74, 0x3c, 0x2e, 0x08, 0xa5,
- 0x6e, 0x75, 0xb3, 0xc8, 0x61, 0xdc, 0xd8, 0x4e, 0x3b, 0x19, 0xc3, 0x94, 0x05, 0xeb, 0xbe, 0x47,
- 0x82, 0x0d, 0x61, 0x76, 0xc0, 0x84, 0xef, 0xea, 0xbc, 0xb4, 0x56, 0x88, 0xd1, 0x73, 0x32, 0xc4,
- 0xe5, 0xf2, 0x0c, 0x9c, 0xbe, 0x70, 0x3d, 0x1d, 0xb9, 0xd7, 0x60, 0x2a, 0x0a, 0x29, 0x79, 0x6d,
- 0xf6, 0x93, 0x14, 0xf6, 0x0f, 0x15, 0x58, 0xda, 0x51, 0x5e, 0x2e, 0x78, 0xe4, 0x8d, 0xe1, 0x1a,
- 0xcc, 0x1c, 0xa1, 0x11, 0x09, 0xcf, 0xf5, 0xf5, 0xdb, 0x85, 0xe8, 0x2f, 0xf1, 0x8e, 0x5e, 0x17,
- 0xe5, 0x89, 0x69, 0xcb, 0x55, 0xf8, 0x6d, 0x38, 0x75, 0xdd, 0x97, 0x33, 0x11, 0x97, 0xc5, 0x39,
- 0xa2, 0xd6, 0x7a, 0x4d, 0x5c, 0x96, 0x24, 0x76, 0x04, 0xcb, 0x3b, 0xc9, 0xcb, 0x88, 0xbe, 0x8b,
- 0x30, 0x6f, 0x73, 0xde, 0xef, 0x2a, 0xb0, 0x9a, 0xb5, 0x7d, 0x4c, 0x24, 0x1c, 0x72, 0x44, 0xbc,
- 0xed, 0x57, 0x1c, 0x47, 0x3e, 0xf6, 0xad, 0xbb, 0xd0, 0x22, 0xcc, 0xe5, 0x14, 0x45, 0x8c, 0x70,
- 0x72, 0xaa, 0xf4, 0x5e, 0x77, 0x66, 0x09, 0x3b, 0xc8, 0x70, 0xd6, 0x0a, 0xd4, 0x59, 0x3a, 0xcc,
- 0x63, 0x41, 0xcb, 0xb9, 0xc6, 0xd2, 0xa1, 0x30, 0x85, 0x2e, 0x48, 0x6a, 0x59, 0x41, 0x72, 0x1b,
- 0x9a, 0xca, 0xa9, 0x54, 0xe3, 0xa6, 0x0a, 0x02, 0xe5, 0x67, 0x3d, 0x81, 0xb1, 0x7f, 0xaa, 0xc0,
- 0x8d, 0xfe, 0xde, 0xe9, 0x86, 0xae, 0xb4, 0xfe, 0xe1, 0x02, 0x5d, 0x3a, 0x80, 0xb8, 0x5a, 0xb4,
- 0xdf, 0x57, 0xe0, 0x46, 0xde, 0x7e, 0xbe, 0x07, 0xba, 0xba, 0x07, 0xd6, 0x21, 0x0a, 0x89, 0x2f,
- 0xfb, 0xfd, 0x4c, 0x8c, 0x25, 0x98, 0x66, 0x1c, 0x71, 0x53, 0xc6, 0x28, 0xc0, 0xfe, 0x08, 0x5a,
- 0x9b, 0x71, 0x18, 0xd3, 0x22, 0x99, 0x27, 0x10, 0x86, 0x4c, 0x02, 0xf6, 0xbf, 0x42, 0x4b, 0x4e,
- 0x11, 0x32, 0xb2, 0xdb, 0xd0, 0xe4, 0x69, 0x14, 0xe1, 0xd0, 0x2d, 0x94, 0x46, 0xa0, 0x50, 0x32,
- 0xce, 0x77, 0x60, 0x79, 0x0b, 0x1f, 0xa1, 0x34, 0xe4, 0xcf, 0x10, 0xc7, 0x67, 0xe8, 0xdc, 0x6c,
- 0xb5, 0x9f, 0xc3, 0x9c, 0x2a, 0x31, 0xde, 0x4e, 0x43, 0x59, 0xe5, 0x51, 0x2b, 0x56, 0x1e, 0x0e,
- 0xb4, 0xb7, 0xf7, 0xfb, 0xb2, 0x16, 0xcf, 0xd8, 0xad, 0x41, 0x9b, 0x30, 0x97, 0x91, 0x28, 0x08,
- 0xb1, 0x8b, 0xbc, 0x02, 0xc7, 0x39, 0xc2, 0xf6, 0x25, 0xba, 0xe7, 0x19, 0x9e, 0xaa, 0xba, 0xaf,
- 0x16, 0xab, 0xfb, 0x75, 0x58, 0xdc, 0xde, 0xef, 0x8f, 0x92, 0x98, 0xf2, 0x42, 0x49, 0x2d, 0xde,
- 0x32, 0x66, 0x2e, 0x91, 0x78, 0x3d, 0xad, 0xa8, 0x63, 0xa6, 0xe8, 0xec, 0x97, 0xb0, 0xb8, 0x83,
- 0xbc, 0x9d, 0x58, 0x65, 0xc3, 0x4c, 0x14, 0xd1, 0x9e, 0x30, 0x97, 0x71, 0xe2, 0x9d, 0x9c, 0x6b,
- 0x19, 0xea, 0x84, 0xed, 0x4b, 0x58, 0xb4, 0x37, 0x0c, 0x7f, 0x9f, 0xe2, 0xc8, 0xc3, 0x6e, 0x94,
- 0x8e, 0x4c, 0xb3, 0x68, 0x70, 0xbb, 0xe9, 0xc8, 0xfe, 0x08, 0x16, 0x54, 0xed, 0xb2, 0x83, 0x72,
- 0x87, 0x6a, 0x43, 0x6d, 0x84, 0x3c, 0x2d, 0x82, 0xf8, 0xb4, 0x1f, 0xc3, 0xe2, 0x01, 0x45, 0x47,
- 0x47, 0xc4, 0x73, 0x10, 0xcf, 0xf5, 0x3a, 0x5e, 0xf6, 0x5b, 0x30, 0x45, 0x85, 0x07, 0x88, 0x83,
- 0xaa, 0x8e, 0xfc, 0xb6, 0x9f, 0xc3, 0x75, 0xbd, 0x55, 0xe8, 0xa4, 0xe0, 0x2f, 0xab, 0x50, 0xe7,
- 0x98, 0x8e, 0x48, 0x84, 0x42, 0x23, 0xb9, 0x81, 0x45, 0xe9, 0xce, 0xd0, 0x28, 0x09, 0x15, 0xab,
- 0xba, 0xa3, 0x21, 0xfb, 0x25, 0xd8, 0x0e, 0xf6, 0x09, 0xc5, 0x1e, 0x7f, 0x4d, 0xf0, 0x18, 0x17,
- 0x6b, 0xcc, 0xa1, 0xab, 0x17, 0x1c, 0xfa, 0xff, 0xe0, 0xae, 0x61, 0xfb, 0xba, 0x18, 0x70, 0xe9,
- 0x54, 0xeb, 0xea, 0x13, 0x0e, 0xf3, 0x13, 0x5e, 0xf7, 0x94, 0xdf, 0x5a, 0xf2, 0xfb, 0x99, 0x76,
- 0x1d, 0x3c, 0x42, 0xf4, 0x24, 0xe3, 0x64, 0xc1, 0x94, 0xcf, 0x3c, 0xd3, 0x90, 0xc8, 0x6f, 0xfb,
- 0x2b, 0x98, 0x7f, 0x19, 0x9d, 0x44, 0xf1, 0x59, 0x54, 0x24, 0x7b, 0xc3, 0xd9, 0xd3, 0x21, 0xdc,
- 0x34, 0xbb, 0x26, 0xce, 0x4b, 0xbb, 0x17, 0xe7, 0xa5, 0x97, 0xa5, 0x80, 0xd2, 0x14, 0x75, 0x13,
- 0xda, 0x3d, 0xb6, 0xf1, 0x8e, 0x13, 0xeb, 0x27, 0xb0, 0xdc, 0x63, 0x1b, 0xef, 0x36, 0x08, 0xc6,
- 0xb0, 0xb8, 0x37, 0x62, 0xe4, 0x40, 0x86, 0x98, 0x9c, 0xc1, 0x12, 0x4c, 0x1f, 0x85, 0x28, 0x30,
- 0x56, 0x51, 0x40, 0xa6, 0xb7, 0x6a, 0x59, 0x6f, 0xea, 0xb1, 0xd7, 0x0a, 0x8f, 0x5d, 0x0f, 0x83,
- 0xa7, 0xa4, 0x2a, 0xab, 0xc4, 0xb7, 0xff, 0x0b, 0x3e, 0x50, 0x47, 0xc8, 0x78, 0xb7, 0x9f, 0x0e,
- 0x0f, 0x06, 0x87, 0xa5, 0x01, 0x6a, 0xb1, 0x29, 0x6a, 0xa9, 0xa6, 0x68, 0x19, 0x66, 0xbc, 0x38,
- 0x3e, 0x21, 0xc6, 0x24, 0x1a, 0xb2, 0xff, 0x0d, 0x56, 0x2e, 0xf0, 0xda, 0x13, 0x9a, 0xf6, 0xe2,
- 0x50, 0xbc, 0xaf, 0x44, 0x7f, 0x6b, 0x5e, 0x19, 0x6c, 0x3f, 0x84, 0xe5, 0x0b, 0x1b, 0x65, 0x98,
- 0xbe, 0x24, 0x3c, 0x6f, 0x41, 0xe7, 0x02, 0xbd, 0x76, 0xa5, 0xb7, 0x70, 0xa1, 0x5d, 0x98, 0x2b,
- 0x70, 0x39, 0x18, 0x1c, 0x4e, 0xdc, 0x2b, 0x2a, 0xad, 0xf0, 0xf4, 0xf5, 0xcd, 0xa4, 0xa4, 0xb0,
- 0xb7, 0x60, 0xa9, 0xc0, 0x2f, 0x37, 0xd9, 0xa7, 0x9a, 0x83, 0x72, 0x9d, 0x4e, 0xee, 0x3a, 0xe5,
- 0xd3, 0x35, 0x17, 0x9d, 0xf9, 0xbb, 0xef, 0x61, 0xe6, 0x2f, 0xc7, 0xa5, 0xee, 0x2f, 0x10, 0x97,
- 0xfe, 0x07, 0x6e, 0xf7, 0xf7, 0xba, 0xbf, 0xc8, 0xc3, 0xbe, 0x07, 0xed, 0x1e, 0x09, 0x84, 0xa2,
- 0xfb, 0xcf, 0xf6, 0x76, 0x30, 0xa7, 0xc4, 0x13, 0x8e, 0x3c, 0x92, 0x5f, 0x52, 0xd0, 0x29, 0x47,
- 0x43, 0xf6, 0x97, 0x30, 0xa7, 0x69, 0xdf, 0xde, 0xab, 0x1e, 0x43, 0x4b, 0xec, 0x2d, 0x16, 0xac,
- 0x45, 0xf3, 0xbf, 0xce, 0x81, 0x52, 0x98, 0x1b, 0x88, 0xdc, 0x6b, 0xee, 0x2d, 0x53, 0x66, 0x10,
- 0xc6, 0xc3, 0x4c, 0x63, 0xba, 0x53, 0x57, 0x38, 0xa9, 0xb2, 0x5c, 0xa7, 0x3e, 0xe2, 0xe8, 0xf3,
- 0x92, 0x4e, 0xb7, 0x04, 0xa6, 0x4c, 0xb0, 0x6e, 0x06, 0x0d, 0x19, 0xc1, 0xba, 0xfd, 0x1d, 0xac,
- 0x94, 0x8e, 0x2d, 0xa9, 0xfb, 0xcb, 0x49, 0xea, 0x2e, 0xf8, 0x70, 0x59, 0xe0, 0xb2, 0xca, 0xff,
- 0x58, 0x81, 0xa6, 0xea, 0x8f, 0x9e, 0xca, 0x28, 0xb5, 0x0a, 0xf5, 0xf8, 0x14, 0xd3, 0x30, 0x46,
- 0xbe, 0x49, 0xb1, 0x06, 0x96, 0xbf, 0x2b, 0x38, 0x47, 0xde, 0xb1, 0xfe, 0x5d, 0x51, 0x77, 0x32,
- 0x58, 0xac, 0xe1, 0x57, 0x1c, 0x53, 0x91, 0x9a, 0x6b, 0x6a, 0xcd, 0xc0, 0x72, 0xea, 0x32, 0xa4,
- 0x7a, 0x3c, 0x22, 0x3e, 0x85, 0x51, 0xd5, 0x4c, 0x44, 0x4e, 0x0a, 0xea, 0x8e, 0x86, 0x44, 0xe4,
- 0xd3, 0xe3, 0x80, 0xba, 0x53, 0x3d, 0xed, 0xda, 0xbf, 0x95, 0x0d, 0x75, 0xff, 0xd9, 0xde, 0x53,
- 0x13, 0x42, 0xfd, 0xf8, 0x2c, 0xd2, 0x82, 0xc9, 0x6f, 0xeb, 0x16, 0x40, 0x14, 0xbb, 0x69, 0x24,
- 0x47, 0xe4, 0x5a, 0xac, 0x46, 0x14, 0xbf, 0x54, 0x08, 0xf1, 0x14, 0x8d, 0x3b, 0xe7, 0x0f, 0xaa,
- 0xee, 0xcc, 0x6a, 0x87, 0x56, 0x3e, 0xff, 0x11, 0xcc, 0x25, 0x34, 0x4e, 0x50, 0x80, 0x44, 0xc3,
- 0xcd, 0x18, 0xd2, 0xb2, 0xb6, 0x32, 0xec, 0x2e, 0x63, 0xc8, 0x7e, 0x04, 0x8d, 0x01, 0xdb, 0xa7,
- 0x0e, 0x8a, 0x02, 0xe9, 0x59, 0x43, 0x9c, 0xff, 0x87, 0x55, 0x80, 0xb8, 0x2a, 0x8e, 0xcc, 0x20,
- 0x46, 0x7c, 0x8a, 0xae, 0xa5, 0x2d, 0x76, 0x6d, 0xa2, 0x44, 0xcd, 0x25, 0x08, 0x96, 0x07, 0x92,
- 0xe4, 0x74, 0xc3, 0x65, 0x69, 0x22, 0x4a, 0x35, 0x6c, 0x74, 0xdd, 0x12, 0xd8, 0x7d, 0x83, 0xd4,
- 0x64, 0xdd, 0x02, 0x59, 0x35, 0x23, 0xeb, 0xe6, 0x64, 0xf7, 0x61, 0x86, 0x0a, 0x99, 0x4c, 0x17,
- 0xb5, 0x58, 0x6c, 0x35, 0xb5, 0xbc, 0x8e, 0x26, 0xb1, 0xbf, 0x16, 0xdd, 0xf3, 0x3e, 0x95, 0x43,
- 0xa4, 0x27, 0x61, 0xec, 0x9d, 0x14, 0xb6, 0x57, 0xae, 0xde, 0xfe, 0x9b, 0x1a, 0xcc, 0x0f, 0x72,
- 0xdf, 0x93, 0x3d, 0xb4, 0x05, 0x53, 0x11, 0x1a, 0x61, 0x1d, 0x49, 0xe4, 0xb7, 0x75, 0xdf, 0xe4,
- 0x40, 0xd5, 0xd3, 0x5e, 0x1f, 0xef, 0xc6, 0xa5, 0x41, 0x4d, 0x6a, 0xfc, 0x18, 0xe6, 0x95, 0x91,
- 0xf2, 0x41, 0x99, 0x8a, 0x7b, 0xca, 0x76, 0x66, 0x54, 0x66, 0xdd, 0x07, 0x6b, 0x8c, 0xce, 0x3d,
- 0xed, 0xea, 0xd9, 0xd4, 0x7c, 0x89, 0xf4, 0xb0, 0xab, 0xea, 0x5c, 0xc2, 0xe4, 0xf4, 0x4e, 0xba,
- 0xd9, 0xac, 0xa8, 0x73, 0x09, 0xeb, 0x51, 0x8c, 0xe4, 0xa0, 0x57, 0x16, 0xfc, 0xd2, 0xd9, 0x66,
- 0x1d, 0x0d, 0x59, 0x9b, 0x30, 0xcf, 0xa8, 0xeb, 0x15, 0x6c, 0x25, 0xa7, 0xec, 0x63, 0xe3, 0x84,
- 0xb2, 0x35, 0x9d, 0x39, 0x56, 0xb6, 0xee, 0x5d, 0x68, 0x31, 0xea, 0xa2, 0x30, 0x88, 0x29, 0xe1,
- 0xc7, 0x23, 0xd6, 0xa9, 0xcb, 0x33, 0x66, 0x19, 0xed, 0x65, 0x38, 0xeb, 0x3f, 0x60, 0x8e, 0x51,
- 0x3d, 0xdf, 0x1b, 0x0a, 0x3b, 0x74, 0x1a, 0xf2, 0xa0, 0x4e, 0xf9, 0xa0, 0xdc, 0x4e, 0x62, 0x7f,
- 0x0e, 0xd9, 0xbf, 0x9e, 0x2a, 0x19, 0x62, 0x40, 0xa2, 0x93, 0x89, 0x86, 0x98, 0xa0, 0xdb, 0xea,
- 0x9b, 0xeb, 0xb6, 0x36, 0x59, 0xb7, 0x6b, 0xd0, 0xd6, 0xe3, 0xa9, 0x9c, 0xab, 0x32, 0xc3, 0x9c,
- 0xc2, 0x67, 0x6c, 0x1f, 0xc0, 0xe2, 0x38, 0xa5, 0x9b, 0x0d, 0x08, 0xdb, 0x65, 0xe2, 0xc3, 0xae,
- 0x08, 0x84, 0x32, 0x8a, 0xba, 0x01, 0x8d, 0xd3, 0x44, 0x1a, 0xa7, 0xe5, 0x80, 0x44, 0x3d, 0x13,
- 0x18, 0xeb, 0x1e, 0x2c, 0xf8, 0xaa, 0x87, 0x73, 0x39, 0x76, 0x75, 0x66, 0x50, 0x3f, 0x42, 0xe6,
- 0xf5, 0xc2, 0x01, 0xd6, 0xa9, 0xe3, 0x16, 0x00, 0x09, 0x12, 0x43, 0x54, 0x57, 0x3f, 0x01, 0x48,
- 0x90, 0xe4, 0x99, 0x45, 0xfb, 0x40, 0xa3, 0xe4, 0x03, 0x37, 0xa1, 0x31, 0x44, 0x91, 0x7f, 0x46,
- 0x7c, 0x7e, 0xdc, 0x01, 0xd9, 0x97, 0xe4, 0x08, 0xeb, 0x73, 0x58, 0xa2, 0x98, 0x61, 0x7a, 0x8a,
- 0x86, 0x21, 0x76, 0x73, 0xc2, 0xa6, 0x24, 0x5c, 0xcc, 0xd7, 0x9e, 0x14, 0xb7, 0xa4, 0x91, 0x5a,
- 0xc0, 0x7e, 0x61, 0xcb, 0xec, 0x9d, 0x9a, 0xd8, 0x92, 0xaf, 0xe5, 0x5b, 0xd6, 0xa0, 0x2d, 0x5c,
- 0xc8, 0xff, 0x7f, 0xe4, 0xe1, 0xc8, 0x3b, 0x77, 0x19, 0xf1, 0x3b, 0x2d, 0x79, 0x81, 0x39, 0x46,
- 0x7b, 0x06, 0xbd, 0x4f, 0x7c, 0xfb, 0x57, 0x15, 0x58, 0x28, 0xf8, 0x81, 0x9e, 0x3d, 0x7d, 0x0e,
- 0xe2, 0xa2, 0x6e, 0x5e, 0x86, 0x36, 0xcb, 0x03, 0x28, 0x13, 0x52, 0x9d, 0x3a, 0x09, 0x12, 0x15,
- 0x5c, 0x73, 0x75, 0x54, 0x4b, 0xea, 0xb0, 0xa5, 0x37, 0xeb, 0x21, 0x19, 0xcb, 0xc6, 0xe0, 0x4d,
- 0xa6, 0xe7, 0x5c, 0x42, 0x88, 0x3f, 0xc9, 0x2c, 0x92, 0x67, 0xa4, 0x07, 0x30, 0x55, 0x18, 0xc5,
- 0xad, 0x14, 0x4f, 0x2e, 0x85, 0x0e, 0x47, 0x92, 0x09, 0xf2, 0x90, 0x44, 0x27, 0x3a, 0x56, 0x4c,
- 0x26, 0x17, 0x0e, 0xee, 0x48, 0x32, 0xeb, 0x51, 0xe9, 0xef, 0x4d, 0x73, 0xfd, 0xc6, 0xc4, 0x0d,
- 0xfa, 0x97, 0xa0, 0xf9, 0x19, 0xe5, 0x40, 0x5b, 0x17, 0x0a, 0x3f, 0xb3, 0x50, 0xbf, 0xd8, 0xe9,
- 0xdf, 0x63, 0x72, 0x70, 0xac, 0x67, 0x79, 0xd6, 0x22, 0xcc, 0x0f, 0xf6, 0x5d, 0x01, 0xba, 0x2f,
- 0x77, 0x9f, 0xef, 0xbe, 0xf8, 0x6e, 0xb7, 0xfd, 0x4f, 0x56, 0x1b, 0x66, 0x0d, 0x72, 0xf7, 0xc5,
- 0xd6, 0x76, 0xbb, 0x52, 0xc4, 0x0c, 0xfa, 0xbb, 0xcf, 0xdb, 0x55, 0xeb, 0x3a, 0x2c, 0x18, 0xcc,
- 0x9e, 0xb3, 0xfd, 0xb4, 0xff, 0xdf, 0xee, 0xe1, 0x46, 0xbb, 0x36, 0x09, 0xdd, 0x6d, 0x4f, 0x0d,
- 0x67, 0x64, 0x55, 0xf2, 0xe8, 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x98, 0x6e, 0xca, 0x2f, 0x54,
- 0x24, 0x00, 0x00,
+ // 3028 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x5f, 0x6f, 0x1b, 0xc7,
+ 0x11, 0x2f, 0x49, 0x49, 0x26, 0x87, 0x22, 0x45, 0x9d, 0x64, 0x81, 0x92, 0xed, 0xd8, 0x3d, 0xe7,
+ 0x8f, 0x6a, 0xc7, 0x4e, 0x23, 0x2b, 0x6c, 0x9d, 0x20, 0x2d, 0x68, 0x49, 0x76, 0x58, 0x53, 0xb2,
+ 0x72, 0x92, 0x95, 0xf6, 0xa5, 0xd7, 0xe5, 0xdd, 0xea, 0xb4, 0xd5, 0xf1, 0xee, 0xb2, 0xbb, 0x94,
+ 0xac, 0xa7, 0x02, 0x05, 0x5a, 0x20, 0x28, 0x5a, 0xf4, 0xa9, 0x08, 0xd0, 0x97, 0x3e, 0xf5, 0x23,
+ 0xf4, 0x3b, 0xf4, 0x03, 0xf5, 0xbd, 0xd8, 0x7f, 0xf7, 0x87, 0xa2, 0x2c, 0x3b, 0x4e, 0x00, 0xbf,
+ 0xdd, 0xcc, 0xce, 0xce, 0xce, 0xce, 0xfe, 0x76, 0x66, 0x76, 0x0e, 0xe6, 0x10, 0xe7, 0x94, 0x0c,
+ 0x46, 0x1c, 0xdf, 0x4f, 0x68, 0xcc, 0x63, 0xab, 0x1a, 0xc4, 0x83, 0x20, 0x41, 0x09, 0x59, 0x69,
+ 0xa0, 0xe8, 0xec, 0x23, 0x14, 0x9d, 0xa9, 0x81, 0x95, 0xba, 0x1c, 0x50, 0x84, 0xfd, 0x13, 0x98,
+ 0x7b, 0x46, 0x49, 0x40, 0xa2, 0xae, 0x99, 0x6e, 0x2d, 0xc1, 0x4c, 0x2c, 0x59, 0xed, 0xd2, 0xad,
+ 0xd2, 0x6a, 0xc3, 0xd1, 0x94, 0xfd, 0x10, 0x6a, 0x5d, 0xb6, 0x87, 0x83, 0x21, 0x8e, 0xb8, 0x65,
+ 0xc1, 0x14, 0x3f, 0x4b, 0xb0, 0x16, 0x91, 0xdf, 0x56, 0x1b, 0xae, 0x44, 0xa3, 0xe1, 0x00, 0x53,
+ 0xd6, 0x2e, 0xdf, 0xaa, 0xac, 0x36, 0x1c, 0x43, 0xda, 0x8f, 0x60, 0xae, 0xcb, 0x76, 0x11, 0x3f,
+ 0xca, 0x56, 0xf9, 0x08, 0xaa, 0x4c, 0xe9, 0x62, 0xed, 0xd2, 0xad, 0xca, 0x6a, 0x7d, 0x6d, 0xe1,
+ 0xbe, 0xb1, 0xf8, 0x7e, 0xba, 0x8e, 0x93, 0x0a, 0xd9, 0xf7, 0xa0, 0xb5, 0x83, 0x5f, 0xf0, 0x2f,
+ 0xe2, 0x24, 0x53, 0xb2, 0x0c, 0xd5, 0x08, 0xbf, 0xe0, 0xee, 0x51, 0x9c, 0x48, 0x4b, 0x6a, 0xce,
+ 0x95, 0x48, 0xc9, 0xd8, 0x77, 0x60, 0x69, 0x7b, 0x14, 0x72, 0xb2, 0xf5, 0x82, 0xf0, 0x4d, 0xc2,
+ 0xbc, 0x6c, 0x52, 0x0b, 0x2a, 0x43, 0xec, 0x6b, 0xcb, 0xc5, 0xa7, 0xfd, 0x00, 0xac, 0x7e, 0xec,
+ 0xa1, 0x70, 0x97, 0xe2, 0xc3, 0x4c, 0xee, 0x06, 0x40, 0x28, 0xb8, 0x6e, 0x42, 0xf1, 0xa1, 0x16,
+ 0xaf, 0x85, 0x46, 0xce, 0x5e, 0x81, 0x76, 0x97, 0xc7, 0x43, 0xe2, 0x75, 0x83, 0x80, 0xe2, 0x00,
+ 0x71, 0x9c, 0x4e, 0xb5, 0x7f, 0x09, 0x0b, 0x86, 0x1b, 0xd3, 0x4c, 0x63, 0x13, 0xca, 0x48, 0xf8,
+ 0x46, 0x68, 0x2a, 0x23, 0x26, 0x1c, 0x86, 0x7c, 0x9f, 0x62, 0xc6, 0xda, 0x15, 0x65, 0xbd, 0x26,
+ 0xed, 0x9f, 0xc3, 0xe2, 0x46, 0x3c, 0x1c, 0x8e, 0x22, 0xc2, 0x09, 0x66, 0x99, 0x86, 0x5b, 0x50,
+ 0xf7, 0x32, 0xbe, 0x74, 0x5c, 0xc3, 0xc9, 0xb3, 0xec, 0x0f, 0xe0, 0xaa, 0x3a, 0x50, 0xb1, 0x74,
+ 0xcf, 0x2f, 0x2c, 0x4e, 0x7c, 0xed, 0xa5, 0x32, 0xf1, 0xed, 0x55, 0x58, 0xdc, 0x08, 0x47, 0x8c,
+ 0x63, 0xda, 0x27, 0x8c, 0x17, 0xdc, 0x43, 0x7c, 0xa5, 0xba, 0xe6, 0x88, 0x4f, 0xfb, 0x0b, 0x98,
+ 0xeb, 0xed, 0x76, 0x95, 0x65, 0x62, 0xeb, 0xe4, 0x85, 0xf0, 0x4d, 0x22, 0xbf, 0xdc, 0x10, 0x1b,
+ 0x9c, 0xd4, 0x14, 0xa7, 0x8f, 0x23, 0x01, 0x21, 0x45, 0xc8, 0xcd, 0xd6, 0x1c, 0x4d, 0xd9, 0x01,
+ 0x2c, 0xf5, 0xd1, 0x00, 0x87, 0xd8, 0x1f, 0x57, 0xb8, 0x04, 0x33, 0xa1, 0x18, 0x31, 0x7b, 0xd2,
+ 0xd4, 0xd8, 0x42, 0xe5, 0x8b, 0x17, 0xaa, 0x14, 0x16, 0xba, 0x07, 0xf3, 0x5b, 0x91, 0x87, 0x12,
+ 0x36, 0x0a, 0x11, 0x27, 0x71, 0xb4, 0xd3, 0x77, 0x7a, 0x79, 0x77, 0x97, 0x8a, 0xee, 0xde, 0x85,
+ 0xeb, 0x4e, 0x3c, 0xe2, 0x78, 0x93, 0x30, 0x4e, 0xa2, 0x60, 0x44, 0xd8, 0x11, 0xa6, 0xfb, 0xa7,
+ 0xf1, 0x33, 0x8f, 0x63, 0xde, 0xdd, 0xb3, 0x16, 0x61, 0x1a, 0xf9, 0xc3, 0xf4, 0x46, 0x28, 0xc2,
+ 0x5a, 0x81, 0x2a, 0x62, 0x8c, 0x04, 0x11, 0xf6, 0xb5, 0x65, 0x29, 0x6d, 0x3f, 0x83, 0x6b, 0xe7,
+ 0x35, 0xa6, 0x9b, 0x2e, 0x2a, 0xac, 0xbd, 0x8a, 0xc2, 0x2f, 0xe1, 0xc6, 0x79, 0x85, 0x8f, 0xe3,
+ 0x11, 0xfd, 0xee, 0x36, 0x6e, 0xc1, 0xf2, 0x16, 0x3f, 0xc2, 0x34, 0xc2, 0x5c, 0x5f, 0xb7, 0x9e,
+ 0x8f, 0x23, 0x4e, 0x0e, 0x09, 0xa6, 0x13, 0x2f, 0xf8, 0x22, 0x4c, 0x9f, 0xa0, 0x70, 0x84, 0xa5,
+ 0xa6, 0x59, 0x47, 0x11, 0xf6, 0x7f, 0x4a, 0xf0, 0xce, 0xd6, 0xc1, 0xee, 0x8e, 0xd1, 0xd5, 0x1d,
+ 0xf1, 0x58, 0xdc, 0xb8, 0xf8, 0x04, 0xd3, 0x33, 0x69, 0xb3, 0xf5, 0x2e, 0x94, 0xa9, 0xc2, 0x5e,
+ 0x7d, 0x6d, 0xf1, 0x7e, 0x10, 0xc7, 0x41, 0xa8, 0xc3, 0xd4, 0x60, 0x74, 0x78, 0xbf, 0x1b, 0x9d,
+ 0x39, 0x65, 0xea, 0x5b, 0x9f, 0x40, 0x05, 0x33, 0x22, 0x95, 0xd7, 0xd7, 0x6e, 0x67, 0xd1, 0xe0,
+ 0x42, 0x23, 0x1d, 0x21, 0x6f, 0xfd, 0x18, 0x66, 0xb1, 0x96, 0x70, 0x39, 0x0a, 0x24, 0x12, 0x1a,
+ 0x4e, 0xdd, 0xf0, 0xf6, 0x51, 0x20, 0x0c, 0x97, 0x78, 0x6a, 0x4f, 0x29, 0xdf, 0x48, 0xc2, 0xfe,
+ 0x5f, 0x09, 0xae, 0x09, 0xc3, 0xb7, 0xbb, 0x1b, 0xe2, 0x64, 0x4e, 0x30, 0xe5, 0x84, 0x61, 0x19,
+ 0x76, 0xde, 0x0a, 0xab, 0x6f, 0x42, 0x7d, 0x88, 0x3c, 0xd7, 0x60, 0x76, 0x4a, 0x42, 0x05, 0x86,
+ 0xc8, 0x33, 0x28, 0xba, 0x01, 0x40, 0x92, 0x74, 0x7c, 0x5a, 0x8e, 0xd7, 0x48, 0x62, 0x86, 0xb3,
+ 0x3b, 0x35, 0x93, 0xbf, 0x53, 0xf6, 0xdf, 0x4b, 0xf0, 0xbe, 0xd8, 0x77, 0x2f, 0xf2, 0xc2, 0x11,
+ 0x23, 0x27, 0x58, 0x06, 0x4a, 0x0f, 0x31, 0xbe, 0x95, 0xad, 0xfe, 0x3a, 0x2e, 0x18, 0xdf, 0x4b,
+ 0xf9, 0xfc, 0x5e, 0x8a, 0xa6, 0x56, 0xc6, 0x4c, 0xb5, 0xff, 0x51, 0x82, 0x76, 0x1e, 0x43, 0x26,
+ 0xfc, 0xff, 0xf0, 0xe7, 0x70, 0x89, 0x61, 0xdf, 0x94, 0x61, 0x5e, 0xfa, 0x6a, 0x57, 0x05, 0xaa,
+ 0xb7, 0x03, 0x19, 0xd7, 0xa0, 0x46, 0x12, 0x57, 0x47, 0x3e, 0x85, 0x8b, 0x2a, 0x49, 0x74, 0x28,
+ 0xb5, 0xa1, 0x91, 0x0e, 0xca, 0xa8, 0x39, 0xad, 0x14, 0x18, 0x01, 0x11, 0x37, 0x6f, 0x00, 0x04,
+ 0xa7, 0xe9, 0xae, 0x67, 0xd4, 0xae, 0x83, 0xd3, 0x5c, 0x78, 0x52, 0xf7, 0xe5, 0x4a, 0xfe, 0xbe,
+ 0xfc, 0x01, 0x9a, 0xca, 0x15, 0xdb, 0x7b, 0xbd, 0xef, 0x19, 0x1e, 0x42, 0x11, 0x97, 0x3b, 0xbd,
+ 0x58, 0x11, 0x17, 0xc0, 0x5d, 0xd6, 0xf9, 0x43, 0xda, 0xf1, 0x6a, 0x29, 0x44, 0x19, 0x59, 0xbe,
+ 0xc4, 0xc8, 0x62, 0xa2, 0xa9, 0x5c, 0x9c, 0x68, 0xa6, 0x0a, 0x89, 0xe6, 0x4b, 0x58, 0x96, 0xae,
+ 0xd8, 0x47, 0x34, 0xc0, 0x7c, 0x1b, 0xcb, 0x7a, 0xe7, 0x88, 0x24, 0x32, 0xe1, 0xa8, 0x7c, 0x5f,
+ 0x4a, 0xf3, 0xbd, 0xda, 0x65, 0xf9, 0x92, 0x5d, 0x8e, 0xa0, 0xf5, 0x38, 0x8c, 0x4f, 0xf7, 0x12,
+ 0xec, 0x19, 0xd4, 0x4d, 0x8c, 0xc6, 0xdf, 0x2d, 0x35, 0xca, 0xf2, 0xee, 0xf0, 0x90, 0x61, 0xae,
+ 0x83, 0xa1, 0xa6, 0xec, 0xcf, 0xa0, 0x6e, 0x96, 0xdd, 0xee, 0x6e, 0x5c, 0x54, 0xe0, 0x19, 0xc8,
+ 0x94, 0x8b, 0x09, 0xf4, 0x73, 0xb8, 0x6a, 0x26, 0x6f, 0xc4, 0xc3, 0x24, 0x8e, 0x04, 0xae, 0x39,
+ 0x1e, 0x0a, 0x17, 0xe8, 0xda, 0xac, 0xe1, 0x94, 0xe3, 0xa4, 0x98, 0x42, 0xa6, 0x4c, 0x0a, 0xf9,
+ 0x2d, 0xcc, 0x9f, 0x9b, 0x3e, 0xd1, 0x82, 0x4f, 0x60, 0x9a, 0x70, 0x3c, 0x54, 0x05, 0x66, 0x7d,
+ 0xed, 0x66, 0x76, 0xa9, 0x26, 0x2e, 0xef, 0x28, 0x69, 0xfb, 0x53, 0x98, 0x35, 0xe3, 0xf2, 0x60,
+ 0xee, 0xc0, 0x34, 0x1d, 0x85, 0xd8, 0x54, 0x9e, 0x93, 0xcf, 0x42, 0x89, 0xd8, 0x1e, 0xcc, 0x1d,
+ 0xec, 0xee, 0x14, 0xa6, 0xbf, 0x1a, 0xec, 0xd3, 0x45, 0xca, 0x97, 0x2f, 0xb2, 0x0e, 0xf0, 0x2c,
+ 0x41, 0x5f, 0x8f, 0xb0, 0xd4, 0xdf, 0x82, 0xca, 0x31, 0x3e, 0x93, 0x0b, 0xcc, 0x3a, 0xe2, 0xf3,
+ 0x82, 0xcc, 0xfb, 0xef, 0x12, 0xb4, 0xfa, 0x6c, 0x27, 0xf6, 0xf1, 0x26, 0x66, 0x1e, 0x25, 0x09,
+ 0x8f, 0xa9, 0x98, 0x8c, 0x98, 0xa9, 0x02, 0xc4, 0xa7, 0xb5, 0x02, 0xb5, 0x41, 0x90, 0xb8, 0x21,
+ 0x73, 0x89, 0x29, 0x02, 0xae, 0x0c, 0x82, 0xa4, 0xcf, 0x7a, 0xbe, 0x75, 0x0b, 0x66, 0x63, 0x96,
+ 0x1c, 0xba, 0x88, 0x62, 0x24, 0x86, 0x15, 0xf0, 0x41, 0xf0, 0xba, 0x14, 0xa3, 0x9e, 0x6f, 0xbd,
+ 0x03, 0x90, 0x30, 0x3c, 0xf2, 0xe3, 0x28, 0xf6, 0xb1, 0xc4, 0x4c, 0xd5, 0xc9, 0x71, 0x64, 0xb8,
+ 0x09, 0x12, 0x97, 0x8a, 0x5b, 0x40, 0x85, 0x0a, 0x95, 0x87, 0xea, 0x24, 0x48, 0xe4, 0xcd, 0xa0,
+ 0x3d, 0xdf, 0xfe, 0xb6, 0x2c, 0x0c, 0xed, 0x93, 0xe8, 0x38, 0x67, 0xa8, 0x0d, 0x8d, 0x90, 0x44,
+ 0xc7, 0xae, 0x2a, 0xb2, 0x89, 0xa9, 0xc8, 0xeb, 0x82, 0x29, 0xcb, 0xf1, 0x9e, 0x6f, 0xbd, 0x0b,
+ 0x4d, 0x29, 0x43, 0xf1, 0x30, 0xe6, 0x38, 0xb3, 0x7f, 0x56, 0x70, 0x1d, 0xc9, 0xec, 0xf9, 0xd6,
+ 0x7d, 0x58, 0x20, 0x11, 0xc7, 0xf4, 0x10, 0x79, 0x58, 0x06, 0x35, 0x97, 0x24, 0x27, 0xeb, 0x1a,
+ 0xf7, 0xf3, 0xe9, 0x90, 0x08, 0x17, 0xbd, 0xe4, 0x64, 0xdd, 0xfa, 0x10, 0xac, 0x08, 0x93, 0xe0,
+ 0x68, 0x10, 0xd3, 0x9c, 0xb8, 0xba, 0xd8, 0x2d, 0x33, 0x92, 0x4a, 0x4f, 0xd4, 0xde, 0xd1, 0xdb,
+ 0x3c, 0xa7, 0xbd, 0x33, 0x51, 0x7b, 0x47, 0xc7, 0xd8, 0x71, 0xed, 0x1d, 0x1b, 0x83, 0xd5, 0xd7,
+ 0x11, 0x2c, 0xe7, 0x9b, 0x0f, 0x60, 0x8e, 0x24, 0x2e, 0xc5, 0xc8, 0x3b, 0x42, 0x03, 0x12, 0x12,
+ 0x7e, 0xa6, 0x0b, 0xf2, 0x26, 0x49, 0x9c, 0x1c, 0xd7, 0x7a, 0x1f, 0xe6, 0xe4, 0xf9, 0x49, 0xf7,
+ 0xbb, 0xf2, 0xbe, 0xa8, 0xab, 0xd9, 0x10, 0x6c, 0x15, 0x9a, 0xce, 0x12, 0x6c, 0x3f, 0x01, 0x50,
+ 0x48, 0x91, 0x00, 0x7b, 0x68, 0x9e, 0x36, 0xf2, 0x4c, 0x15, 0x90, 0x57, 0xb2, 0xbb, 0x34, 0x8e,
+ 0x29, 0xfd, 0xec, 0x11, 0x4c, 0xfb, 0xbf, 0x25, 0xa1, 0x49, 0x1c, 0xe5, 0x1b, 0x6a, 0xb2, 0x3e,
+ 0x83, 0xba, 0x3e, 0x56, 0x39, 0xb7, 0x7c, 0xe9, 0x5c, 0x50, 0xe2, 0x72, 0xf2, 0x06, 0xcc, 0x49,
+ 0x60, 0xf8, 0xe9, 0xb0, 0xce, 0x1e, 0x05, 0x05, 0x45, 0xc4, 0x39, 0x12, 0x4b, 0x19, 0x2d, 0xaa,
+ 0x8e, 0xa6, 0x71, 0xfe, 0xc1, 0xfa, 0x9b, 0xee, 0xa7, 0x07, 0xf3, 0x3a, 0x1e, 0xe7, 0x8c, 0x52,
+ 0xbb, 0xba, 0x9e, 0xd7, 0x30, 0x7e, 0xd8, 0x4e, 0x2b, 0x19, 0xe3, 0x14, 0x0d, 0xeb, 0xbc, 0x45,
+ 0x86, 0x0d, 0x60, 0xb6, 0xcf, 0x04, 0x76, 0x75, 0x5e, 0x5a, 0xcd, 0xc5, 0xe8, 0xa6, 0x0c, 0x71,
+ 0x99, 0x3d, 0x7d, 0xa7, 0x27, 0xa0, 0xa7, 0x23, 0xf7, 0x2a, 0x4c, 0x45, 0x21, 0x25, 0x2f, 0xcd,
+ 0x7e, 0x52, 0xc2, 0xfe, 0xa6, 0x04, 0x8b, 0xdb, 0x0a, 0xe5, 0x42, 0x47, 0xf6, 0x32, 0x5d, 0x85,
+ 0x99, 0x43, 0x34, 0x24, 0xe1, 0x99, 0xde, 0x7e, 0x2b, 0x17, 0xfd, 0x25, 0xdf, 0xd1, 0xe3, 0xa2,
+ 0x3e, 0x32, 0x7d, 0x01, 0x15, 0x7e, 0x6b, 0x4e, 0x55, 0x37, 0x06, 0x98, 0x88, 0xcb, 0x62, 0x1d,
+ 0x51, 0xec, 0xbd, 0x24, 0x2e, 0x4b, 0x11, 0x3b, 0x82, 0xa5, 0xed, 0xe4, 0x79, 0x44, 0xdf, 0xc4,
+ 0x98, 0xd7, 0x59, 0xef, 0xaf, 0x25, 0x58, 0x49, 0xdf, 0x9d, 0x4c, 0x24, 0x1c, 0x72, 0x48, 0xbc,
+ 0xad, 0x17, 0x1c, 0x47, 0x3e, 0xf6, 0xad, 0xdb, 0xd0, 0x20, 0xcc, 0xe5, 0x14, 0x45, 0x8c, 0x70,
+ 0x72, 0xa2, 0xfc, 0x5e, 0x75, 0x66, 0x09, 0xdb, 0x4f, 0x79, 0xd6, 0x32, 0x54, 0xd9, 0x68, 0x90,
+ 0xc5, 0x82, 0x86, 0x73, 0x85, 0x8d, 0x06, 0xe2, 0x28, 0x74, 0x41, 0x52, 0x49, 0x0b, 0x92, 0x9b,
+ 0x50, 0x57, 0xa0, 0x52, 0x2f, 0x47, 0x55, 0x10, 0x28, 0x9c, 0x75, 0x05, 0xc7, 0xfe, 0xb6, 0x04,
+ 0xd7, 0x7a, 0xbb, 0x27, 0xeb, 0xba, 0xd2, 0xfa, 0xde, 0x0d, 0xba, 0xb0, 0x03, 0x72, 0xb9, 0x69,
+ 0x7f, 0x2b, 0xc1, 0xb5, 0xec, 0xfd, 0xfb, 0x16, 0xf8, 0xea, 0x0e, 0x58, 0x07, 0x28, 0x24, 0xbe,
+ 0x6c, 0x38, 0xa4, 0x66, 0x2c, 0xc2, 0x34, 0xe3, 0x88, 0x9b, 0x32, 0x46, 0x11, 0xf6, 0x7b, 0xd0,
+ 0xd8, 0x88, 0xc3, 0x98, 0xe6, 0xc5, 0x3c, 0xc1, 0x30, 0x62, 0x92, 0xb0, 0x7f, 0x0a, 0x0d, 0xd9,
+ 0xc6, 0x48, 0xc5, 0x6e, 0x42, 0x9d, 0x8f, 0xa2, 0x08, 0x87, 0x6e, 0xae, 0x34, 0x02, 0xc5, 0x92,
+ 0x71, 0xbe, 0x0d, 0x4b, 0x9b, 0xf8, 0x10, 0x8d, 0x42, 0xfe, 0x04, 0x71, 0x7c, 0x8a, 0xce, 0xcc,
+ 0x54, 0xfb, 0x29, 0x34, 0x55, 0x89, 0xf1, 0x7a, 0x1e, 0x4a, 0x2b, 0x8f, 0x4a, 0xbe, 0xf2, 0x70,
+ 0xa0, 0xb5, 0xb5, 0xd7, 0x93, 0xb5, 0x78, 0xaa, 0x6e, 0x15, 0x5a, 0x84, 0xb9, 0x8c, 0x44, 0x41,
+ 0x88, 0x5d, 0xe4, 0xe5, 0x34, 0x36, 0x09, 0xdb, 0x93, 0xec, 0xae, 0x67, 0x74, 0xaa, 0xe7, 0x45,
+ 0x39, 0xff, 0xbc, 0x58, 0x83, 0x85, 0xad, 0xbd, 0xde, 0x30, 0x89, 0x29, 0xcf, 0x95, 0xd4, 0xe2,
+ 0x2e, 0x63, 0xe6, 0x12, 0xc9, 0xd7, 0xed, 0x92, 0x2a, 0x66, 0x4a, 0xce, 0x7e, 0x0e, 0x0b, 0xdb,
+ 0xc8, 0xdb, 0x8e, 0x55, 0x36, 0x4c, 0x4d, 0x11, 0xef, 0x23, 0xe6, 0x32, 0x4e, 0xbc, 0xe3, 0x33,
+ 0x6d, 0x43, 0x95, 0xb0, 0x3d, 0x49, 0x8b, 0xe7, 0x08, 0xc3, 0x5f, 0x8f, 0x70, 0xe4, 0x61, 0x37,
+ 0x1a, 0x0d, 0xcd, 0x73, 0xc4, 0xf0, 0x76, 0x46, 0x43, 0xfb, 0x3d, 0x98, 0x57, 0xb5, 0xcb, 0x36,
+ 0xca, 0x00, 0xd5, 0x82, 0xca, 0x10, 0x79, 0xda, 0x04, 0xf1, 0x69, 0x3f, 0x84, 0x85, 0x7d, 0x8a,
+ 0x0e, 0x0f, 0x89, 0xe7, 0x20, 0x9e, 0xf9, 0x75, 0xbc, 0xec, 0xb7, 0x60, 0x8a, 0x0a, 0x04, 0x88,
+ 0x85, 0xca, 0x8e, 0xfc, 0xb6, 0x9f, 0xc2, 0x55, 0x3d, 0x55, 0xf8, 0x24, 0x87, 0x97, 0x15, 0xa8,
+ 0x72, 0x4c, 0x87, 0x24, 0x42, 0xa1, 0xb1, 0xdc, 0xd0, 0xa2, 0x74, 0x67, 0x68, 0x98, 0x84, 0x4a,
+ 0x55, 0xd5, 0xd1, 0x94, 0xfd, 0x1c, 0x6c, 0x07, 0xfb, 0x84, 0x62, 0x8f, 0xbf, 0x24, 0x78, 0x8c,
+ 0x9b, 0x35, 0x06, 0xe8, 0xf2, 0x39, 0x40, 0xff, 0x0e, 0x6e, 0x1b, 0xb5, 0x2f, 0x8b, 0x01, 0x17,
+ 0xb6, 0xd5, 0x2e, 0x5f, 0xe1, 0x20, 0x5b, 0xe1, 0x65, 0x57, 0xf9, 0xb5, 0x2d, 0xbf, 0x9b, 0x7a,
+ 0xd7, 0xc1, 0x43, 0x44, 0x8f, 0x53, 0x4d, 0x16, 0x4c, 0xf9, 0xcc, 0x33, 0x0f, 0x12, 0xf9, 0x6d,
+ 0x7f, 0x06, 0x73, 0xcf, 0xa3, 0xe3, 0x28, 0x3e, 0x8d, 0xf2, 0x62, 0xaf, 0xd8, 0xfc, 0x3a, 0x80,
+ 0xeb, 0x66, 0xd6, 0xc4, 0x86, 0x6d, 0xe7, 0x7c, 0xc3, 0xf6, 0xa2, 0x14, 0x50, 0x68, 0xe3, 0x6e,
+ 0x40, 0xab, 0xcb, 0xd6, 0xdf, 0xb0, 0x65, 0xfe, 0x08, 0x96, 0xba, 0x6c, 0xfd, 0xcd, 0x3a, 0xd1,
+ 0x18, 0x16, 0x76, 0x87, 0x8c, 0xec, 0xcb, 0x10, 0x93, 0x29, 0x58, 0x84, 0xe9, 0xc3, 0x10, 0x05,
+ 0xe6, 0x54, 0x14, 0x91, 0xfa, 0xad, 0x5c, 0xf4, 0x9b, 0xba, 0xec, 0x95, 0xdc, 0x65, 0xd7, 0xdd,
+ 0xe8, 0x29, 0xe9, 0xca, 0x32, 0xf1, 0xed, 0x5f, 0xc1, 0x3b, 0x6a, 0x09, 0x19, 0xef, 0xf6, 0x46,
+ 0x83, 0xfd, 0xfe, 0x41, 0xa1, 0x83, 0x9b, 0x7f, 0x14, 0x35, 0xd4, 0xa3, 0x68, 0x09, 0x66, 0xbc,
+ 0x38, 0x3e, 0x26, 0xe6, 0x48, 0x34, 0x65, 0xff, 0x0c, 0x96, 0xcf, 0xe9, 0xda, 0x15, 0x9e, 0xf6,
+ 0xe2, 0x50, 0xdc, 0xaf, 0x44, 0x7f, 0x6b, 0x5d, 0x29, 0x6d, 0xdf, 0x87, 0xa5, 0x73, 0x13, 0x65,
+ 0x98, 0xbe, 0x20, 0x3c, 0x6f, 0x42, 0xfb, 0x9c, 0xbc, 0x86, 0xd2, 0x6b, 0x40, 0x68, 0x07, 0x9a,
+ 0x39, 0x2d, 0xfb, 0xfd, 0x83, 0x89, 0x73, 0x45, 0xa5, 0x15, 0x9e, 0xbc, 0xfc, 0x31, 0x29, 0x25,
+ 0xec, 0x4d, 0x58, 0xcc, 0xe9, 0xcb, 0x8e, 0xec, 0x43, 0xad, 0x41, 0x41, 0xa7, 0x9d, 0x41, 0xa7,
+ 0xb8, 0xba, 0xd6, 0xa2, 0x33, 0x7f, 0xe7, 0x2d, 0xcc, 0xfc, 0xc5, 0xb8, 0xd4, 0xf9, 0x01, 0xe2,
+ 0xd2, 0x6f, 0xe0, 0x66, 0x6f, 0xb7, 0xf3, 0x83, 0x5c, 0xec, 0x3b, 0xd0, 0xea, 0x92, 0x40, 0x38,
+ 0xba, 0xf7, 0x64, 0x77, 0x1b, 0x73, 0x4a, 0x3c, 0x01, 0xe4, 0xa1, 0xfc, 0x92, 0x86, 0x4e, 0x39,
+ 0x9a, 0xb2, 0x3f, 0x85, 0xa6, 0x96, 0x7d, 0x7d, 0x54, 0x3d, 0x84, 0x86, 0x98, 0x9b, 0x2f, 0x58,
+ 0xf3, 0xc7, 0xff, 0x32, 0x00, 0x8d, 0xa0, 0xd9, 0x17, 0xb9, 0xd7, 0xec, 0x5b, 0xa6, 0xcc, 0x20,
+ 0x8c, 0x07, 0xa9, 0xc7, 0xf4, 0x4b, 0x5d, 0xf1, 0xa4, 0xcb, 0x32, 0x9f, 0xfa, 0x88, 0xa3, 0x8f,
+ 0x0b, 0x3e, 0xdd, 0x14, 0x9c, 0xa2, 0xc0, 0x9a, 0x69, 0x34, 0xa4, 0x02, 0x6b, 0xf6, 0x57, 0xb0,
+ 0x5c, 0x58, 0xb6, 0xe0, 0xee, 0x4f, 0x27, 0xb9, 0x3b, 0x87, 0xe1, 0xa2, 0xc1, 0x45, 0x97, 0xff,
+ 0xb3, 0x04, 0x75, 0xf5, 0x3e, 0x7a, 0x2c, 0xa3, 0xd4, 0x0a, 0x54, 0xe3, 0x13, 0x4c, 0xc3, 0x18,
+ 0xf9, 0x26, 0xc5, 0x1a, 0x5a, 0xfe, 0x2f, 0xe1, 0x1c, 0x79, 0x47, 0xfa, 0x7f, 0x49, 0xd5, 0x49,
+ 0x69, 0x31, 0x86, 0x5f, 0x70, 0x4c, 0x45, 0x6a, 0xae, 0xa8, 0x31, 0x43, 0xcb, 0xae, 0xcb, 0x80,
+ 0xea, 0xf6, 0x88, 0xf8, 0x14, 0x87, 0xaa, 0x7a, 0x22, 0xb2, 0x53, 0x50, 0x75, 0x34, 0x25, 0x22,
+ 0x9f, 0x6e, 0x07, 0x54, 0x9d, 0xf2, 0x49, 0xc7, 0xfe, 0x8b, 0x7c, 0x50, 0xf7, 0x9e, 0xec, 0x3e,
+ 0x36, 0x21, 0xd4, 0x8f, 0x4f, 0x23, 0x6d, 0x98, 0xfc, 0xb6, 0x6e, 0x00, 0x44, 0xb1, 0x3b, 0x8a,
+ 0x64, 0x8f, 0x5e, 0x9b, 0x55, 0x8b, 0xe2, 0xe7, 0x8a, 0x21, 0xae, 0xa2, 0x81, 0x73, 0x76, 0xa1,
+ 0xaa, 0xce, 0xac, 0x06, 0xb4, 0xc2, 0xfc, 0x7b, 0xd0, 0x4c, 0x68, 0x9c, 0xa0, 0x00, 0x89, 0x07,
+ 0x37, 0x63, 0x48, 0xdb, 0xda, 0x48, 0xb9, 0x3b, 0x8c, 0x21, 0xfb, 0x01, 0xd4, 0xfa, 0x6c, 0x8f,
+ 0x3a, 0x28, 0x0a, 0x24, 0xb2, 0x06, 0x38, 0xfb, 0x11, 0xac, 0x08, 0xb1, 0x55, 0x1c, 0x99, 0x46,
+ 0x8c, 0xf8, 0x14, 0xaf, 0x96, 0x96, 0x98, 0xb5, 0x81, 0x12, 0xd5, 0x97, 0x20, 0x58, 0x2e, 0x48,
+ 0x92, 0x93, 0x75, 0x97, 0x8d, 0x12, 0x51, 0xaa, 0x61, 0xe3, 0xeb, 0x86, 0xe0, 0xee, 0x19, 0xa6,
+ 0x16, 0xeb, 0xe4, 0xc4, 0xca, 0xa9, 0x58, 0x27, 0x13, 0xbb, 0x0b, 0x33, 0x54, 0xd8, 0x64, 0x5e,
+ 0x51, 0x0b, 0xf9, 0xa7, 0xa6, 0xb6, 0xd7, 0xd1, 0x22, 0xf6, 0xe7, 0xe2, 0xf5, 0xbc, 0x47, 0x65,
+ 0x13, 0xe9, 0x51, 0x18, 0x7b, 0xc7, 0xb9, 0xe9, 0xa5, 0xcb, 0xa7, 0xff, 0xb9, 0x02, 0x73, 0xfd,
+ 0x0c, 0x7b, 0xf2, 0x0d, 0x6d, 0xc1, 0x54, 0x84, 0x86, 0x58, 0x47, 0x12, 0xf9, 0x6d, 0xdd, 0x35,
+ 0x39, 0x50, 0xbd, 0x69, 0xaf, 0x8e, 0xbf, 0xc6, 0xe5, 0x81, 0x9a, 0xd4, 0xf8, 0x3e, 0xcc, 0xa9,
+ 0x43, 0xca, 0x1a, 0x65, 0x2a, 0xee, 0xa9, 0xb3, 0x33, 0xad, 0x32, 0xeb, 0x2e, 0x58, 0x63, 0x72,
+ 0xee, 0x49, 0x47, 0xf7, 0xa6, 0xe6, 0x0a, 0xa2, 0x07, 0x1d, 0x55, 0xe7, 0x12, 0x26, 0xbb, 0x77,
+ 0x12, 0x66, 0xb3, 0xa2, 0xce, 0x25, 0xac, 0x4b, 0x31, 0x92, 0x8d, 0x5e, 0x59, 0xf0, 0x4b, 0xb0,
+ 0xcd, 0x3a, 0x9a, 0xb2, 0x36, 0x60, 0x8e, 0x51, 0xd7, 0xcb, 0x9d, 0x95, 0x6c, 0xf3, 0x8f, 0xb5,
+ 0x13, 0x8a, 0xa7, 0xe9, 0x34, 0x59, 0xf1, 0x74, 0x6f, 0x43, 0x83, 0x51, 0x17, 0x85, 0x41, 0x4c,
+ 0x09, 0x3f, 0x1a, 0xb2, 0x76, 0x55, 0xae, 0x31, 0xcb, 0x68, 0x37, 0xe5, 0x59, 0xbf, 0x80, 0x26,
+ 0xa3, 0xba, 0xbf, 0x37, 0x10, 0xe7, 0xd0, 0xae, 0xc9, 0x85, 0xda, 0xc5, 0x85, 0xb2, 0x73, 0x12,
+ 0xf3, 0x33, 0xca, 0xfe, 0xd3, 0x54, 0xe1, 0x20, 0xfa, 0x24, 0x3a, 0x9e, 0x78, 0x10, 0x13, 0x7c,
+ 0x5b, 0x7e, 0x75, 0xdf, 0x56, 0x26, 0xfb, 0x76, 0x15, 0x5a, 0xba, 0x3d, 0x95, 0x69, 0x55, 0xc7,
+ 0xd0, 0x54, 0xfc, 0x54, 0xed, 0x3d, 0x58, 0x18, 0x97, 0x74, 0xd3, 0x06, 0x61, 0xab, 0x28, 0x7c,
+ 0xd0, 0x11, 0x81, 0x50, 0x46, 0x51, 0x37, 0xa0, 0xf1, 0x28, 0x91, 0x87, 0xd3, 0x70, 0x40, 0xb2,
+ 0x9e, 0x08, 0x8e, 0x75, 0x07, 0xe6, 0x7d, 0xf5, 0x86, 0x73, 0x39, 0x76, 0x75, 0x66, 0x50, 0x7f,
+ 0x62, 0xe6, 0xf4, 0xc0, 0x3e, 0xd6, 0xa9, 0xe3, 0x06, 0x00, 0x09, 0x12, 0x23, 0x54, 0x55, 0x3f,
+ 0x01, 0x48, 0x90, 0x64, 0x99, 0x45, 0x63, 0xa0, 0x56, 0xc0, 0xc0, 0x75, 0xa8, 0x0d, 0x50, 0xe4,
+ 0x9f, 0x12, 0x9f, 0x1f, 0xb5, 0x41, 0xbe, 0x4b, 0x32, 0x86, 0xf5, 0x31, 0x2c, 0x52, 0xcc, 0x30,
+ 0x3d, 0x41, 0x83, 0x10, 0xbb, 0x99, 0x60, 0x5d, 0x0a, 0x2e, 0x64, 0x63, 0x8f, 0xf2, 0x53, 0x46,
+ 0x91, 0x1a, 0xc0, 0x7e, 0x6e, 0xca, 0xec, 0xad, 0x8a, 0x98, 0x92, 0x8d, 0x65, 0x53, 0x56, 0xa1,
+ 0x25, 0x20, 0xe4, 0xff, 0x1e, 0x79, 0x38, 0xf2, 0xce, 0x5c, 0x46, 0xfc, 0x76, 0x43, 0x6e, 0xa0,
+ 0xc9, 0x68, 0xd7, 0xb0, 0xf7, 0x88, 0x6f, 0xff, 0xb1, 0x04, 0xf3, 0x39, 0x1c, 0xe8, 0xde, 0xd3,
+ 0xc7, 0x20, 0x36, 0xea, 0x66, 0x65, 0x68, 0xbd, 0xd8, 0x80, 0x32, 0x21, 0xd5, 0xa9, 0x92, 0x20,
+ 0x51, 0xc1, 0x35, 0x73, 0x47, 0xb9, 0xe0, 0x0e, 0x5b, 0xa2, 0x59, 0x37, 0xc9, 0x58, 0xda, 0x06,
+ 0xaf, 0x33, 0xdd, 0xe7, 0x12, 0x46, 0xfc, 0x4b, 0x66, 0x91, 0x2c, 0x23, 0xdd, 0x83, 0xa9, 0x5c,
+ 0x2b, 0x6e, 0x39, 0xbf, 0x72, 0x21, 0x74, 0x38, 0x52, 0x4c, 0x88, 0x87, 0x24, 0x3a, 0xd6, 0xb1,
+ 0x62, 0xb2, 0xb8, 0x00, 0xb8, 0x23, 0xc5, 0xac, 0x07, 0x85, 0xbf, 0x37, 0xf5, 0xb5, 0x6b, 0x13,
+ 0x27, 0xe8, 0x7f, 0x92, 0xe6, 0x67, 0x94, 0x03, 0x2d, 0x5d, 0x28, 0x7c, 0xc7, 0x42, 0xfd, 0xfc,
+ 0x4b, 0xff, 0x0e, 0x93, 0x8d, 0x63, 0xdd, 0xcb, 0xb3, 0x16, 0x60, 0xae, 0xbf, 0xe7, 0x0a, 0xd2,
+ 0x7d, 0xbe, 0xf3, 0x74, 0xe7, 0xd9, 0x57, 0x3b, 0xad, 0x1f, 0x59, 0x2d, 0x98, 0x35, 0xcc, 0x9d,
+ 0x67, 0x9b, 0x5b, 0xad, 0x52, 0x9e, 0xd3, 0xef, 0xed, 0x3c, 0x6d, 0x95, 0xad, 0xab, 0x30, 0x6f,
+ 0x38, 0xbb, 0xce, 0xd6, 0xe3, 0xde, 0xaf, 0xdd, 0x83, 0xf5, 0x56, 0x65, 0x12, 0xbb, 0xd3, 0x9a,
+ 0x1a, 0xcc, 0xc8, 0xaa, 0xe4, 0xc1, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x16, 0x22, 0xb6,
+ 0xd5, 0x24, 0x00, 0x00,
}
diff --git a/api/attribute.proto b/api/attribute.proto
index ad4767ae..4cf844f3 100644
--- a/api/attribute.proto
+++ b/api/attribute.proto
@@ -183,6 +183,18 @@ message EVPNIPPrefixRoute {
uint32 label = 7;
}
+// EVPNIPMSIRoute represents the NLRI for:
+// - AFI=25, SAFI=70, RouteType=9
+message EVPNIPMSIRoute {
+ // One of:
+ // - RouteDistinguisherTwoOctetAS
+ // - RouteDistinguisherIPAddressAS
+ // - RouteDistinguisherFourOctetAS
+ google.protobuf.Any rd = 1;
+ uint32 ethernet_tag = 2;
+ google.protobuf.Any rt = 3;
+}
+
// LabeledVPNIPAddressPrefix represents the NLRI for:
// - AFI=1, SAFI=128
// - AFI=2, SAFI=128
@@ -342,6 +354,7 @@ message MpReachNLRIAttribute {
// - EVPNInclusiveMulticastEthernetTagRoute
// - EVPNEthernetSegmentRoute
// - EVPNIPPrefixRoute
+ // - EVPNIPMSIRoute
// - LabeledVPNIPAddressPrefix
// - RouteTargetMembershipNLRI
// - FlowSpecNLRI
diff --git a/api/gobgp.pb.go b/api/gobgp.pb.go
index d83be884..111535e4 100644
--- a/api/gobgp.pb.go
+++ b/api/gobgp.pb.go
@@ -2265,6 +2265,7 @@ type Path struct {
// - EVPNInclusiveMulticastEthernetTagRoute
// - EVPNEthernetSegmentRoute
// - EVPNIPPrefixRoute
+ // - EVPNIPMSIRoute
// - LabeledVPNIPAddressPrefix
// - RouteTargetMembershipNLRI
// - FlowSpecNLRI
diff --git a/api/gobgp.proto b/api/gobgp.proto
index 6fc61b73..398d7bd2 100644
--- a/api/gobgp.proto
+++ b/api/gobgp.proto
@@ -518,6 +518,7 @@ message Path {
// - EVPNInclusiveMulticastEthernetTagRoute
// - EVPNEthernetSegmentRoute
// - EVPNIPPrefixRoute
+ // - EVPNIPMSIRoute
// - LabeledVPNIPAddressPrefix
// - RouteTargetMembershipNLRI
// - FlowSpecNLRI