// Code generated by protoc-gen-go. DO NOT EDIT. // source: router.proto package router import ( fmt "fmt" proto "github.com/golang/protobuf/proto" math "math" ) // 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.ProtoPackageIsVersion3 // please upgrade the proto package // AdvertType defines the type of advert type AdvertType int32 const ( AdvertType_AdvertAnnounce AdvertType = 0 AdvertType_AdvertUpdate AdvertType = 1 ) var AdvertType_name = map[int32]string{ 0: "AdvertAnnounce", 1: "AdvertUpdate", } var AdvertType_value = map[string]int32{ "AdvertAnnounce": 0, "AdvertUpdate": 1, } func (x AdvertType) String() string { return proto.EnumName(AdvertType_name, int32(x)) } func (AdvertType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{0} } // EventType defines the type of event type EventType int32 const ( EventType_Create EventType = 0 EventType_Delete EventType = 1 EventType_Update EventType = 2 ) var EventType_name = map[int32]string{ 0: "Create", 1: "Delete", 2: "Update", } var EventType_value = map[string]int32{ "Create": 0, "Delete": 1, "Update": 2, } func (x EventType) String() string { return proto.EnumName(EventType_name, int32(x)) } func (EventType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{1} } // LookupRequest is made to Lookup type LookupRequest struct { Query *Query `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *LookupRequest) Reset() { *m = LookupRequest{} } func (m *LookupRequest) String() string { return proto.CompactTextString(m) } func (*LookupRequest) ProtoMessage() {} func (*LookupRequest) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{0} } func (m *LookupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_LookupRequest.Unmarshal(m, b) } func (m *LookupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_LookupRequest.Marshal(b, m, deterministic) } func (m *LookupRequest) XXX_Merge(src proto.Message) { xxx_messageInfo_LookupRequest.Merge(m, src) } func (m *LookupRequest) XXX_Size() int { return xxx_messageInfo_LookupRequest.Size(m) } func (m *LookupRequest) XXX_DiscardUnknown() { xxx_messageInfo_LookupRequest.DiscardUnknown(m) } var xxx_messageInfo_LookupRequest proto.InternalMessageInfo func (m *LookupRequest) GetQuery() *Query { if m != nil { return m.Query } return nil } // LookupResponse is returned by Lookup type LookupResponse struct { Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *LookupResponse) Reset() { *m = LookupResponse{} } func (m *LookupResponse) String() string { return proto.CompactTextString(m) } func (*LookupResponse) ProtoMessage() {} func (*LookupResponse) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{1} } func (m *LookupResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_LookupResponse.Unmarshal(m, b) } func (m *LookupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_LookupResponse.Marshal(b, m, deterministic) } func (m *LookupResponse) XXX_Merge(src proto.Message) { xxx_messageInfo_LookupResponse.Merge(m, src) } func (m *LookupResponse) XXX_Size() int { return xxx_messageInfo_LookupResponse.Size(m) } func (m *LookupResponse) XXX_DiscardUnknown() { xxx_messageInfo_LookupResponse.DiscardUnknown(m) } var xxx_messageInfo_LookupResponse proto.InternalMessageInfo func (m *LookupResponse) GetRoutes() []*Route { if m != nil { return m.Routes } return nil } // WatchRequest is made to Watch Router type WatchRequest struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *WatchRequest) Reset() { *m = WatchRequest{} } func (m *WatchRequest) String() string { return proto.CompactTextString(m) } func (*WatchRequest) ProtoMessage() {} func (*WatchRequest) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{2} } func (m *WatchRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_WatchRequest.Unmarshal(m, b) } func (m *WatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_WatchRequest.Marshal(b, m, deterministic) } func (m *WatchRequest) XXX_Merge(src proto.Message) { xxx_messageInfo_WatchRequest.Merge(m, src) } func (m *WatchRequest) XXX_Size() int { return xxx_messageInfo_WatchRequest.Size(m) } func (m *WatchRequest) XXX_DiscardUnknown() { xxx_messageInfo_WatchRequest.DiscardUnknown(m) } var xxx_messageInfo_WatchRequest proto.InternalMessageInfo // AdvertiseRequest request a stream of Adverts type AdvertiseRequest struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *AdvertiseRequest) Reset() { *m = AdvertiseRequest{} } func (m *AdvertiseRequest) String() string { return proto.CompactTextString(m) } func (*AdvertiseRequest) ProtoMessage() {} func (*AdvertiseRequest) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{3} } func (m *AdvertiseRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdvertiseRequest.Unmarshal(m, b) } func (m *AdvertiseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AdvertiseRequest.Marshal(b, m, deterministic) } func (m *AdvertiseRequest) XXX_Merge(src proto.Message) { xxx_messageInfo_AdvertiseRequest.Merge(m, src) } func (m *AdvertiseRequest) XXX_Size() int { return xxx_messageInfo_AdvertiseRequest.Size(m) } func (m *AdvertiseRequest) XXX_DiscardUnknown() { xxx_messageInfo_AdvertiseRequest.DiscardUnknown(m) } var xxx_messageInfo_AdvertiseRequest proto.InternalMessageInfo // Advert is router advertsement streamed by Watch type Advert struct { // id of the advertising router Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // type of advertisement Type AdvertType `protobuf:"varint,2,opt,name=type,proto3,enum=AdvertType" json:"type,omitempty"` // unix timestamp of the advertisement Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // TTL of the Advert Ttl int64 `protobuf:"varint,4,opt,name=ttl,proto3" json:"ttl,omitempty"` // events is a list of advertised events Events []*Event `protobuf:"bytes,5,rep,name=events,proto3" json:"events,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Advert) Reset() { *m = Advert{} } func (m *Advert) String() string { return proto.CompactTextString(m) } func (*Advert) ProtoMessage() {} func (*Advert) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{4} } func (m *Advert) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Advert.Unmarshal(m, b) } func (m *Advert) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Advert.Marshal(b, m, deterministic) } func (m *Advert) XXX_Merge(src proto.Message) { xxx_messageInfo_Advert.Merge(m, src) } func (m *Advert) XXX_Size() int { return xxx_messageInfo_Advert.Size(m) } func (m *Advert) XXX_DiscardUnknown() { xxx_messageInfo_Advert.DiscardUnknown(m) } var xxx_messageInfo_Advert proto.InternalMessageInfo func (m *Advert) GetId() string { if m != nil { return m.Id } return "" } func (m *Advert) GetType() AdvertType { if m != nil { return m.Type } return AdvertType_AdvertAnnounce } func (m *Advert) GetTimestamp() int64 { if m != nil { return m.Timestamp } return 0 } func (m *Advert) GetTtl() int64 { if m != nil { return m.Ttl } return 0 } func (m *Advert) GetEvents() []*Event { if m != nil { return m.Events } return nil } // ProcessResponse is returned by Process type ProcessResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ProcessResponse) Reset() { *m = ProcessResponse{} } func (m *ProcessResponse) String() string { return proto.CompactTextString(m) } func (*ProcessResponse) ProtoMessage() {} func (*ProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{5} } func (m *ProcessResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ProcessResponse.Unmarshal(m, b) } func (m *ProcessResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ProcessResponse.Marshal(b, m, deterministic) } func (m *ProcessResponse) XXX_Merge(src proto.Message) { xxx_messageInfo_ProcessResponse.Merge(m, src) } func (m *ProcessResponse) XXX_Size() int { return xxx_messageInfo_ProcessResponse.Size(m) } func (m *ProcessResponse) XXX_DiscardUnknown() { xxx_messageInfo_ProcessResponse.DiscardUnknown(m) } var xxx_messageInfo_ProcessResponse proto.InternalMessageInfo // Event is routing table event type Event struct { // type of event Type EventType `protobuf:"varint,1,opt,name=type,proto3,enum=EventType" json:"type,omitempty"` // unix timestamp of event Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // service route Route *Route `protobuf:"bytes,3,opt,name=route,proto3" json:"route,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Event) Reset() { *m = Event{} } func (m *Event) String() string { return proto.CompactTextString(m) } func (*Event) ProtoMessage() {} func (*Event) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{6} } func (m *Event) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Event.Unmarshal(m, b) } func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Event.Marshal(b, m, deterministic) } func (m *Event) XXX_Merge(src proto.Message) { xxx_messageInfo_Event.Merge(m, src) } func (m *Event) XXX_Size() int { return xxx_messageInfo_Event.Size(m) } func (m *Event) XXX_DiscardUnknown() { xxx_messageInfo_Event.DiscardUnknown(m) } var xxx_messageInfo_Event proto.InternalMessageInfo func (m *Event) GetType() EventType { if m != nil { return m.Type } return EventType_Create } func (m *Event) GetTimestamp() int64 { if m != nil { return m.Timestamp } return 0 } func (m *Event) GetRoute() *Route { if m != nil { return m.Route } return nil } // ListRequest is made to List routes type ListRequest struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ListRequest) Reset() { *m = ListRequest{} } func (m *ListRequest) String() string { return proto.CompactTextString(m) } func (*ListRequest) ProtoMessage() {} func (*ListRequest) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{7} } func (m *ListRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListRequest.Unmarshal(m, b) } func (m *ListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ListRequest.Marshal(b, m, deterministic) } func (m *ListRequest) XXX_Merge(src proto.Message) { xxx_messageInfo_ListRequest.Merge(m, src) } func (m *ListRequest) XXX_Size() int { return xxx_messageInfo_ListRequest.Size(m) } func (m *ListRequest) XXX_DiscardUnknown() { xxx_messageInfo_ListRequest.DiscardUnknown(m) } var xxx_messageInfo_ListRequest proto.InternalMessageInfo // ListResponse is returned by List type ListResponse struct { Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ListResponse) Reset() { *m = ListResponse{} } func (m *ListResponse) String() string { return proto.CompactTextString(m) } func (*ListResponse) ProtoMessage() {} func (*ListResponse) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{8} } func (m *ListResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListResponse.Unmarshal(m, b) } func (m *ListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ListResponse.Marshal(b, m, deterministic) } func (m *ListResponse) XXX_Merge(src proto.Message) { xxx_messageInfo_ListResponse.Merge(m, src) } func (m *ListResponse) XXX_Size() int { return xxx_messageInfo_ListResponse.Size(m) } func (m *ListResponse) XXX_DiscardUnknown() { xxx_messageInfo_ListResponse.DiscardUnknown(m) } var xxx_messageInfo_ListResponse proto.InternalMessageInfo func (m *ListResponse) GetRoutes() []*Route { if m != nil { return m.Routes } return nil } // Query is passed in a LookupRequest type Query struct { // service to lookup Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Query) Reset() { *m = Query{} } func (m *Query) String() string { return proto.CompactTextString(m) } func (*Query) ProtoMessage() {} func (*Query) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{9} } func (m *Query) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Query.Unmarshal(m, b) } func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Query.Marshal(b, m, deterministic) } func (m *Query) XXX_Merge(src proto.Message) { xxx_messageInfo_Query.Merge(m, src) } func (m *Query) XXX_Size() int { return xxx_messageInfo_Query.Size(m) } func (m *Query) XXX_DiscardUnknown() { xxx_messageInfo_Query.DiscardUnknown(m) } var xxx_messageInfo_Query proto.InternalMessageInfo func (m *Query) GetService() string { if m != nil { return m.Service } return "" } // Route is a service route type Route struct { // service for the route Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` // the address that advertise this route Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // gateway as the next hop Gateway string `protobuf:"bytes,3,opt,name=gateway,proto3" json:"gateway,omitempty"` // the network for this destination Network string `protobuf:"bytes,4,opt,name=network,proto3" json:"network,omitempty"` // the network link Link string `protobuf:"bytes,5,opt,name=link,proto3" json:"link,omitempty"` // the metric / score of this route Metric int64 `protobuf:"varint,6,opt,name=metric,proto3" json:"metric,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Route) Reset() { *m = Route{} } func (m *Route) String() string { return proto.CompactTextString(m) } func (*Route) ProtoMessage() {} func (*Route) Descriptor() ([]byte, []int) { return fileDescriptor_367072455c71aedc, []int{10} } func (m *Route) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Route.Unmarshal(m, b) } func (m *Route) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Route.Marshal(b, m, deterministic) } func (m *Route) XXX_Merge(src proto.Message) { xxx_messageInfo_Route.Merge(m, src) } func (m *Route) XXX_Size() int { return xxx_messageInfo_Route.Size(m) } func (m *Route) XXX_DiscardUnknown() { xxx_messageInfo_Route.DiscardUnknown(m) } var xxx_messageInfo_Route proto.InternalMessageInfo func (m *Route) GetService() string { if m != nil { return m.Service } return "" } func (m *Route) GetAddress() string { if m != nil { return m.Address } return "" } func (m *Route) GetGateway() string { if m != nil { return m.Gateway } return "" } func (m *Route) GetNetwork() string { if m != nil { return m.Network } return "" } func (m *Route) GetLink() string { if m != nil { return m.Link } return "" } func (m *Route) GetMetric() int64 { if m != nil { return m.Metric } return 0 } func init() { proto.RegisterEnum("AdvertType", AdvertType_name, AdvertType_value) proto.RegisterEnum("EventType", EventType_name, EventType_value) proto.RegisterType((*LookupRequest)(nil), "LookupRequest") proto.RegisterType((*LookupResponse)(nil), "LookupResponse") proto.RegisterType((*WatchRequest)(nil), "WatchRequest") proto.RegisterType((*AdvertiseRequest)(nil), "AdvertiseRequest") proto.RegisterType((*Advert)(nil), "Advert") proto.RegisterType((*ProcessResponse)(nil), "ProcessResponse") proto.RegisterType((*Event)(nil), "Event") proto.RegisterType((*ListRequest)(nil), "ListRequest") proto.RegisterType((*ListResponse)(nil), "ListResponse") proto.RegisterType((*Query)(nil), "Query") proto.RegisterType((*Route)(nil), "Route") } func init() { proto.RegisterFile("router.proto", fileDescriptor_367072455c71aedc) } var fileDescriptor_367072455c71aedc = []byte{ // 508 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x51, 0x6e, 0xd3, 0x40, 0x10, 0xf5, 0x26, 0xb1, 0x2b, 0x4f, 0x13, 0xd7, 0x9d, 0x0f, 0x64, 0x45, 0x55, 0x09, 0x2b, 0x81, 0xa2, 0x56, 0x2c, 0x55, 0x38, 0x41, 0x05, 0xfc, 0xf5, 0x03, 0x56, 0x20, 0xbe, 0x8d, 0x3d, 0x02, 0x2b, 0x89, 0xed, 0xee, 0x6e, 0x52, 0xe5, 0x08, 0x9c, 0x81, 0x73, 0x71, 0x1f, 0xb4, 0xeb, 0x75, 0x93, 0x46, 0xaa, 0xc4, 0xdf, 0xbc, 0x37, 0x33, 0xeb, 0xe7, 0x37, 0x33, 0x30, 0x56, 0xcd, 0xc6, 0x90, 0x12, 0xad, 0x6a, 0x4c, 0xc3, 0xdf, 0xc2, 0xe4, 0xae, 0x69, 0x96, 0x9b, 0x56, 0xd2, 0xfd, 0x86, 0xb4, 0xc1, 0x0b, 0x08, 0xef, 0x37, 0xa4, 0x76, 0x19, 0x9b, 0xb1, 0xf9, 0xe9, 0x22, 0x12, 0x5f, 0x2c, 0x92, 0x1d, 0xc9, 0x6f, 0x20, 0xe9, 0xcb, 0x75, 0xdb, 0xd4, 0x9a, 0xf0, 0x12, 0x22, 0xf7, 0xa0, 0xce, 0xd8, 0x6c, 0xe8, 0x1a, 0xa4, 0x85, 0xd2, 0xb3, 0x3c, 0x81, 0xf1, 0xf7, 0xdc, 0x14, 0xbf, 0xfc, 0xfb, 0x1c, 0x21, 0xbd, 0x2d, 0xb7, 0xa4, 0x4c, 0xa5, 0xa9, 0xe7, 0x7e, 0x33, 0x88, 0x3a, 0x12, 0x13, 0x18, 0x54, 0xa5, 0xfb, 0x76, 0x2c, 0x07, 0x55, 0x89, 0x2f, 0x61, 0x64, 0x76, 0x2d, 0x65, 0x83, 0x19, 0x9b, 0x27, 0x8b, 0x53, 0xd1, 0x95, 0x7d, 0xdd, 0xb5, 0x24, 0x5d, 0x02, 0x2f, 0x20, 0x36, 0xd5, 0x9a, 0xb4, 0xc9, 0xd7, 0x6d, 0x36, 0x9c, 0xb1, 0xf9, 0x50, 0xee, 0x09, 0x4c, 0x61, 0x68, 0xcc, 0x2a, 0x1b, 0x39, 0xde, 0x86, 0x56, 0x2f, 0x6d, 0xa9, 0x36, 0x3a, 0x0b, 0xbd, 0xde, 0x4f, 0x16, 0x4a, 0xcf, 0xf2, 0x73, 0x38, 0xfb, 0xac, 0x9a, 0x82, 0xb4, 0xee, 0x7f, 0x91, 0x17, 0x10, 0xba, 0x1a, 0xbc, 0xf4, 0x62, 0x98, 0x13, 0x03, 0x5d, 0xe7, 0x73, 0x5a, 0x06, 0xc7, 0x5a, 0x2e, 0x20, 0x74, 0x9e, 0x38, 0x95, 0x7b, 0xa3, 0x3a, 0x92, 0x4f, 0xe0, 0xf4, 0xae, 0xd2, 0xa6, 0xb7, 0x44, 0xc0, 0xb8, 0x83, 0xff, 0x69, 0xf3, 0x2b, 0x08, 0xdd, 0xa0, 0x30, 0x83, 0x13, 0x4d, 0x6a, 0x5b, 0x15, 0xe4, 0x5d, 0xec, 0x21, 0xff, 0xc3, 0x20, 0x74, 0x4d, 0xcf, 0xd7, 0xd8, 0x4c, 0x5e, 0x96, 0x8a, 0xb4, 0x76, 0xfa, 0x63, 0xd9, 0x43, 0x9b, 0xf9, 0x99, 0x1b, 0x7a, 0xc8, 0x77, 0x4e, 0x7f, 0x2c, 0x7b, 0x68, 0x33, 0x35, 0x99, 0x87, 0x46, 0x2d, 0x9d, 0xcf, 0xb1, 0xec, 0x21, 0x22, 0x8c, 0x56, 0x55, 0xbd, 0xcc, 0x42, 0x47, 0xbb, 0x18, 0x5f, 0x40, 0xb4, 0x26, 0xa3, 0xaa, 0x22, 0x8b, 0x9c, 0x41, 0x1e, 0x5d, 0x2d, 0x00, 0xf6, 0xb3, 0x45, 0x84, 0xa4, 0x43, 0xb7, 0x75, 0xdd, 0x6c, 0xea, 0x82, 0xd2, 0x00, 0x53, 0x18, 0x77, 0xdc, 0xb7, 0xb6, 0xcc, 0x0d, 0xa5, 0xec, 0xea, 0x1d, 0xc4, 0x8f, 0x23, 0x40, 0x80, 0xe8, 0x83, 0x22, 0x9b, 0x08, 0x6c, 0xfc, 0x91, 0x56, 0x64, 0x8b, 0x6c, 0xec, 0x1b, 0x06, 0x8b, 0xbf, 0x0c, 0x22, 0x67, 0x81, 0x42, 0x0e, 0xa1, 0xdb, 0x4b, 0x9c, 0x88, 0xc3, 0xfd, 0x9c, 0xfa, 0x7d, 0xe0, 0xc1, 0x0d, 0xc3, 0x6b, 0x88, 0xba, 0x6d, 0xc7, 0x44, 0x3c, 0xb9, 0x92, 0xe9, 0x99, 0x78, 0x7a, 0x06, 0x3c, 0xc0, 0xd7, 0x30, 0xb2, 0x13, 0xc3, 0xb1, 0x38, 0x98, 0xe3, 0x74, 0x22, 0x0e, 0xc7, 0xc8, 0x03, 0xbc, 0x86, 0xf8, 0x71, 0xff, 0xf1, 0x5c, 0x1c, 0xdf, 0xc2, 0xf4, 0xc4, 0x53, 0x4e, 0xc0, 0x1b, 0x38, 0xf1, 0xcb, 0x88, 0x3d, 0x3f, 0x4d, 0xc5, 0xf1, 0x7e, 0x06, 0x3f, 0x22, 0x77, 0xcc, 0xef, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x05, 0x67, 0xe4, 0x0e, 0xdc, 0x03, 0x00, 0x00, }