// Code generated by protoc-gen-go. DO NOT EDIT.
// source: ns/ns.proto

package ns

import (
	context "context"
	fmt "fmt"
	common "github.com/brocaar/chirpstack-api/go/v3/common"
	gw "github.com/brocaar/chirpstack-api/go/v3/gw"
	proto "github.com/golang/protobuf/proto"
	duration "github.com/golang/protobuf/ptypes/duration"
	empty "github.com/golang/protobuf/ptypes/empty"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	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

type RXWindow int32

const (
	// Receive window 1
	RXWindow_RX1 RXWindow = 0
	// Receive window 2
	RXWindow_RX2 RXWindow = 1
)

var RXWindow_name = map[int32]string{
	0: "RX1",
	1: "RX2",
}

var RXWindow_value = map[string]int32{
	"RX1": 0,
	"RX2": 1,
}

func (x RXWindow) String() string {
	return proto.EnumName(RXWindow_name, int32(x))
}

func (RXWindow) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{0}
}

type AggregationInterval int32

const (
	AggregationInterval_SECOND  AggregationInterval = 0
	AggregationInterval_MINUTE  AggregationInterval = 1
	AggregationInterval_HOUR    AggregationInterval = 2
	AggregationInterval_DAY     AggregationInterval = 3
	AggregationInterval_WEEK    AggregationInterval = 4
	AggregationInterval_MONTH   AggregationInterval = 5
	AggregationInterval_QUARTER AggregationInterval = 6
	AggregationInterval_YEAR    AggregationInterval = 7
)

var AggregationInterval_name = map[int32]string{
	0: "SECOND",
	1: "MINUTE",
	2: "HOUR",
	3: "DAY",
	4: "WEEK",
	5: "MONTH",
	6: "QUARTER",
	7: "YEAR",
}

var AggregationInterval_value = map[string]int32{
	"SECOND":  0,
	"MINUTE":  1,
	"HOUR":    2,
	"DAY":     3,
	"WEEK":    4,
	"MONTH":   5,
	"QUARTER": 6,
	"YEAR":    7,
}

func (x AggregationInterval) String() string {
	return proto.EnumName(AggregationInterval_name, int32(x))
}

func (AggregationInterval) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{1}
}

type MulticastGroupType int32

const (
	// Class-C.
	MulticastGroupType_CLASS_C MulticastGroupType = 0
	// Class-B.
	MulticastGroupType_CLASS_B MulticastGroupType = 1
)

var MulticastGroupType_name = map[int32]string{
	0: "CLASS_C",
	1: "CLASS_B",
}

var MulticastGroupType_value = map[string]int32{
	"CLASS_C": 0,
	"CLASS_B": 1,
}

func (x MulticastGroupType) String() string {
	return proto.EnumName(MulticastGroupType_name, int32(x))
}

func (MulticastGroupType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{2}
}

type CreateServiceProfileRequest struct {
	// Service-profile object to create.
	ServiceProfile       *ServiceProfile `protobuf:"bytes,1,opt,name=service_profile,json=serviceProfile,proto3" json:"service_profile,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CreateServiceProfileRequest) Reset()         { *m = CreateServiceProfileRequest{} }
func (m *CreateServiceProfileRequest) String() string { return proto.CompactTextString(m) }
func (*CreateServiceProfileRequest) ProtoMessage()    {}
func (*CreateServiceProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{0}
}

func (m *CreateServiceProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateServiceProfileRequest.Unmarshal(m, b)
}
func (m *CreateServiceProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateServiceProfileRequest.Marshal(b, m, deterministic)
}
func (m *CreateServiceProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateServiceProfileRequest.Merge(m, src)
}
func (m *CreateServiceProfileRequest) XXX_Size() int {
	return xxx_messageInfo_CreateServiceProfileRequest.Size(m)
}
func (m *CreateServiceProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateServiceProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateServiceProfileRequest proto.InternalMessageInfo

func (m *CreateServiceProfileRequest) GetServiceProfile() *ServiceProfile {
	if m != nil {
		return m.ServiceProfile
	}
	return nil
}

type CreateServiceProfileResponse struct {
	// ID of the created service-profile.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateServiceProfileResponse) Reset()         { *m = CreateServiceProfileResponse{} }
func (m *CreateServiceProfileResponse) String() string { return proto.CompactTextString(m) }
func (*CreateServiceProfileResponse) ProtoMessage()    {}
func (*CreateServiceProfileResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{1}
}

func (m *CreateServiceProfileResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateServiceProfileResponse.Unmarshal(m, b)
}
func (m *CreateServiceProfileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateServiceProfileResponse.Marshal(b, m, deterministic)
}
func (m *CreateServiceProfileResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateServiceProfileResponse.Merge(m, src)
}
func (m *CreateServiceProfileResponse) XXX_Size() int {
	return xxx_messageInfo_CreateServiceProfileResponse.Size(m)
}
func (m *CreateServiceProfileResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateServiceProfileResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CreateServiceProfileResponse proto.InternalMessageInfo

func (m *CreateServiceProfileResponse) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetServiceProfileRequest struct {
	// ID of the service-profile.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetServiceProfileRequest) Reset()         { *m = GetServiceProfileRequest{} }
func (m *GetServiceProfileRequest) String() string { return proto.CompactTextString(m) }
func (*GetServiceProfileRequest) ProtoMessage()    {}
func (*GetServiceProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{2}
}

func (m *GetServiceProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetServiceProfileRequest.Unmarshal(m, b)
}
func (m *GetServiceProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetServiceProfileRequest.Marshal(b, m, deterministic)
}
func (m *GetServiceProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetServiceProfileRequest.Merge(m, src)
}
func (m *GetServiceProfileRequest) XXX_Size() int {
	return xxx_messageInfo_GetServiceProfileRequest.Size(m)
}
func (m *GetServiceProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetServiceProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetServiceProfileRequest proto.InternalMessageInfo

func (m *GetServiceProfileRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetServiceProfileResponse struct {
	// Service-profile object.
	ServiceProfile *ServiceProfile `protobuf:"bytes,1,opt,name=service_profile,json=serviceProfile,proto3" json:"service_profile,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt            *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GetServiceProfileResponse) Reset()         { *m = GetServiceProfileResponse{} }
func (m *GetServiceProfileResponse) String() string { return proto.CompactTextString(m) }
func (*GetServiceProfileResponse) ProtoMessage()    {}
func (*GetServiceProfileResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{3}
}

func (m *GetServiceProfileResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetServiceProfileResponse.Unmarshal(m, b)
}
func (m *GetServiceProfileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetServiceProfileResponse.Marshal(b, m, deterministic)
}
func (m *GetServiceProfileResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetServiceProfileResponse.Merge(m, src)
}
func (m *GetServiceProfileResponse) XXX_Size() int {
	return xxx_messageInfo_GetServiceProfileResponse.Size(m)
}
func (m *GetServiceProfileResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetServiceProfileResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetServiceProfileResponse proto.InternalMessageInfo

func (m *GetServiceProfileResponse) GetServiceProfile() *ServiceProfile {
	if m != nil {
		return m.ServiceProfile
	}
	return nil
}

func (m *GetServiceProfileResponse) GetCreatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.CreatedAt
	}
	return nil
}

func (m *GetServiceProfileResponse) GetUpdatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.UpdatedAt
	}
	return nil
}

type UpdateServiceProfileRequest struct {
	// Service-profile object to update.
	ServiceProfile       *ServiceProfile `protobuf:"bytes,1,opt,name=service_profile,json=serviceProfile,proto3" json:"service_profile,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *UpdateServiceProfileRequest) Reset()         { *m = UpdateServiceProfileRequest{} }
func (m *UpdateServiceProfileRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateServiceProfileRequest) ProtoMessage()    {}
func (*UpdateServiceProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{4}
}

func (m *UpdateServiceProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateServiceProfileRequest.Unmarshal(m, b)
}
func (m *UpdateServiceProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateServiceProfileRequest.Marshal(b, m, deterministic)
}
func (m *UpdateServiceProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateServiceProfileRequest.Merge(m, src)
}
func (m *UpdateServiceProfileRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateServiceProfileRequest.Size(m)
}
func (m *UpdateServiceProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateServiceProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateServiceProfileRequest proto.InternalMessageInfo

func (m *UpdateServiceProfileRequest) GetServiceProfile() *ServiceProfile {
	if m != nil {
		return m.ServiceProfile
	}
	return nil
}

type DeleteServiceProfileRequest struct {
	// ID of the service-profile.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteServiceProfileRequest) Reset()         { *m = DeleteServiceProfileRequest{} }
func (m *DeleteServiceProfileRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteServiceProfileRequest) ProtoMessage()    {}
func (*DeleteServiceProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{5}
}

func (m *DeleteServiceProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteServiceProfileRequest.Unmarshal(m, b)
}
func (m *DeleteServiceProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteServiceProfileRequest.Marshal(b, m, deterministic)
}
func (m *DeleteServiceProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteServiceProfileRequest.Merge(m, src)
}
func (m *DeleteServiceProfileRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteServiceProfileRequest.Size(m)
}
func (m *DeleteServiceProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteServiceProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteServiceProfileRequest proto.InternalMessageInfo

func (m *DeleteServiceProfileRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type CreateRoutingProfileRequest struct {
	// Routing-profile object to create.
	RoutingProfile       *RoutingProfile `protobuf:"bytes,1,opt,name=routing_profile,json=routingProfile,proto3" json:"routing_profile,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CreateRoutingProfileRequest) Reset()         { *m = CreateRoutingProfileRequest{} }
func (m *CreateRoutingProfileRequest) String() string { return proto.CompactTextString(m) }
func (*CreateRoutingProfileRequest) ProtoMessage()    {}
func (*CreateRoutingProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{6}
}

func (m *CreateRoutingProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateRoutingProfileRequest.Unmarshal(m, b)
}
func (m *CreateRoutingProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateRoutingProfileRequest.Marshal(b, m, deterministic)
}
func (m *CreateRoutingProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateRoutingProfileRequest.Merge(m, src)
}
func (m *CreateRoutingProfileRequest) XXX_Size() int {
	return xxx_messageInfo_CreateRoutingProfileRequest.Size(m)
}
func (m *CreateRoutingProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateRoutingProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateRoutingProfileRequest proto.InternalMessageInfo

func (m *CreateRoutingProfileRequest) GetRoutingProfile() *RoutingProfile {
	if m != nil {
		return m.RoutingProfile
	}
	return nil
}

type CreateRoutingProfileResponse struct {
	// ID of the created routing-profile.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateRoutingProfileResponse) Reset()         { *m = CreateRoutingProfileResponse{} }
func (m *CreateRoutingProfileResponse) String() string { return proto.CompactTextString(m) }
func (*CreateRoutingProfileResponse) ProtoMessage()    {}
func (*CreateRoutingProfileResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{7}
}

func (m *CreateRoutingProfileResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateRoutingProfileResponse.Unmarshal(m, b)
}
func (m *CreateRoutingProfileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateRoutingProfileResponse.Marshal(b, m, deterministic)
}
func (m *CreateRoutingProfileResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateRoutingProfileResponse.Merge(m, src)
}
func (m *CreateRoutingProfileResponse) XXX_Size() int {
	return xxx_messageInfo_CreateRoutingProfileResponse.Size(m)
}
func (m *CreateRoutingProfileResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateRoutingProfileResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CreateRoutingProfileResponse proto.InternalMessageInfo

func (m *CreateRoutingProfileResponse) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetRoutingProfileRequest struct {
	// ID of the routing-profile.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetRoutingProfileRequest) Reset()         { *m = GetRoutingProfileRequest{} }
func (m *GetRoutingProfileRequest) String() string { return proto.CompactTextString(m) }
func (*GetRoutingProfileRequest) ProtoMessage()    {}
func (*GetRoutingProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{8}
}

func (m *GetRoutingProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetRoutingProfileRequest.Unmarshal(m, b)
}
func (m *GetRoutingProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetRoutingProfileRequest.Marshal(b, m, deterministic)
}
func (m *GetRoutingProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetRoutingProfileRequest.Merge(m, src)
}
func (m *GetRoutingProfileRequest) XXX_Size() int {
	return xxx_messageInfo_GetRoutingProfileRequest.Size(m)
}
func (m *GetRoutingProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetRoutingProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetRoutingProfileRequest proto.InternalMessageInfo

func (m *GetRoutingProfileRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetRoutingProfileResponse struct {
	// Routing-profile object.
	RoutingProfile *RoutingProfile `protobuf:"bytes,1,opt,name=routing_profile,json=routingProfile,proto3" json:"routing_profile,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt            *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GetRoutingProfileResponse) Reset()         { *m = GetRoutingProfileResponse{} }
func (m *GetRoutingProfileResponse) String() string { return proto.CompactTextString(m) }
func (*GetRoutingProfileResponse) ProtoMessage()    {}
func (*GetRoutingProfileResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{9}
}

func (m *GetRoutingProfileResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetRoutingProfileResponse.Unmarshal(m, b)
}
func (m *GetRoutingProfileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetRoutingProfileResponse.Marshal(b, m, deterministic)
}
func (m *GetRoutingProfileResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetRoutingProfileResponse.Merge(m, src)
}
func (m *GetRoutingProfileResponse) XXX_Size() int {
	return xxx_messageInfo_GetRoutingProfileResponse.Size(m)
}
func (m *GetRoutingProfileResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetRoutingProfileResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetRoutingProfileResponse proto.InternalMessageInfo

func (m *GetRoutingProfileResponse) GetRoutingProfile() *RoutingProfile {
	if m != nil {
		return m.RoutingProfile
	}
	return nil
}

func (m *GetRoutingProfileResponse) GetCreatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.CreatedAt
	}
	return nil
}

func (m *GetRoutingProfileResponse) GetUpdatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.UpdatedAt
	}
	return nil
}

type UpdateRoutingProfileRequest struct {
	// Routing-profile object to update.
	RoutingProfile       *RoutingProfile `protobuf:"bytes,1,opt,name=routing_profile,json=routingProfile,proto3" json:"routing_profile,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *UpdateRoutingProfileRequest) Reset()         { *m = UpdateRoutingProfileRequest{} }
func (m *UpdateRoutingProfileRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateRoutingProfileRequest) ProtoMessage()    {}
func (*UpdateRoutingProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{10}
}

func (m *UpdateRoutingProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateRoutingProfileRequest.Unmarshal(m, b)
}
func (m *UpdateRoutingProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateRoutingProfileRequest.Marshal(b, m, deterministic)
}
func (m *UpdateRoutingProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateRoutingProfileRequest.Merge(m, src)
}
func (m *UpdateRoutingProfileRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateRoutingProfileRequest.Size(m)
}
func (m *UpdateRoutingProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateRoutingProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateRoutingProfileRequest proto.InternalMessageInfo

func (m *UpdateRoutingProfileRequest) GetRoutingProfile() *RoutingProfile {
	if m != nil {
		return m.RoutingProfile
	}
	return nil
}

type DeleteRoutingProfileRequest struct {
	// Routing-profile ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteRoutingProfileRequest) Reset()         { *m = DeleteRoutingProfileRequest{} }
func (m *DeleteRoutingProfileRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteRoutingProfileRequest) ProtoMessage()    {}
func (*DeleteRoutingProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{11}
}

func (m *DeleteRoutingProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteRoutingProfileRequest.Unmarshal(m, b)
}
func (m *DeleteRoutingProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteRoutingProfileRequest.Marshal(b, m, deterministic)
}
func (m *DeleteRoutingProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteRoutingProfileRequest.Merge(m, src)
}
func (m *DeleteRoutingProfileRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteRoutingProfileRequest.Size(m)
}
func (m *DeleteRoutingProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteRoutingProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteRoutingProfileRequest proto.InternalMessageInfo

func (m *DeleteRoutingProfileRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type CreateDeviceProfileRequest struct {
	// Device-profile object to create.
	DeviceProfile        *DeviceProfile `protobuf:"bytes,1,opt,name=device_profile,json=deviceProfile,proto3" json:"device_profile,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *CreateDeviceProfileRequest) Reset()         { *m = CreateDeviceProfileRequest{} }
func (m *CreateDeviceProfileRequest) String() string { return proto.CompactTextString(m) }
func (*CreateDeviceProfileRequest) ProtoMessage()    {}
func (*CreateDeviceProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{12}
}

func (m *CreateDeviceProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateDeviceProfileRequest.Unmarshal(m, b)
}
func (m *CreateDeviceProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateDeviceProfileRequest.Marshal(b, m, deterministic)
}
func (m *CreateDeviceProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateDeviceProfileRequest.Merge(m, src)
}
func (m *CreateDeviceProfileRequest) XXX_Size() int {
	return xxx_messageInfo_CreateDeviceProfileRequest.Size(m)
}
func (m *CreateDeviceProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateDeviceProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateDeviceProfileRequest proto.InternalMessageInfo

func (m *CreateDeviceProfileRequest) GetDeviceProfile() *DeviceProfile {
	if m != nil {
		return m.DeviceProfile
	}
	return nil
}

type CreateDeviceProfileResponse struct {
	// ID of the created device-profile.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateDeviceProfileResponse) Reset()         { *m = CreateDeviceProfileResponse{} }
func (m *CreateDeviceProfileResponse) String() string { return proto.CompactTextString(m) }
func (*CreateDeviceProfileResponse) ProtoMessage()    {}
func (*CreateDeviceProfileResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{13}
}

func (m *CreateDeviceProfileResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateDeviceProfileResponse.Unmarshal(m, b)
}
func (m *CreateDeviceProfileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateDeviceProfileResponse.Marshal(b, m, deterministic)
}
func (m *CreateDeviceProfileResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateDeviceProfileResponse.Merge(m, src)
}
func (m *CreateDeviceProfileResponse) XXX_Size() int {
	return xxx_messageInfo_CreateDeviceProfileResponse.Size(m)
}
func (m *CreateDeviceProfileResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateDeviceProfileResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CreateDeviceProfileResponse proto.InternalMessageInfo

func (m *CreateDeviceProfileResponse) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetDeviceProfileRequest struct {
	// Device-profile ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetDeviceProfileRequest) Reset()         { *m = GetDeviceProfileRequest{} }
func (m *GetDeviceProfileRequest) String() string { return proto.CompactTextString(m) }
func (*GetDeviceProfileRequest) ProtoMessage()    {}
func (*GetDeviceProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{14}
}

func (m *GetDeviceProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDeviceProfileRequest.Unmarshal(m, b)
}
func (m *GetDeviceProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDeviceProfileRequest.Marshal(b, m, deterministic)
}
func (m *GetDeviceProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDeviceProfileRequest.Merge(m, src)
}
func (m *GetDeviceProfileRequest) XXX_Size() int {
	return xxx_messageInfo_GetDeviceProfileRequest.Size(m)
}
func (m *GetDeviceProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDeviceProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetDeviceProfileRequest proto.InternalMessageInfo

func (m *GetDeviceProfileRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetDeviceProfileResponse struct {
	// Device-profile object.
	DeviceProfile *DeviceProfile `protobuf:"bytes,1,opt,name=device_profile,json=deviceProfile,proto3" json:"device_profile,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt            *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GetDeviceProfileResponse) Reset()         { *m = GetDeviceProfileResponse{} }
func (m *GetDeviceProfileResponse) String() string { return proto.CompactTextString(m) }
func (*GetDeviceProfileResponse) ProtoMessage()    {}
func (*GetDeviceProfileResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{15}
}

func (m *GetDeviceProfileResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDeviceProfileResponse.Unmarshal(m, b)
}
func (m *GetDeviceProfileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDeviceProfileResponse.Marshal(b, m, deterministic)
}
func (m *GetDeviceProfileResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDeviceProfileResponse.Merge(m, src)
}
func (m *GetDeviceProfileResponse) XXX_Size() int {
	return xxx_messageInfo_GetDeviceProfileResponse.Size(m)
}
func (m *GetDeviceProfileResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDeviceProfileResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetDeviceProfileResponse proto.InternalMessageInfo

func (m *GetDeviceProfileResponse) GetDeviceProfile() *DeviceProfile {
	if m != nil {
		return m.DeviceProfile
	}
	return nil
}

func (m *GetDeviceProfileResponse) GetCreatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.CreatedAt
	}
	return nil
}

func (m *GetDeviceProfileResponse) GetUpdatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.UpdatedAt
	}
	return nil
}

type UpdateDeviceProfileRequest struct {
	// Device-profile object to update.
	DeviceProfile        *DeviceProfile `protobuf:"bytes,1,opt,name=device_profile,json=deviceProfile,proto3" json:"device_profile,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *UpdateDeviceProfileRequest) Reset()         { *m = UpdateDeviceProfileRequest{} }
func (m *UpdateDeviceProfileRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateDeviceProfileRequest) ProtoMessage()    {}
func (*UpdateDeviceProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{16}
}

func (m *UpdateDeviceProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateDeviceProfileRequest.Unmarshal(m, b)
}
func (m *UpdateDeviceProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateDeviceProfileRequest.Marshal(b, m, deterministic)
}
func (m *UpdateDeviceProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateDeviceProfileRequest.Merge(m, src)
}
func (m *UpdateDeviceProfileRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateDeviceProfileRequest.Size(m)
}
func (m *UpdateDeviceProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateDeviceProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateDeviceProfileRequest proto.InternalMessageInfo

func (m *UpdateDeviceProfileRequest) GetDeviceProfile() *DeviceProfile {
	if m != nil {
		return m.DeviceProfile
	}
	return nil
}

type DeleteDeviceProfileRequest struct {
	// Device-profile ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteDeviceProfileRequest) Reset()         { *m = DeleteDeviceProfileRequest{} }
func (m *DeleteDeviceProfileRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteDeviceProfileRequest) ProtoMessage()    {}
func (*DeleteDeviceProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{17}
}

func (m *DeleteDeviceProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteDeviceProfileRequest.Unmarshal(m, b)
}
func (m *DeleteDeviceProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteDeviceProfileRequest.Marshal(b, m, deterministic)
}
func (m *DeleteDeviceProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteDeviceProfileRequest.Merge(m, src)
}
func (m *DeleteDeviceProfileRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteDeviceProfileRequest.Size(m)
}
func (m *DeleteDeviceProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteDeviceProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteDeviceProfileRequest proto.InternalMessageInfo

func (m *DeleteDeviceProfileRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type Device struct {
	// DevEUI.
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Device-profile ID.
	DeviceProfileId []byte `protobuf:"bytes,2,opt,name=device_profile_id,json=deviceProfileId,proto3" json:"device_profile_id,omitempty"`
	// Service-profile ID.
	ServiceProfileId []byte `protobuf:"bytes,3,opt,name=service_profile_id,json=serviceProfileId,proto3" json:"service_profile_id,omitempty"`
	// Routing-profile ID.
	RoutingProfileId []byte `protobuf:"bytes,4,opt,name=routing_profile_id,json=routingProfileId,proto3" json:"routing_profile_id,omitempty"`
	// Skip frame-counter check.
	// Note that turning this on is insecure and is intended for debugging only.
	SkipFCntCheck bool `protobuf:"varint,5,opt,name=skip_f_cnt_check,json=skipFCntCheck,proto3" json:"skip_f_cnt_check,omitempty"`
	// Reference altitude.
	// When using geolocation, this altitude will be used as a reference
	// (when supported by the geolocation-server) to increase geolocation
	// accuracy.
	ReferenceAltitude float64 `protobuf:"fixed64,6,opt,name=reference_altitude,json=referenceAltitude,proto3" json:"reference_altitude,omitempty"`
	// Device is disabled.
	IsDisabled           bool     `protobuf:"varint,7,opt,name=is_disabled,json=isDisabled,proto3" json:"is_disabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Device) Reset()         { *m = Device{} }
func (m *Device) String() string { return proto.CompactTextString(m) }
func (*Device) ProtoMessage()    {}
func (*Device) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{18}
}

func (m *Device) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Device.Unmarshal(m, b)
}
func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Device.Marshal(b, m, deterministic)
}
func (m *Device) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Device.Merge(m, src)
}
func (m *Device) XXX_Size() int {
	return xxx_messageInfo_Device.Size(m)
}
func (m *Device) XXX_DiscardUnknown() {
	xxx_messageInfo_Device.DiscardUnknown(m)
}

var xxx_messageInfo_Device proto.InternalMessageInfo

func (m *Device) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *Device) GetDeviceProfileId() []byte {
	if m != nil {
		return m.DeviceProfileId
	}
	return nil
}

func (m *Device) GetServiceProfileId() []byte {
	if m != nil {
		return m.ServiceProfileId
	}
	return nil
}

func (m *Device) GetRoutingProfileId() []byte {
	if m != nil {
		return m.RoutingProfileId
	}
	return nil
}

func (m *Device) GetSkipFCntCheck() bool {
	if m != nil {
		return m.SkipFCntCheck
	}
	return false
}

func (m *Device) GetReferenceAltitude() float64 {
	if m != nil {
		return m.ReferenceAltitude
	}
	return 0
}

func (m *Device) GetIsDisabled() bool {
	if m != nil {
		return m.IsDisabled
	}
	return false
}

type CreateDeviceRequest struct {
	// Device object to create.
	Device               *Device  `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateDeviceRequest) Reset()         { *m = CreateDeviceRequest{} }
func (m *CreateDeviceRequest) String() string { return proto.CompactTextString(m) }
func (*CreateDeviceRequest) ProtoMessage()    {}
func (*CreateDeviceRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{19}
}

func (m *CreateDeviceRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateDeviceRequest.Unmarshal(m, b)
}
func (m *CreateDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateDeviceRequest.Marshal(b, m, deterministic)
}
func (m *CreateDeviceRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateDeviceRequest.Merge(m, src)
}
func (m *CreateDeviceRequest) XXX_Size() int {
	return xxx_messageInfo_CreateDeviceRequest.Size(m)
}
func (m *CreateDeviceRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateDeviceRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateDeviceRequest proto.InternalMessageInfo

func (m *CreateDeviceRequest) GetDevice() *Device {
	if m != nil {
		return m.Device
	}
	return nil
}

type GetDeviceRequest struct {
	// DevEUI.
	DevEui               []byte   `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetDeviceRequest) Reset()         { *m = GetDeviceRequest{} }
func (m *GetDeviceRequest) String() string { return proto.CompactTextString(m) }
func (*GetDeviceRequest) ProtoMessage()    {}
func (*GetDeviceRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{20}
}

func (m *GetDeviceRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDeviceRequest.Unmarshal(m, b)
}
func (m *GetDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDeviceRequest.Marshal(b, m, deterministic)
}
func (m *GetDeviceRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDeviceRequest.Merge(m, src)
}
func (m *GetDeviceRequest) XXX_Size() int {
	return xxx_messageInfo_GetDeviceRequest.Size(m)
}
func (m *GetDeviceRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDeviceRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetDeviceRequest proto.InternalMessageInfo

func (m *GetDeviceRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

type GetDeviceResponse struct {
	// Device object.
	Device *Device `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt            *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GetDeviceResponse) Reset()         { *m = GetDeviceResponse{} }
func (m *GetDeviceResponse) String() string { return proto.CompactTextString(m) }
func (*GetDeviceResponse) ProtoMessage()    {}
func (*GetDeviceResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{21}
}

func (m *GetDeviceResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDeviceResponse.Unmarshal(m, b)
}
func (m *GetDeviceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDeviceResponse.Marshal(b, m, deterministic)
}
func (m *GetDeviceResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDeviceResponse.Merge(m, src)
}
func (m *GetDeviceResponse) XXX_Size() int {
	return xxx_messageInfo_GetDeviceResponse.Size(m)
}
func (m *GetDeviceResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDeviceResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetDeviceResponse proto.InternalMessageInfo

func (m *GetDeviceResponse) GetDevice() *Device {
	if m != nil {
		return m.Device
	}
	return nil
}

func (m *GetDeviceResponse) GetCreatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.CreatedAt
	}
	return nil
}

func (m *GetDeviceResponse) GetUpdatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.UpdatedAt
	}
	return nil
}

type UpdateDeviceRequest struct {
	// Device object to update.
	Device               *Device  `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UpdateDeviceRequest) Reset()         { *m = UpdateDeviceRequest{} }
func (m *UpdateDeviceRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateDeviceRequest) ProtoMessage()    {}
func (*UpdateDeviceRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{22}
}

func (m *UpdateDeviceRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateDeviceRequest.Unmarshal(m, b)
}
func (m *UpdateDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateDeviceRequest.Marshal(b, m, deterministic)
}
func (m *UpdateDeviceRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateDeviceRequest.Merge(m, src)
}
func (m *UpdateDeviceRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateDeviceRequest.Size(m)
}
func (m *UpdateDeviceRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateDeviceRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateDeviceRequest proto.InternalMessageInfo

func (m *UpdateDeviceRequest) GetDevice() *Device {
	if m != nil {
		return m.Device
	}
	return nil
}

type DeleteDeviceRequest struct {
	// DevEUI.
	DevEui               []byte   `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteDeviceRequest) Reset()         { *m = DeleteDeviceRequest{} }
func (m *DeleteDeviceRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteDeviceRequest) ProtoMessage()    {}
func (*DeleteDeviceRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{23}
}

func (m *DeleteDeviceRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteDeviceRequest.Unmarshal(m, b)
}
func (m *DeleteDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteDeviceRequest.Marshal(b, m, deterministic)
}
func (m *DeleteDeviceRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteDeviceRequest.Merge(m, src)
}
func (m *DeleteDeviceRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteDeviceRequest.Size(m)
}
func (m *DeleteDeviceRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteDeviceRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteDeviceRequest proto.InternalMessageInfo

func (m *DeleteDeviceRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

type DeviceActivation struct {
	// DevEUI.
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Device address (DevAddr).
	DevAddr []byte `protobuf:"bytes,2,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	// SNwkSIntKey (serving network-server session integrity key).
	SNwkSIntKey []byte `protobuf:"bytes,3,opt,name=s_nwk_s_int_key,json=sNwkSIntKey,proto3" json:"s_nwk_s_int_key,omitempty"`
	// FNwkSIntKey (forwarding network-server session integrity key).
	FNwkSIntKey []byte `protobuf:"bytes,4,opt,name=f_nwk_s_int_key,json=fNwkSIntKey,proto3" json:"f_nwk_s_int_key,omitempty"`
	// NwkSEncKey (network-server session encryption key).
	NwkSEncKey []byte `protobuf:"bytes,5,opt,name=nwk_s_enc_key,json=nwkSEncKey,proto3" json:"nwk_s_enc_key,omitempty"`
	// The next expected uplink frame-counter.
	FCntUp uint32 `protobuf:"varint,6,opt,name=f_cnt_up,json=fCntUp,proto3" json:"f_cnt_up,omitempty"`
	// The network frame-counter used for the next downlink frame.
	NFCntDown uint32 `protobuf:"varint,7,opt,name=n_f_cnt_down,json=nFCntDown,proto3" json:"n_f_cnt_down,omitempty"`
	// The application frame-counter used for the next downlink frame (LoRaWAN 1.1).
	AFCntDown uint32 `protobuf:"varint,8,opt,name=a_f_cnt_down,json=aFCntDown,proto3" json:"a_f_cnt_down,omitempty"`
	// Skip frame-counter checks (this is insecure, but could be helpful for debugging).
	SkipFCntCheck        bool     `protobuf:"varint,9,opt,name=skip_f_cnt_check,json=skipFCntCheck,proto3" json:"skip_f_cnt_check,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeviceActivation) Reset()         { *m = DeviceActivation{} }
func (m *DeviceActivation) String() string { return proto.CompactTextString(m) }
func (*DeviceActivation) ProtoMessage()    {}
func (*DeviceActivation) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{24}
}

func (m *DeviceActivation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeviceActivation.Unmarshal(m, b)
}
func (m *DeviceActivation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeviceActivation.Marshal(b, m, deterministic)
}
func (m *DeviceActivation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeviceActivation.Merge(m, src)
}
func (m *DeviceActivation) XXX_Size() int {
	return xxx_messageInfo_DeviceActivation.Size(m)
}
func (m *DeviceActivation) XXX_DiscardUnknown() {
	xxx_messageInfo_DeviceActivation.DiscardUnknown(m)
}

var xxx_messageInfo_DeviceActivation proto.InternalMessageInfo

func (m *DeviceActivation) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *DeviceActivation) GetDevAddr() []byte {
	if m != nil {
		return m.DevAddr
	}
	return nil
}

func (m *DeviceActivation) GetSNwkSIntKey() []byte {
	if m != nil {
		return m.SNwkSIntKey
	}
	return nil
}

func (m *DeviceActivation) GetFNwkSIntKey() []byte {
	if m != nil {
		return m.FNwkSIntKey
	}
	return nil
}

func (m *DeviceActivation) GetNwkSEncKey() []byte {
	if m != nil {
		return m.NwkSEncKey
	}
	return nil
}

func (m *DeviceActivation) GetFCntUp() uint32 {
	if m != nil {
		return m.FCntUp
	}
	return 0
}

func (m *DeviceActivation) GetNFCntDown() uint32 {
	if m != nil {
		return m.NFCntDown
	}
	return 0
}

func (m *DeviceActivation) GetAFCntDown() uint32 {
	if m != nil {
		return m.AFCntDown
	}
	return 0
}

func (m *DeviceActivation) GetSkipFCntCheck() bool {
	if m != nil {
		return m.SkipFCntCheck
	}
	return false
}

type ActivateDeviceRequest struct {
	// Device-activation to activate a device (ABP).
	DeviceActivation     *DeviceActivation `protobuf:"bytes,1,opt,name=device_activation,json=deviceActivation,proto3" json:"device_activation,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ActivateDeviceRequest) Reset()         { *m = ActivateDeviceRequest{} }
func (m *ActivateDeviceRequest) String() string { return proto.CompactTextString(m) }
func (*ActivateDeviceRequest) ProtoMessage()    {}
func (*ActivateDeviceRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{25}
}

func (m *ActivateDeviceRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ActivateDeviceRequest.Unmarshal(m, b)
}
func (m *ActivateDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ActivateDeviceRequest.Marshal(b, m, deterministic)
}
func (m *ActivateDeviceRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ActivateDeviceRequest.Merge(m, src)
}
func (m *ActivateDeviceRequest) XXX_Size() int {
	return xxx_messageInfo_ActivateDeviceRequest.Size(m)
}
func (m *ActivateDeviceRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ActivateDeviceRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ActivateDeviceRequest proto.InternalMessageInfo

func (m *ActivateDeviceRequest) GetDeviceActivation() *DeviceActivation {
	if m != nil {
		return m.DeviceActivation
	}
	return nil
}

type DeactivateDeviceRequest struct {
	// Device EUI (8 bytes).
	DevEui               []byte   `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeactivateDeviceRequest) Reset()         { *m = DeactivateDeviceRequest{} }
func (m *DeactivateDeviceRequest) String() string { return proto.CompactTextString(m) }
func (*DeactivateDeviceRequest) ProtoMessage()    {}
func (*DeactivateDeviceRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{26}
}

func (m *DeactivateDeviceRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeactivateDeviceRequest.Unmarshal(m, b)
}
func (m *DeactivateDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeactivateDeviceRequest.Marshal(b, m, deterministic)
}
func (m *DeactivateDeviceRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeactivateDeviceRequest.Merge(m, src)
}
func (m *DeactivateDeviceRequest) XXX_Size() int {
	return xxx_messageInfo_DeactivateDeviceRequest.Size(m)
}
func (m *DeactivateDeviceRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeactivateDeviceRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeactivateDeviceRequest proto.InternalMessageInfo

func (m *DeactivateDeviceRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

type GetDeviceActivationRequest struct {
	// Device EUI (8 bytes).
	DevEui               []byte   `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetDeviceActivationRequest) Reset()         { *m = GetDeviceActivationRequest{} }
func (m *GetDeviceActivationRequest) String() string { return proto.CompactTextString(m) }
func (*GetDeviceActivationRequest) ProtoMessage()    {}
func (*GetDeviceActivationRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{27}
}

func (m *GetDeviceActivationRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDeviceActivationRequest.Unmarshal(m, b)
}
func (m *GetDeviceActivationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDeviceActivationRequest.Marshal(b, m, deterministic)
}
func (m *GetDeviceActivationRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDeviceActivationRequest.Merge(m, src)
}
func (m *GetDeviceActivationRequest) XXX_Size() int {
	return xxx_messageInfo_GetDeviceActivationRequest.Size(m)
}
func (m *GetDeviceActivationRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDeviceActivationRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetDeviceActivationRequest proto.InternalMessageInfo

func (m *GetDeviceActivationRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

type GetDeviceActivationResponse struct {
	// Device-activation object.
	DeviceActivation     *DeviceActivation `protobuf:"bytes,1,opt,name=device_activation,json=deviceActivation,proto3" json:"device_activation,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *GetDeviceActivationResponse) Reset()         { *m = GetDeviceActivationResponse{} }
func (m *GetDeviceActivationResponse) String() string { return proto.CompactTextString(m) }
func (*GetDeviceActivationResponse) ProtoMessage()    {}
func (*GetDeviceActivationResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{28}
}

func (m *GetDeviceActivationResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDeviceActivationResponse.Unmarshal(m, b)
}
func (m *GetDeviceActivationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDeviceActivationResponse.Marshal(b, m, deterministic)
}
func (m *GetDeviceActivationResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDeviceActivationResponse.Merge(m, src)
}
func (m *GetDeviceActivationResponse) XXX_Size() int {
	return xxx_messageInfo_GetDeviceActivationResponse.Size(m)
}
func (m *GetDeviceActivationResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDeviceActivationResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetDeviceActivationResponse proto.InternalMessageInfo

func (m *GetDeviceActivationResponse) GetDeviceActivation() *DeviceActivation {
	if m != nil {
		return m.DeviceActivation
	}
	return nil
}

type GetRandomDevAddrResponse struct {
	// Random device address (DevAddr).
	// Note that this includes the NetID prefix of the network-server.
	DevAddr              []byte   `protobuf:"bytes,1,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetRandomDevAddrResponse) Reset()         { *m = GetRandomDevAddrResponse{} }
func (m *GetRandomDevAddrResponse) String() string { return proto.CompactTextString(m) }
func (*GetRandomDevAddrResponse) ProtoMessage()    {}
func (*GetRandomDevAddrResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{29}
}

func (m *GetRandomDevAddrResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetRandomDevAddrResponse.Unmarshal(m, b)
}
func (m *GetRandomDevAddrResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetRandomDevAddrResponse.Marshal(b, m, deterministic)
}
func (m *GetRandomDevAddrResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetRandomDevAddrResponse.Merge(m, src)
}
func (m *GetRandomDevAddrResponse) XXX_Size() int {
	return xxx_messageInfo_GetRandomDevAddrResponse.Size(m)
}
func (m *GetRandomDevAddrResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetRandomDevAddrResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetRandomDevAddrResponse proto.InternalMessageInfo

func (m *GetRandomDevAddrResponse) GetDevAddr() []byte {
	if m != nil {
		return m.DevAddr
	}
	return nil
}

type CreateMACCommandQueueItemRequest struct {
	// DevEUI EUI (8 bytes).
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Command identifier (specified by the LoRaWAN specs).
	Cid uint32 `protobuf:"varint,4,opt,name=cid,proto3" json:"cid,omitempty"`
	// MAC-command(s). In case multiple payloads are defined, then they
	// are always sent within a single frame.
	Commands             [][]byte `protobuf:"bytes,5,rep,name=commands,proto3" json:"commands,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateMACCommandQueueItemRequest) Reset()         { *m = CreateMACCommandQueueItemRequest{} }
func (m *CreateMACCommandQueueItemRequest) String() string { return proto.CompactTextString(m) }
func (*CreateMACCommandQueueItemRequest) ProtoMessage()    {}
func (*CreateMACCommandQueueItemRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{30}
}

func (m *CreateMACCommandQueueItemRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateMACCommandQueueItemRequest.Unmarshal(m, b)
}
func (m *CreateMACCommandQueueItemRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateMACCommandQueueItemRequest.Marshal(b, m, deterministic)
}
func (m *CreateMACCommandQueueItemRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateMACCommandQueueItemRequest.Merge(m, src)
}
func (m *CreateMACCommandQueueItemRequest) XXX_Size() int {
	return xxx_messageInfo_CreateMACCommandQueueItemRequest.Size(m)
}
func (m *CreateMACCommandQueueItemRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateMACCommandQueueItemRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateMACCommandQueueItemRequest proto.InternalMessageInfo

func (m *CreateMACCommandQueueItemRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *CreateMACCommandQueueItemRequest) GetCid() uint32 {
	if m != nil {
		return m.Cid
	}
	return 0
}

func (m *CreateMACCommandQueueItemRequest) GetCommands() [][]byte {
	if m != nil {
		return m.Commands
	}
	return nil
}

type SendProprietaryPayloadRequest struct {
	// MACPayload of the proprietary LoRaWAN frame.
	MacPayload []byte `protobuf:"bytes,1,opt,name=mac_payload,json=macPayload,proto3" json:"mac_payload,omitempty"`
	// MIC of the proprietary LoRaWAN frame (must be 4 bytes).
	Mic []byte `protobuf:"bytes,2,opt,name=mic,proto3" json:"mic,omitempty"`
	// Gateway MAC address(es) to use for transmitting the LoRaWAN frame.
	GatewayMacs [][]byte `protobuf:"bytes,3,rep,name=gateway_macs,json=gatewayMacs,proto3" json:"gateway_macs,omitempty"`
	// Set to true for sending as a gateway, or false for sending as a node.
	// In the latter case the frame will be received by other gateways.
	PolarizationInversion bool `protobuf:"varint,4,opt,name=polarization_inversion,json=polarizationInversion,proto3" json:"polarization_inversion,omitempty"`
	// Frequency (Hz) to use for the transmission.
	Frequency uint32 `protobuf:"varint,5,opt,name=frequency,proto3" json:"frequency,omitempty"`
	// Data-rate to use for the transmission.
	Dr                   uint32   `protobuf:"varint,6,opt,name=dr,proto3" json:"dr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SendProprietaryPayloadRequest) Reset()         { *m = SendProprietaryPayloadRequest{} }
func (m *SendProprietaryPayloadRequest) String() string { return proto.CompactTextString(m) }
func (*SendProprietaryPayloadRequest) ProtoMessage()    {}
func (*SendProprietaryPayloadRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{31}
}

func (m *SendProprietaryPayloadRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SendProprietaryPayloadRequest.Unmarshal(m, b)
}
func (m *SendProprietaryPayloadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SendProprietaryPayloadRequest.Marshal(b, m, deterministic)
}
func (m *SendProprietaryPayloadRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SendProprietaryPayloadRequest.Merge(m, src)
}
func (m *SendProprietaryPayloadRequest) XXX_Size() int {
	return xxx_messageInfo_SendProprietaryPayloadRequest.Size(m)
}
func (m *SendProprietaryPayloadRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SendProprietaryPayloadRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SendProprietaryPayloadRequest proto.InternalMessageInfo

func (m *SendProprietaryPayloadRequest) GetMacPayload() []byte {
	if m != nil {
		return m.MacPayload
	}
	return nil
}

func (m *SendProprietaryPayloadRequest) GetMic() []byte {
	if m != nil {
		return m.Mic
	}
	return nil
}

func (m *SendProprietaryPayloadRequest) GetGatewayMacs() [][]byte {
	if m != nil {
		return m.GatewayMacs
	}
	return nil
}

func (m *SendProprietaryPayloadRequest) GetPolarizationInversion() bool {
	if m != nil {
		return m.PolarizationInversion
	}
	return false
}

func (m *SendProprietaryPayloadRequest) GetFrequency() uint32 {
	if m != nil {
		return m.Frequency
	}
	return 0
}

func (m *SendProprietaryPayloadRequest) GetDr() uint32 {
	if m != nil {
		return m.Dr
	}
	return 0
}

type Gateway struct {
	// Gateway ID (8 bytes EUI64).
	Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Gateway location.
	Location *common.Location `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`
	// ID of the gateway-profile (optional).
	GatewayProfileId []byte `protobuf:"bytes,3,opt,name=gateway_profile_id,json=gatewayProfileId,proto3" json:"gateway_profile_id,omitempty"`
	// Gateway boards configuration (optional).
	// This is (currently) only needed when the gateway supports the fine-timestamp
	// and you you would like to add the FPGA ID to the gateway meta-data or would
	// like ChirpStack Network Server to decrypt the fine-timestamp.
	Boards []*GatewayBoard `protobuf:"bytes,4,rep,name=boards,proto3" json:"boards,omitempty"`
	// Routing Profile ID.
	// The routing-profile ID defines to which application-server statistical
	// data for this gateway is forwarded.
	RoutingProfileId []byte `protobuf:"bytes,5,opt,name=routing_profile_id,json=routingProfileId,proto3" json:"routing_profile_id,omitempty"`
	// Service-profile ID (optional).
	ServiceProfileId     []byte   `protobuf:"bytes,6,opt,name=service_profile_id,json=serviceProfileId,proto3" json:"service_profile_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Gateway) Reset()         { *m = Gateway{} }
func (m *Gateway) String() string { return proto.CompactTextString(m) }
func (*Gateway) ProtoMessage()    {}
func (*Gateway) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{32}
}

func (m *Gateway) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Gateway.Unmarshal(m, b)
}
func (m *Gateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Gateway.Marshal(b, m, deterministic)
}
func (m *Gateway) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Gateway.Merge(m, src)
}
func (m *Gateway) XXX_Size() int {
	return xxx_messageInfo_Gateway.Size(m)
}
func (m *Gateway) XXX_DiscardUnknown() {
	xxx_messageInfo_Gateway.DiscardUnknown(m)
}

var xxx_messageInfo_Gateway proto.InternalMessageInfo

func (m *Gateway) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

func (m *Gateway) GetLocation() *common.Location {
	if m != nil {
		return m.Location
	}
	return nil
}

func (m *Gateway) GetGatewayProfileId() []byte {
	if m != nil {
		return m.GatewayProfileId
	}
	return nil
}

func (m *Gateway) GetBoards() []*GatewayBoard {
	if m != nil {
		return m.Boards
	}
	return nil
}

func (m *Gateway) GetRoutingProfileId() []byte {
	if m != nil {
		return m.RoutingProfileId
	}
	return nil
}

func (m *Gateway) GetServiceProfileId() []byte {
	if m != nil {
		return m.ServiceProfileId
	}
	return nil
}

type GatewayBoard struct {
	// FPGA ID of the gateway (8 bytes) (optional).
	FpgaId []byte `protobuf:"bytes,1,opt,name=fpga_id,json=fpgaId,proto3" json:"fpga_id,omitempty"`
	// Fine-timestamp AES decryption key (16 bytes) (optional).
	FineTimestampKey     []byte   `protobuf:"bytes,2,opt,name=fine_timestamp_key,json=fineTimestampKey,proto3" json:"fine_timestamp_key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GatewayBoard) Reset()         { *m = GatewayBoard{} }
func (m *GatewayBoard) String() string { return proto.CompactTextString(m) }
func (*GatewayBoard) ProtoMessage()    {}
func (*GatewayBoard) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{33}
}

func (m *GatewayBoard) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GatewayBoard.Unmarshal(m, b)
}
func (m *GatewayBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GatewayBoard.Marshal(b, m, deterministic)
}
func (m *GatewayBoard) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GatewayBoard.Merge(m, src)
}
func (m *GatewayBoard) XXX_Size() int {
	return xxx_messageInfo_GatewayBoard.Size(m)
}
func (m *GatewayBoard) XXX_DiscardUnknown() {
	xxx_messageInfo_GatewayBoard.DiscardUnknown(m)
}

var xxx_messageInfo_GatewayBoard proto.InternalMessageInfo

func (m *GatewayBoard) GetFpgaId() []byte {
	if m != nil {
		return m.FpgaId
	}
	return nil
}

func (m *GatewayBoard) GetFineTimestampKey() []byte {
	if m != nil {
		return m.FineTimestampKey
	}
	return nil
}

type CreateGatewayRequest struct {
	// Gateway object to create.
	Gateway              *Gateway `protobuf:"bytes,1,opt,name=gateway,proto3" json:"gateway,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateGatewayRequest) Reset()         { *m = CreateGatewayRequest{} }
func (m *CreateGatewayRequest) String() string { return proto.CompactTextString(m) }
func (*CreateGatewayRequest) ProtoMessage()    {}
func (*CreateGatewayRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{34}
}

func (m *CreateGatewayRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateGatewayRequest.Unmarshal(m, b)
}
func (m *CreateGatewayRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateGatewayRequest.Marshal(b, m, deterministic)
}
func (m *CreateGatewayRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateGatewayRequest.Merge(m, src)
}
func (m *CreateGatewayRequest) XXX_Size() int {
	return xxx_messageInfo_CreateGatewayRequest.Size(m)
}
func (m *CreateGatewayRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateGatewayRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateGatewayRequest proto.InternalMessageInfo

func (m *CreateGatewayRequest) GetGateway() *Gateway {
	if m != nil {
		return m.Gateway
	}
	return nil
}

type GetGatewayRequest struct {
	// Gateway ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetGatewayRequest) Reset()         { *m = GetGatewayRequest{} }
func (m *GetGatewayRequest) String() string { return proto.CompactTextString(m) }
func (*GetGatewayRequest) ProtoMessage()    {}
func (*GetGatewayRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{35}
}

func (m *GetGatewayRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetGatewayRequest.Unmarshal(m, b)
}
func (m *GetGatewayRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetGatewayRequest.Marshal(b, m, deterministic)
}
func (m *GetGatewayRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetGatewayRequest.Merge(m, src)
}
func (m *GetGatewayRequest) XXX_Size() int {
	return xxx_messageInfo_GetGatewayRequest.Size(m)
}
func (m *GetGatewayRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetGatewayRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetGatewayRequest proto.InternalMessageInfo

func (m *GetGatewayRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetGatewayResponse struct {
	// Gateway object.
	Gateway *Gateway `protobuf:"bytes,1,opt,name=gateway,proto3" json:"gateway,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// First seen timestamp.
	FirstSeenAt *timestamp.Timestamp `protobuf:"bytes,4,opt,name=first_seen_at,json=firstSeenAt,proto3" json:"first_seen_at,omitempty"`
	// Last seen timestamp.
	LastSeenAt           *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GetGatewayResponse) Reset()         { *m = GetGatewayResponse{} }
func (m *GetGatewayResponse) String() string { return proto.CompactTextString(m) }
func (*GetGatewayResponse) ProtoMessage()    {}
func (*GetGatewayResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{36}
}

func (m *GetGatewayResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetGatewayResponse.Unmarshal(m, b)
}
func (m *GetGatewayResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetGatewayResponse.Marshal(b, m, deterministic)
}
func (m *GetGatewayResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetGatewayResponse.Merge(m, src)
}
func (m *GetGatewayResponse) XXX_Size() int {
	return xxx_messageInfo_GetGatewayResponse.Size(m)
}
func (m *GetGatewayResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetGatewayResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetGatewayResponse proto.InternalMessageInfo

func (m *GetGatewayResponse) GetGateway() *Gateway {
	if m != nil {
		return m.Gateway
	}
	return nil
}

func (m *GetGatewayResponse) GetCreatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.CreatedAt
	}
	return nil
}

func (m *GetGatewayResponse) GetUpdatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.UpdatedAt
	}
	return nil
}

func (m *GetGatewayResponse) GetFirstSeenAt() *timestamp.Timestamp {
	if m != nil {
		return m.FirstSeenAt
	}
	return nil
}

func (m *GetGatewayResponse) GetLastSeenAt() *timestamp.Timestamp {
	if m != nil {
		return m.LastSeenAt
	}
	return nil
}

type UpdateGatewayRequest struct {
	// Gateway object to update.
	Gateway              *Gateway `protobuf:"bytes,1,opt,name=gateway,proto3" json:"gateway,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UpdateGatewayRequest) Reset()         { *m = UpdateGatewayRequest{} }
func (m *UpdateGatewayRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateGatewayRequest) ProtoMessage()    {}
func (*UpdateGatewayRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{37}
}

func (m *UpdateGatewayRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateGatewayRequest.Unmarshal(m, b)
}
func (m *UpdateGatewayRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateGatewayRequest.Marshal(b, m, deterministic)
}
func (m *UpdateGatewayRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateGatewayRequest.Merge(m, src)
}
func (m *UpdateGatewayRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateGatewayRequest.Size(m)
}
func (m *UpdateGatewayRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateGatewayRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateGatewayRequest proto.InternalMessageInfo

func (m *UpdateGatewayRequest) GetGateway() *Gateway {
	if m != nil {
		return m.Gateway
	}
	return nil
}

type DeleteGatewayRequest struct {
	// Gateway ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteGatewayRequest) Reset()         { *m = DeleteGatewayRequest{} }
func (m *DeleteGatewayRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteGatewayRequest) ProtoMessage()    {}
func (*DeleteGatewayRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{38}
}

func (m *DeleteGatewayRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteGatewayRequest.Unmarshal(m, b)
}
func (m *DeleteGatewayRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteGatewayRequest.Marshal(b, m, deterministic)
}
func (m *DeleteGatewayRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteGatewayRequest.Merge(m, src)
}
func (m *DeleteGatewayRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteGatewayRequest.Size(m)
}
func (m *DeleteGatewayRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteGatewayRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteGatewayRequest proto.InternalMessageInfo

func (m *DeleteGatewayRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GenerateGatewayClientCertificateRequest struct {
	// Gateway ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GenerateGatewayClientCertificateRequest) Reset() {
	*m = GenerateGatewayClientCertificateRequest{}
}
func (m *GenerateGatewayClientCertificateRequest) String() string { return proto.CompactTextString(m) }
func (*GenerateGatewayClientCertificateRequest) ProtoMessage()    {}
func (*GenerateGatewayClientCertificateRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{39}
}

func (m *GenerateGatewayClientCertificateRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GenerateGatewayClientCertificateRequest.Unmarshal(m, b)
}
func (m *GenerateGatewayClientCertificateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GenerateGatewayClientCertificateRequest.Marshal(b, m, deterministic)
}
func (m *GenerateGatewayClientCertificateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GenerateGatewayClientCertificateRequest.Merge(m, src)
}
func (m *GenerateGatewayClientCertificateRequest) XXX_Size() int {
	return xxx_messageInfo_GenerateGatewayClientCertificateRequest.Size(m)
}
func (m *GenerateGatewayClientCertificateRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GenerateGatewayClientCertificateRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GenerateGatewayClientCertificateRequest proto.InternalMessageInfo

func (m *GenerateGatewayClientCertificateRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GenerateGatewayClientCertificateResponse struct {
	// TLS certificate.
	TlsCert []byte `protobuf:"bytes,1,opt,name=tls_cert,json=tlsCert,proto3" json:"tls_cert,omitempty"`
	// TLS key.
	TlsKey []byte `protobuf:"bytes,2,opt,name=tls_key,json=tlsKey,proto3" json:"tls_key,omitempty"`
	// CA certificate.
	CaCert []byte `protobuf:"bytes,3,opt,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty"`
	// Expires at defines the expiration date of the certificate.
	ExpiresAt            *timestamp.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GenerateGatewayClientCertificateResponse) Reset() {
	*m = GenerateGatewayClientCertificateResponse{}
}
func (m *GenerateGatewayClientCertificateResponse) String() string { return proto.CompactTextString(m) }
func (*GenerateGatewayClientCertificateResponse) ProtoMessage()    {}
func (*GenerateGatewayClientCertificateResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{40}
}

func (m *GenerateGatewayClientCertificateResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GenerateGatewayClientCertificateResponse.Unmarshal(m, b)
}
func (m *GenerateGatewayClientCertificateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GenerateGatewayClientCertificateResponse.Marshal(b, m, deterministic)
}
func (m *GenerateGatewayClientCertificateResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GenerateGatewayClientCertificateResponse.Merge(m, src)
}
func (m *GenerateGatewayClientCertificateResponse) XXX_Size() int {
	return xxx_messageInfo_GenerateGatewayClientCertificateResponse.Size(m)
}
func (m *GenerateGatewayClientCertificateResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GenerateGatewayClientCertificateResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GenerateGatewayClientCertificateResponse proto.InternalMessageInfo

func (m *GenerateGatewayClientCertificateResponse) GetTlsCert() []byte {
	if m != nil {
		return m.TlsCert
	}
	return nil
}

func (m *GenerateGatewayClientCertificateResponse) GetTlsKey() []byte {
	if m != nil {
		return m.TlsKey
	}
	return nil
}

func (m *GenerateGatewayClientCertificateResponse) GetCaCert() []byte {
	if m != nil {
		return m.CaCert
	}
	return nil
}

func (m *GenerateGatewayClientCertificateResponse) GetExpiresAt() *timestamp.Timestamp {
	if m != nil {
		return m.ExpiresAt
	}
	return nil
}

type GatewayStats struct {
	// Timestamp of the (aggregated) measurement.
	Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Packets received by the gateway.
	RxPacketsReceived int32 `protobuf:"varint,2,opt,name=rx_packets_received,json=rxPacketsReceived,proto3" json:"rx_packets_received,omitempty"`
	// Packets received by the gateway that passed the CRC check.
	RxPacketsReceivedOk int32 `protobuf:"varint,3,opt,name=rx_packets_received_ok,json=rxPacketsReceivedOk,proto3" json:"rx_packets_received_ok,omitempty"`
	// Packets received by the gateway for transmission.
	TxPacketsReceived int32 `protobuf:"varint,4,opt,name=tx_packets_received,json=txPacketsReceived,proto3" json:"tx_packets_received,omitempty"`
	// Packets transmitted by the gateway.
	TxPacketsEmitted     int32    `protobuf:"varint,5,opt,name=tx_packets_emitted,json=txPacketsEmitted,proto3" json:"tx_packets_emitted,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GatewayStats) Reset()         { *m = GatewayStats{} }
func (m *GatewayStats) String() string { return proto.CompactTextString(m) }
func (*GatewayStats) ProtoMessage()    {}
func (*GatewayStats) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{41}
}

func (m *GatewayStats) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GatewayStats.Unmarshal(m, b)
}
func (m *GatewayStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GatewayStats.Marshal(b, m, deterministic)
}
func (m *GatewayStats) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GatewayStats.Merge(m, src)
}
func (m *GatewayStats) XXX_Size() int {
	return xxx_messageInfo_GatewayStats.Size(m)
}
func (m *GatewayStats) XXX_DiscardUnknown() {
	xxx_messageInfo_GatewayStats.DiscardUnknown(m)
}

var xxx_messageInfo_GatewayStats proto.InternalMessageInfo

func (m *GatewayStats) GetTimestamp() *timestamp.Timestamp {
	if m != nil {
		return m.Timestamp
	}
	return nil
}

func (m *GatewayStats) GetRxPacketsReceived() int32 {
	if m != nil {
		return m.RxPacketsReceived
	}
	return 0
}

func (m *GatewayStats) GetRxPacketsReceivedOk() int32 {
	if m != nil {
		return m.RxPacketsReceivedOk
	}
	return 0
}

func (m *GatewayStats) GetTxPacketsReceived() int32 {
	if m != nil {
		return m.TxPacketsReceived
	}
	return 0
}

func (m *GatewayStats) GetTxPacketsEmitted() int32 {
	if m != nil {
		return m.TxPacketsEmitted
	}
	return 0
}

type GetGatewayStatsRequest struct {
	// MAC address of the gateway.
	GatewayId []byte `protobuf:"bytes,1,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
	// Aggregation interval.
	Interval AggregationInterval `protobuf:"varint,2,opt,name=interval,proto3,enum=ns.AggregationInterval" json:"interval,omitempty"`
	// Timestamp to start from.
	StartTimestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_timestamp,json=startTimestamp,proto3" json:"start_timestamp,omitempty"`
	// Timestamp until to get from.
	EndTimestamp         *timestamp.Timestamp `protobuf:"bytes,4,opt,name=end_timestamp,json=endTimestamp,proto3" json:"end_timestamp,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GetGatewayStatsRequest) Reset()         { *m = GetGatewayStatsRequest{} }
func (m *GetGatewayStatsRequest) String() string { return proto.CompactTextString(m) }
func (*GetGatewayStatsRequest) ProtoMessage()    {}
func (*GetGatewayStatsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{42}
}

func (m *GetGatewayStatsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetGatewayStatsRequest.Unmarshal(m, b)
}
func (m *GetGatewayStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetGatewayStatsRequest.Marshal(b, m, deterministic)
}
func (m *GetGatewayStatsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetGatewayStatsRequest.Merge(m, src)
}
func (m *GetGatewayStatsRequest) XXX_Size() int {
	return xxx_messageInfo_GetGatewayStatsRequest.Size(m)
}
func (m *GetGatewayStatsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetGatewayStatsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetGatewayStatsRequest proto.InternalMessageInfo

func (m *GetGatewayStatsRequest) GetGatewayId() []byte {
	if m != nil {
		return m.GatewayId
	}
	return nil
}

func (m *GetGatewayStatsRequest) GetInterval() AggregationInterval {
	if m != nil {
		return m.Interval
	}
	return AggregationInterval_SECOND
}

func (m *GetGatewayStatsRequest) GetStartTimestamp() *timestamp.Timestamp {
	if m != nil {
		return m.StartTimestamp
	}
	return nil
}

func (m *GetGatewayStatsRequest) GetEndTimestamp() *timestamp.Timestamp {
	if m != nil {
		return m.EndTimestamp
	}
	return nil
}

type GetGatewayStatsResponse struct {
	Result               []*GatewayStats `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *GetGatewayStatsResponse) Reset()         { *m = GetGatewayStatsResponse{} }
func (m *GetGatewayStatsResponse) String() string { return proto.CompactTextString(m) }
func (*GetGatewayStatsResponse) ProtoMessage()    {}
func (*GetGatewayStatsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{43}
}

func (m *GetGatewayStatsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetGatewayStatsResponse.Unmarshal(m, b)
}
func (m *GetGatewayStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetGatewayStatsResponse.Marshal(b, m, deterministic)
}
func (m *GetGatewayStatsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetGatewayStatsResponse.Merge(m, src)
}
func (m *GetGatewayStatsResponse) XXX_Size() int {
	return xxx_messageInfo_GetGatewayStatsResponse.Size(m)
}
func (m *GetGatewayStatsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetGatewayStatsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetGatewayStatsResponse proto.InternalMessageInfo

func (m *GetGatewayStatsResponse) GetResult() []*GatewayStats {
	if m != nil {
		return m.Result
	}
	return nil
}

type DeviceQueueItem struct {
	// DevEUI of the device.
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// The encrypted FRMPayload bytes.
	FrmPayload []byte `protobuf:"bytes,2,opt,name=frm_payload,json=frmPayload,proto3" json:"frm_payload,omitempty"`
	// The FCnt of the payload.
	FCnt uint32 `protobuf:"varint,3,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	// The FPort of the payload.
	FPort uint32 `protobuf:"varint,4,opt,name=f_port,json=fPort,proto3" json:"f_port,omitempty"`
	// When set to true, ChirpStack Network Server will wait for the device to ack the
	// received frame.
	Confirmed bool `protobuf:"varint,5,opt,name=confirmed,proto3" json:"confirmed,omitempty"`
	// Device address (as known by the application-server).
	// It will be used to validate that the application-server is
	// using the correct security context of the device. As on OTAA, there
	// is a gap between the activation and the delivery of the AppSKey to the
	// application-server, there is a possibility that the application-server
	// tries to enqueue payloads encrypted with the old session-key.
	DevAddr              []byte   `protobuf:"bytes,6,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeviceQueueItem) Reset()         { *m = DeviceQueueItem{} }
func (m *DeviceQueueItem) String() string { return proto.CompactTextString(m) }
func (*DeviceQueueItem) ProtoMessage()    {}
func (*DeviceQueueItem) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{44}
}

func (m *DeviceQueueItem) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeviceQueueItem.Unmarshal(m, b)
}
func (m *DeviceQueueItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeviceQueueItem.Marshal(b, m, deterministic)
}
func (m *DeviceQueueItem) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeviceQueueItem.Merge(m, src)
}
func (m *DeviceQueueItem) XXX_Size() int {
	return xxx_messageInfo_DeviceQueueItem.Size(m)
}
func (m *DeviceQueueItem) XXX_DiscardUnknown() {
	xxx_messageInfo_DeviceQueueItem.DiscardUnknown(m)
}

var xxx_messageInfo_DeviceQueueItem proto.InternalMessageInfo

func (m *DeviceQueueItem) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *DeviceQueueItem) GetFrmPayload() []byte {
	if m != nil {
		return m.FrmPayload
	}
	return nil
}

func (m *DeviceQueueItem) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

func (m *DeviceQueueItem) GetFPort() uint32 {
	if m != nil {
		return m.FPort
	}
	return 0
}

func (m *DeviceQueueItem) GetConfirmed() bool {
	if m != nil {
		return m.Confirmed
	}
	return false
}

func (m *DeviceQueueItem) GetDevAddr() []byte {
	if m != nil {
		return m.DevAddr
	}
	return nil
}

type CreateDeviceQueueItemRequest struct {
	Item                 *DeviceQueueItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *CreateDeviceQueueItemRequest) Reset()         { *m = CreateDeviceQueueItemRequest{} }
func (m *CreateDeviceQueueItemRequest) String() string { return proto.CompactTextString(m) }
func (*CreateDeviceQueueItemRequest) ProtoMessage()    {}
func (*CreateDeviceQueueItemRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{45}
}

func (m *CreateDeviceQueueItemRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateDeviceQueueItemRequest.Unmarshal(m, b)
}
func (m *CreateDeviceQueueItemRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateDeviceQueueItemRequest.Marshal(b, m, deterministic)
}
func (m *CreateDeviceQueueItemRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateDeviceQueueItemRequest.Merge(m, src)
}
func (m *CreateDeviceQueueItemRequest) XXX_Size() int {
	return xxx_messageInfo_CreateDeviceQueueItemRequest.Size(m)
}
func (m *CreateDeviceQueueItemRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateDeviceQueueItemRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateDeviceQueueItemRequest proto.InternalMessageInfo

func (m *CreateDeviceQueueItemRequest) GetItem() *DeviceQueueItem {
	if m != nil {
		return m.Item
	}
	return nil
}

type FlushDeviceQueueForDevEUIRequest struct {
	// DevEUI of the device.
	DevEui               []byte   `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FlushDeviceQueueForDevEUIRequest) Reset()         { *m = FlushDeviceQueueForDevEUIRequest{} }
func (m *FlushDeviceQueueForDevEUIRequest) String() string { return proto.CompactTextString(m) }
func (*FlushDeviceQueueForDevEUIRequest) ProtoMessage()    {}
func (*FlushDeviceQueueForDevEUIRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{46}
}

func (m *FlushDeviceQueueForDevEUIRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlushDeviceQueueForDevEUIRequest.Unmarshal(m, b)
}
func (m *FlushDeviceQueueForDevEUIRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlushDeviceQueueForDevEUIRequest.Marshal(b, m, deterministic)
}
func (m *FlushDeviceQueueForDevEUIRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlushDeviceQueueForDevEUIRequest.Merge(m, src)
}
func (m *FlushDeviceQueueForDevEUIRequest) XXX_Size() int {
	return xxx_messageInfo_FlushDeviceQueueForDevEUIRequest.Size(m)
}
func (m *FlushDeviceQueueForDevEUIRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_FlushDeviceQueueForDevEUIRequest.DiscardUnknown(m)
}

var xxx_messageInfo_FlushDeviceQueueForDevEUIRequest proto.InternalMessageInfo

func (m *FlushDeviceQueueForDevEUIRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

type GetDeviceQueueItemsForDevEUIRequest struct {
	// DevEUI of the device.
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Return only the count, not the result-set.
	CountOnly            bool     `protobuf:"varint,2,opt,name=count_only,json=countOnly,proto3" json:"count_only,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetDeviceQueueItemsForDevEUIRequest) Reset()         { *m = GetDeviceQueueItemsForDevEUIRequest{} }
func (m *GetDeviceQueueItemsForDevEUIRequest) String() string { return proto.CompactTextString(m) }
func (*GetDeviceQueueItemsForDevEUIRequest) ProtoMessage()    {}
func (*GetDeviceQueueItemsForDevEUIRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{47}
}

func (m *GetDeviceQueueItemsForDevEUIRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDeviceQueueItemsForDevEUIRequest.Unmarshal(m, b)
}
func (m *GetDeviceQueueItemsForDevEUIRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDeviceQueueItemsForDevEUIRequest.Marshal(b, m, deterministic)
}
func (m *GetDeviceQueueItemsForDevEUIRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDeviceQueueItemsForDevEUIRequest.Merge(m, src)
}
func (m *GetDeviceQueueItemsForDevEUIRequest) XXX_Size() int {
	return xxx_messageInfo_GetDeviceQueueItemsForDevEUIRequest.Size(m)
}
func (m *GetDeviceQueueItemsForDevEUIRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDeviceQueueItemsForDevEUIRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetDeviceQueueItemsForDevEUIRequest proto.InternalMessageInfo

func (m *GetDeviceQueueItemsForDevEUIRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *GetDeviceQueueItemsForDevEUIRequest) GetCountOnly() bool {
	if m != nil {
		return m.CountOnly
	}
	return false
}

type GetDeviceQueueItemsForDevEUIResponse struct {
	// The device queue items.
	Items []*DeviceQueueItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// Total number of items in the queue.
	TotalCount           uint32   `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetDeviceQueueItemsForDevEUIResponse) Reset()         { *m = GetDeviceQueueItemsForDevEUIResponse{} }
func (m *GetDeviceQueueItemsForDevEUIResponse) String() string { return proto.CompactTextString(m) }
func (*GetDeviceQueueItemsForDevEUIResponse) ProtoMessage()    {}
func (*GetDeviceQueueItemsForDevEUIResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{48}
}

func (m *GetDeviceQueueItemsForDevEUIResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDeviceQueueItemsForDevEUIResponse.Unmarshal(m, b)
}
func (m *GetDeviceQueueItemsForDevEUIResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDeviceQueueItemsForDevEUIResponse.Marshal(b, m, deterministic)
}
func (m *GetDeviceQueueItemsForDevEUIResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDeviceQueueItemsForDevEUIResponse.Merge(m, src)
}
func (m *GetDeviceQueueItemsForDevEUIResponse) XXX_Size() int {
	return xxx_messageInfo_GetDeviceQueueItemsForDevEUIResponse.Size(m)
}
func (m *GetDeviceQueueItemsForDevEUIResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDeviceQueueItemsForDevEUIResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetDeviceQueueItemsForDevEUIResponse proto.InternalMessageInfo

func (m *GetDeviceQueueItemsForDevEUIResponse) GetItems() []*DeviceQueueItem {
	if m != nil {
		return m.Items
	}
	return nil
}

func (m *GetDeviceQueueItemsForDevEUIResponse) GetTotalCount() uint32 {
	if m != nil {
		return m.TotalCount
	}
	return 0
}

type GetNextDownlinkFCntForDevEUIRequest struct {
	// DevEUI of the device.
	DevEui               []byte   `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetNextDownlinkFCntForDevEUIRequest) Reset()         { *m = GetNextDownlinkFCntForDevEUIRequest{} }
func (m *GetNextDownlinkFCntForDevEUIRequest) String() string { return proto.CompactTextString(m) }
func (*GetNextDownlinkFCntForDevEUIRequest) ProtoMessage()    {}
func (*GetNextDownlinkFCntForDevEUIRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{49}
}

func (m *GetNextDownlinkFCntForDevEUIRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetNextDownlinkFCntForDevEUIRequest.Unmarshal(m, b)
}
func (m *GetNextDownlinkFCntForDevEUIRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetNextDownlinkFCntForDevEUIRequest.Marshal(b, m, deterministic)
}
func (m *GetNextDownlinkFCntForDevEUIRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetNextDownlinkFCntForDevEUIRequest.Merge(m, src)
}
func (m *GetNextDownlinkFCntForDevEUIRequest) XXX_Size() int {
	return xxx_messageInfo_GetNextDownlinkFCntForDevEUIRequest.Size(m)
}
func (m *GetNextDownlinkFCntForDevEUIRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetNextDownlinkFCntForDevEUIRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetNextDownlinkFCntForDevEUIRequest proto.InternalMessageInfo

func (m *GetNextDownlinkFCntForDevEUIRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

type GetNextDownlinkFCntForDevEUIResponse struct {
	// The frame-counter to use.
	FCnt                 uint32   `protobuf:"varint,1,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetNextDownlinkFCntForDevEUIResponse) Reset()         { *m = GetNextDownlinkFCntForDevEUIResponse{} }
func (m *GetNextDownlinkFCntForDevEUIResponse) String() string { return proto.CompactTextString(m) }
func (*GetNextDownlinkFCntForDevEUIResponse) ProtoMessage()    {}
func (*GetNextDownlinkFCntForDevEUIResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{50}
}

func (m *GetNextDownlinkFCntForDevEUIResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetNextDownlinkFCntForDevEUIResponse.Unmarshal(m, b)
}
func (m *GetNextDownlinkFCntForDevEUIResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetNextDownlinkFCntForDevEUIResponse.Marshal(b, m, deterministic)
}
func (m *GetNextDownlinkFCntForDevEUIResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetNextDownlinkFCntForDevEUIResponse.Merge(m, src)
}
func (m *GetNextDownlinkFCntForDevEUIResponse) XXX_Size() int {
	return xxx_messageInfo_GetNextDownlinkFCntForDevEUIResponse.Size(m)
}
func (m *GetNextDownlinkFCntForDevEUIResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetNextDownlinkFCntForDevEUIResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetNextDownlinkFCntForDevEUIResponse proto.InternalMessageInfo

func (m *GetNextDownlinkFCntForDevEUIResponse) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

type UplinkFrameLog struct {
	// PHYPayload.
	PhyPayload []byte `protobuf:"bytes,1,opt,name=phy_payload,json=phyPayload,proto3" json:"phy_payload,omitempty"`
	// TX meta-data.
	TxInfo *gw.UplinkTXInfo `protobuf:"bytes,2,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
	// RX meta-data.
	RxInfo []*gw.UplinkRXInfo `protobuf:"bytes,3,rep,name=rx_info,json=rxInfo,proto3" json:"rx_info,omitempty"`
	// Message type.
	MType common.MType `protobuf:"varint,4,opt,name=m_type,json=mType,proto3,enum=common.MType" json:"m_type,omitempty"`
	// Device address (optional).
	DevAddr []byte `protobuf:"bytes,5,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	// Device EUI (optional).
	DevEui []byte `protobuf:"bytes,6,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Published at timestamp.
	PublishedAt          *timestamp.Timestamp `protobuf:"bytes,7,opt,name=published_at,json=publishedAt,proto3" json:"published_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *UplinkFrameLog) Reset()         { *m = UplinkFrameLog{} }
func (m *UplinkFrameLog) String() string { return proto.CompactTextString(m) }
func (*UplinkFrameLog) ProtoMessage()    {}
func (*UplinkFrameLog) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{51}
}

func (m *UplinkFrameLog) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UplinkFrameLog.Unmarshal(m, b)
}
func (m *UplinkFrameLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UplinkFrameLog.Marshal(b, m, deterministic)
}
func (m *UplinkFrameLog) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UplinkFrameLog.Merge(m, src)
}
func (m *UplinkFrameLog) XXX_Size() int {
	return xxx_messageInfo_UplinkFrameLog.Size(m)
}
func (m *UplinkFrameLog) XXX_DiscardUnknown() {
	xxx_messageInfo_UplinkFrameLog.DiscardUnknown(m)
}

var xxx_messageInfo_UplinkFrameLog proto.InternalMessageInfo

func (m *UplinkFrameLog) GetPhyPayload() []byte {
	if m != nil {
		return m.PhyPayload
	}
	return nil
}

func (m *UplinkFrameLog) GetTxInfo() *gw.UplinkTXInfo {
	if m != nil {
		return m.TxInfo
	}
	return nil
}

func (m *UplinkFrameLog) GetRxInfo() []*gw.UplinkRXInfo {
	if m != nil {
		return m.RxInfo
	}
	return nil
}

func (m *UplinkFrameLog) GetMType() common.MType {
	if m != nil {
		return m.MType
	}
	return common.MType_JoinRequest
}

func (m *UplinkFrameLog) GetDevAddr() []byte {
	if m != nil {
		return m.DevAddr
	}
	return nil
}

func (m *UplinkFrameLog) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *UplinkFrameLog) GetPublishedAt() *timestamp.Timestamp {
	if m != nil {
		return m.PublishedAt
	}
	return nil
}

type DownlinkFrameLog struct {
	// PHYPayload.
	PhyPayload []byte `protobuf:"bytes,1,opt,name=phy_payload,json=phyPayload,proto3" json:"phy_payload,omitempty"`
	// TX meta-data.
	TxInfo *gw.DownlinkTXInfo `protobuf:"bytes,2,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
	// Token (uint16 value).
	// Deprecated: replaced by downlink_id.
	Token uint32 `protobuf:"varint,3,opt,name=token,proto3" json:"token,omitempty"`
	// Downlink ID (UUID).
	DownlinkId []byte `protobuf:"bytes,4,opt,name=downlink_id,json=downlinkID,proto3" json:"downlink_id,omitempty"`
	// Gateway ID.
	GatewayId []byte `protobuf:"bytes,5,opt,name=gateway_id,json=gatewayID,proto3" json:"gateway_id,omitempty"`
	// Message type.
	MType common.MType `protobuf:"varint,6,opt,name=m_type,json=mType,proto3,enum=common.MType" json:"m_type,omitempty"`
	// Device address (optional).
	DevAddr []byte `protobuf:"bytes,7,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	// Device EUI (optional).
	DevEui []byte `protobuf:"bytes,8,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Published at timestamp.
	PublishedAt          *timestamp.Timestamp `protobuf:"bytes,9,opt,name=published_at,json=publishedAt,proto3" json:"published_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *DownlinkFrameLog) Reset()         { *m = DownlinkFrameLog{} }
func (m *DownlinkFrameLog) String() string { return proto.CompactTextString(m) }
func (*DownlinkFrameLog) ProtoMessage()    {}
func (*DownlinkFrameLog) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{52}
}

func (m *DownlinkFrameLog) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DownlinkFrameLog.Unmarshal(m, b)
}
func (m *DownlinkFrameLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DownlinkFrameLog.Marshal(b, m, deterministic)
}
func (m *DownlinkFrameLog) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DownlinkFrameLog.Merge(m, src)
}
func (m *DownlinkFrameLog) XXX_Size() int {
	return xxx_messageInfo_DownlinkFrameLog.Size(m)
}
func (m *DownlinkFrameLog) XXX_DiscardUnknown() {
	xxx_messageInfo_DownlinkFrameLog.DiscardUnknown(m)
}

var xxx_messageInfo_DownlinkFrameLog proto.InternalMessageInfo

func (m *DownlinkFrameLog) GetPhyPayload() []byte {
	if m != nil {
		return m.PhyPayload
	}
	return nil
}

func (m *DownlinkFrameLog) GetTxInfo() *gw.DownlinkTXInfo {
	if m != nil {
		return m.TxInfo
	}
	return nil
}

func (m *DownlinkFrameLog) GetToken() uint32 {
	if m != nil {
		return m.Token
	}
	return 0
}

func (m *DownlinkFrameLog) GetDownlinkId() []byte {
	if m != nil {
		return m.DownlinkId
	}
	return nil
}

func (m *DownlinkFrameLog) GetGatewayId() []byte {
	if m != nil {
		return m.GatewayId
	}
	return nil
}

func (m *DownlinkFrameLog) GetMType() common.MType {
	if m != nil {
		return m.MType
	}
	return common.MType_JoinRequest
}

func (m *DownlinkFrameLog) GetDevAddr() []byte {
	if m != nil {
		return m.DevAddr
	}
	return nil
}

func (m *DownlinkFrameLog) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *DownlinkFrameLog) GetPublishedAt() *timestamp.Timestamp {
	if m != nil {
		return m.PublishedAt
	}
	return nil
}

type StreamFrameLogsForGatewayRequest struct {
	// MAC address of the gateway.
	GatewayId            []byte   `protobuf:"bytes,1,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StreamFrameLogsForGatewayRequest) Reset()         { *m = StreamFrameLogsForGatewayRequest{} }
func (m *StreamFrameLogsForGatewayRequest) String() string { return proto.CompactTextString(m) }
func (*StreamFrameLogsForGatewayRequest) ProtoMessage()    {}
func (*StreamFrameLogsForGatewayRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{53}
}

func (m *StreamFrameLogsForGatewayRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StreamFrameLogsForGatewayRequest.Unmarshal(m, b)
}
func (m *StreamFrameLogsForGatewayRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StreamFrameLogsForGatewayRequest.Marshal(b, m, deterministic)
}
func (m *StreamFrameLogsForGatewayRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StreamFrameLogsForGatewayRequest.Merge(m, src)
}
func (m *StreamFrameLogsForGatewayRequest) XXX_Size() int {
	return xxx_messageInfo_StreamFrameLogsForGatewayRequest.Size(m)
}
func (m *StreamFrameLogsForGatewayRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_StreamFrameLogsForGatewayRequest.DiscardUnknown(m)
}

var xxx_messageInfo_StreamFrameLogsForGatewayRequest proto.InternalMessageInfo

func (m *StreamFrameLogsForGatewayRequest) GetGatewayId() []byte {
	if m != nil {
		return m.GatewayId
	}
	return nil
}

type StreamFrameLogsForGatewayResponse struct {
	// Types that are valid to be assigned to Frame:
	//	*StreamFrameLogsForGatewayResponse_UplinkFrameSet
	//	*StreamFrameLogsForGatewayResponse_DownlinkFrame
	Frame                isStreamFrameLogsForGatewayResponse_Frame `protobuf_oneof:"frame"`
	XXX_NoUnkeyedLiteral struct{}                                  `json:"-"`
	XXX_unrecognized     []byte                                    `json:"-"`
	XXX_sizecache        int32                                     `json:"-"`
}

func (m *StreamFrameLogsForGatewayResponse) Reset()         { *m = StreamFrameLogsForGatewayResponse{} }
func (m *StreamFrameLogsForGatewayResponse) String() string { return proto.CompactTextString(m) }
func (*StreamFrameLogsForGatewayResponse) ProtoMessage()    {}
func (*StreamFrameLogsForGatewayResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{54}
}

func (m *StreamFrameLogsForGatewayResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StreamFrameLogsForGatewayResponse.Unmarshal(m, b)
}
func (m *StreamFrameLogsForGatewayResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StreamFrameLogsForGatewayResponse.Marshal(b, m, deterministic)
}
func (m *StreamFrameLogsForGatewayResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StreamFrameLogsForGatewayResponse.Merge(m, src)
}
func (m *StreamFrameLogsForGatewayResponse) XXX_Size() int {
	return xxx_messageInfo_StreamFrameLogsForGatewayResponse.Size(m)
}
func (m *StreamFrameLogsForGatewayResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_StreamFrameLogsForGatewayResponse.DiscardUnknown(m)
}

var xxx_messageInfo_StreamFrameLogsForGatewayResponse proto.InternalMessageInfo

type isStreamFrameLogsForGatewayResponse_Frame interface {
	isStreamFrameLogsForGatewayResponse_Frame()
}

type StreamFrameLogsForGatewayResponse_UplinkFrameSet struct {
	UplinkFrameSet *UplinkFrameLog `protobuf:"bytes,1,opt,name=uplink_frame_set,json=uplinkFrameSet,proto3,oneof"`
}

type StreamFrameLogsForGatewayResponse_DownlinkFrame struct {
	DownlinkFrame *DownlinkFrameLog `protobuf:"bytes,2,opt,name=downlink_frame,json=downlinkFrame,proto3,oneof"`
}

func (*StreamFrameLogsForGatewayResponse_UplinkFrameSet) isStreamFrameLogsForGatewayResponse_Frame() {
}

func (*StreamFrameLogsForGatewayResponse_DownlinkFrame) isStreamFrameLogsForGatewayResponse_Frame() {}

func (m *StreamFrameLogsForGatewayResponse) GetFrame() isStreamFrameLogsForGatewayResponse_Frame {
	if m != nil {
		return m.Frame
	}
	return nil
}

func (m *StreamFrameLogsForGatewayResponse) GetUplinkFrameSet() *UplinkFrameLog {
	if x, ok := m.GetFrame().(*StreamFrameLogsForGatewayResponse_UplinkFrameSet); ok {
		return x.UplinkFrameSet
	}
	return nil
}

func (m *StreamFrameLogsForGatewayResponse) GetDownlinkFrame() *DownlinkFrameLog {
	if x, ok := m.GetFrame().(*StreamFrameLogsForGatewayResponse_DownlinkFrame); ok {
		return x.DownlinkFrame
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*StreamFrameLogsForGatewayResponse) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*StreamFrameLogsForGatewayResponse_UplinkFrameSet)(nil),
		(*StreamFrameLogsForGatewayResponse_DownlinkFrame)(nil),
	}
}

type StreamFrameLogsForDeviceRequest struct {
	// DevEUI of the device.
	DevEui               []byte   `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StreamFrameLogsForDeviceRequest) Reset()         { *m = StreamFrameLogsForDeviceRequest{} }
func (m *StreamFrameLogsForDeviceRequest) String() string { return proto.CompactTextString(m) }
func (*StreamFrameLogsForDeviceRequest) ProtoMessage()    {}
func (*StreamFrameLogsForDeviceRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{55}
}

func (m *StreamFrameLogsForDeviceRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StreamFrameLogsForDeviceRequest.Unmarshal(m, b)
}
func (m *StreamFrameLogsForDeviceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StreamFrameLogsForDeviceRequest.Marshal(b, m, deterministic)
}
func (m *StreamFrameLogsForDeviceRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StreamFrameLogsForDeviceRequest.Merge(m, src)
}
func (m *StreamFrameLogsForDeviceRequest) XXX_Size() int {
	return xxx_messageInfo_StreamFrameLogsForDeviceRequest.Size(m)
}
func (m *StreamFrameLogsForDeviceRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_StreamFrameLogsForDeviceRequest.DiscardUnknown(m)
}

var xxx_messageInfo_StreamFrameLogsForDeviceRequest proto.InternalMessageInfo

func (m *StreamFrameLogsForDeviceRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

type StreamFrameLogsForDeviceResponse struct {
	// Types that are valid to be assigned to Frame:
	//	*StreamFrameLogsForDeviceResponse_UplinkFrameSet
	//	*StreamFrameLogsForDeviceResponse_DownlinkFrame
	Frame                isStreamFrameLogsForDeviceResponse_Frame `protobuf_oneof:"frame"`
	XXX_NoUnkeyedLiteral struct{}                                 `json:"-"`
	XXX_unrecognized     []byte                                   `json:"-"`
	XXX_sizecache        int32                                    `json:"-"`
}

func (m *StreamFrameLogsForDeviceResponse) Reset()         { *m = StreamFrameLogsForDeviceResponse{} }
func (m *StreamFrameLogsForDeviceResponse) String() string { return proto.CompactTextString(m) }
func (*StreamFrameLogsForDeviceResponse) ProtoMessage()    {}
func (*StreamFrameLogsForDeviceResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{56}
}

func (m *StreamFrameLogsForDeviceResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StreamFrameLogsForDeviceResponse.Unmarshal(m, b)
}
func (m *StreamFrameLogsForDeviceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StreamFrameLogsForDeviceResponse.Marshal(b, m, deterministic)
}
func (m *StreamFrameLogsForDeviceResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StreamFrameLogsForDeviceResponse.Merge(m, src)
}
func (m *StreamFrameLogsForDeviceResponse) XXX_Size() int {
	return xxx_messageInfo_StreamFrameLogsForDeviceResponse.Size(m)
}
func (m *StreamFrameLogsForDeviceResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_StreamFrameLogsForDeviceResponse.DiscardUnknown(m)
}

var xxx_messageInfo_StreamFrameLogsForDeviceResponse proto.InternalMessageInfo

type isStreamFrameLogsForDeviceResponse_Frame interface {
	isStreamFrameLogsForDeviceResponse_Frame()
}

type StreamFrameLogsForDeviceResponse_UplinkFrameSet struct {
	UplinkFrameSet *UplinkFrameLog `protobuf:"bytes,1,opt,name=uplink_frame_set,json=uplinkFrameSet,proto3,oneof"`
}

type StreamFrameLogsForDeviceResponse_DownlinkFrame struct {
	DownlinkFrame *DownlinkFrameLog `protobuf:"bytes,2,opt,name=downlink_frame,json=downlinkFrame,proto3,oneof"`
}

func (*StreamFrameLogsForDeviceResponse_UplinkFrameSet) isStreamFrameLogsForDeviceResponse_Frame() {}

func (*StreamFrameLogsForDeviceResponse_DownlinkFrame) isStreamFrameLogsForDeviceResponse_Frame() {}

func (m *StreamFrameLogsForDeviceResponse) GetFrame() isStreamFrameLogsForDeviceResponse_Frame {
	if m != nil {
		return m.Frame
	}
	return nil
}

func (m *StreamFrameLogsForDeviceResponse) GetUplinkFrameSet() *UplinkFrameLog {
	if x, ok := m.GetFrame().(*StreamFrameLogsForDeviceResponse_UplinkFrameSet); ok {
		return x.UplinkFrameSet
	}
	return nil
}

func (m *StreamFrameLogsForDeviceResponse) GetDownlinkFrame() *DownlinkFrameLog {
	if x, ok := m.GetFrame().(*StreamFrameLogsForDeviceResponse_DownlinkFrame); ok {
		return x.DownlinkFrame
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*StreamFrameLogsForDeviceResponse) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*StreamFrameLogsForDeviceResponse_UplinkFrameSet)(nil),
		(*StreamFrameLogsForDeviceResponse_DownlinkFrame)(nil),
	}
}

type GetVersionResponse struct {
	// ChirpStack Network Server version.
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	// Region configured for this network-server.
	Region               common.Region `protobuf:"varint,2,opt,name=region,proto3,enum=common.Region" json:"region,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *GetVersionResponse) Reset()         { *m = GetVersionResponse{} }
func (m *GetVersionResponse) String() string { return proto.CompactTextString(m) }
func (*GetVersionResponse) ProtoMessage()    {}
func (*GetVersionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{57}
}

func (m *GetVersionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetVersionResponse.Unmarshal(m, b)
}
func (m *GetVersionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetVersionResponse.Marshal(b, m, deterministic)
}
func (m *GetVersionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetVersionResponse.Merge(m, src)
}
func (m *GetVersionResponse) XXX_Size() int {
	return xxx_messageInfo_GetVersionResponse.Size(m)
}
func (m *GetVersionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetVersionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetVersionResponse proto.InternalMessageInfo

func (m *GetVersionResponse) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *GetVersionResponse) GetRegion() common.Region {
	if m != nil {
		return m.Region
	}
	return common.Region_EU868
}

type GatewayProfile struct {
	// ID of the gateway-profile.
	Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Default channels (channels specified by the LoRaWAN Regional Parameters
	// specification) enabled for this configuration.
	Channels []uint32 `protobuf:"varint,2,rep,packed,name=channels,proto3" json:"channels,omitempty"`
	// Extra channels added to the channel-configuration (in case the LoRaWAN
	// region supports adding custom channels).
	ExtraChannels []*GatewayProfileExtraChannel `protobuf:"bytes,3,rep,name=extra_channels,json=extraChannels,proto3" json:"extra_channels,omitempty"`
	// Stats interval.
	// This defines the (expected) stats interval which the gateways using this
	// gateway-profile are using.
	StatsInterval        *duration.Duration `protobuf:"bytes,4,opt,name=stats_interval,json=statsInterval,proto3" json:"stats_interval,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *GatewayProfile) Reset()         { *m = GatewayProfile{} }
func (m *GatewayProfile) String() string { return proto.CompactTextString(m) }
func (*GatewayProfile) ProtoMessage()    {}
func (*GatewayProfile) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{58}
}

func (m *GatewayProfile) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GatewayProfile.Unmarshal(m, b)
}
func (m *GatewayProfile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GatewayProfile.Marshal(b, m, deterministic)
}
func (m *GatewayProfile) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GatewayProfile.Merge(m, src)
}
func (m *GatewayProfile) XXX_Size() int {
	return xxx_messageInfo_GatewayProfile.Size(m)
}
func (m *GatewayProfile) XXX_DiscardUnknown() {
	xxx_messageInfo_GatewayProfile.DiscardUnknown(m)
}

var xxx_messageInfo_GatewayProfile proto.InternalMessageInfo

func (m *GatewayProfile) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

func (m *GatewayProfile) GetChannels() []uint32 {
	if m != nil {
		return m.Channels
	}
	return nil
}

func (m *GatewayProfile) GetExtraChannels() []*GatewayProfileExtraChannel {
	if m != nil {
		return m.ExtraChannels
	}
	return nil
}

func (m *GatewayProfile) GetStatsInterval() *duration.Duration {
	if m != nil {
		return m.StatsInterval
	}
	return nil
}

type GatewayProfileExtraChannel struct {
	// Modulation.
	Modulation common.Modulation `protobuf:"varint,1,opt,name=modulation,proto3,enum=common.Modulation" json:"modulation,omitempty"`
	// Frequency.
	Frequency uint32 `protobuf:"varint,2,opt,name=frequency,proto3" json:"frequency,omitempty"`
	// Bandwidth.
	Bandwidth uint32 `protobuf:"varint,3,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
	// Bitrate (in case of FSK modulation).
	Bitrate uint32 `protobuf:"varint,4,opt,name=bitrate,proto3" json:"bitrate,omitempty"`
	// Spreading factors (in case of LoRa modulation).
	SpreadingFactors     []uint32 `protobuf:"varint,5,rep,packed,name=spreading_factors,json=spreadingFactors,proto3" json:"spreading_factors,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GatewayProfileExtraChannel) Reset()         { *m = GatewayProfileExtraChannel{} }
func (m *GatewayProfileExtraChannel) String() string { return proto.CompactTextString(m) }
func (*GatewayProfileExtraChannel) ProtoMessage()    {}
func (*GatewayProfileExtraChannel) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{59}
}

func (m *GatewayProfileExtraChannel) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GatewayProfileExtraChannel.Unmarshal(m, b)
}
func (m *GatewayProfileExtraChannel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GatewayProfileExtraChannel.Marshal(b, m, deterministic)
}
func (m *GatewayProfileExtraChannel) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GatewayProfileExtraChannel.Merge(m, src)
}
func (m *GatewayProfileExtraChannel) XXX_Size() int {
	return xxx_messageInfo_GatewayProfileExtraChannel.Size(m)
}
func (m *GatewayProfileExtraChannel) XXX_DiscardUnknown() {
	xxx_messageInfo_GatewayProfileExtraChannel.DiscardUnknown(m)
}

var xxx_messageInfo_GatewayProfileExtraChannel proto.InternalMessageInfo

func (m *GatewayProfileExtraChannel) GetModulation() common.Modulation {
	if m != nil {
		return m.Modulation
	}
	return common.Modulation_LORA
}

func (m *GatewayProfileExtraChannel) GetFrequency() uint32 {
	if m != nil {
		return m.Frequency
	}
	return 0
}

func (m *GatewayProfileExtraChannel) GetBandwidth() uint32 {
	if m != nil {
		return m.Bandwidth
	}
	return 0
}

func (m *GatewayProfileExtraChannel) GetBitrate() uint32 {
	if m != nil {
		return m.Bitrate
	}
	return 0
}

func (m *GatewayProfileExtraChannel) GetSpreadingFactors() []uint32 {
	if m != nil {
		return m.SpreadingFactors
	}
	return nil
}

type CreateGatewayProfileRequest struct {
	// Gateway-profile object to create.
	GatewayProfile       *GatewayProfile `protobuf:"bytes,1,opt,name=gateway_profile,json=gatewayProfile,proto3" json:"gateway_profile,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CreateGatewayProfileRequest) Reset()         { *m = CreateGatewayProfileRequest{} }
func (m *CreateGatewayProfileRequest) String() string { return proto.CompactTextString(m) }
func (*CreateGatewayProfileRequest) ProtoMessage()    {}
func (*CreateGatewayProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{60}
}

func (m *CreateGatewayProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateGatewayProfileRequest.Unmarshal(m, b)
}
func (m *CreateGatewayProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateGatewayProfileRequest.Marshal(b, m, deterministic)
}
func (m *CreateGatewayProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateGatewayProfileRequest.Merge(m, src)
}
func (m *CreateGatewayProfileRequest) XXX_Size() int {
	return xxx_messageInfo_CreateGatewayProfileRequest.Size(m)
}
func (m *CreateGatewayProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateGatewayProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateGatewayProfileRequest proto.InternalMessageInfo

func (m *CreateGatewayProfileRequest) GetGatewayProfile() *GatewayProfile {
	if m != nil {
		return m.GatewayProfile
	}
	return nil
}

type CreateGatewayProfileResponse struct {
	// ID of the create configuration object.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateGatewayProfileResponse) Reset()         { *m = CreateGatewayProfileResponse{} }
func (m *CreateGatewayProfileResponse) String() string { return proto.CompactTextString(m) }
func (*CreateGatewayProfileResponse) ProtoMessage()    {}
func (*CreateGatewayProfileResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{61}
}

func (m *CreateGatewayProfileResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateGatewayProfileResponse.Unmarshal(m, b)
}
func (m *CreateGatewayProfileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateGatewayProfileResponse.Marshal(b, m, deterministic)
}
func (m *CreateGatewayProfileResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateGatewayProfileResponse.Merge(m, src)
}
func (m *CreateGatewayProfileResponse) XXX_Size() int {
	return xxx_messageInfo_CreateGatewayProfileResponse.Size(m)
}
func (m *CreateGatewayProfileResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateGatewayProfileResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CreateGatewayProfileResponse proto.InternalMessageInfo

func (m *CreateGatewayProfileResponse) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetGatewayProfileRequest struct {
	// Gateway-profile ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetGatewayProfileRequest) Reset()         { *m = GetGatewayProfileRequest{} }
func (m *GetGatewayProfileRequest) String() string { return proto.CompactTextString(m) }
func (*GetGatewayProfileRequest) ProtoMessage()    {}
func (*GetGatewayProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{62}
}

func (m *GetGatewayProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetGatewayProfileRequest.Unmarshal(m, b)
}
func (m *GetGatewayProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetGatewayProfileRequest.Marshal(b, m, deterministic)
}
func (m *GetGatewayProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetGatewayProfileRequest.Merge(m, src)
}
func (m *GetGatewayProfileRequest) XXX_Size() int {
	return xxx_messageInfo_GetGatewayProfileRequest.Size(m)
}
func (m *GetGatewayProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetGatewayProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetGatewayProfileRequest proto.InternalMessageInfo

func (m *GetGatewayProfileRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetGatewayProfileResponse struct {
	// Gateway-profile object.
	GatewayProfile *GatewayProfile `protobuf:"bytes,1,opt,name=gateway_profile,json=gatewayProfile,proto3" json:"gateway_profile,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt            *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GetGatewayProfileResponse) Reset()         { *m = GetGatewayProfileResponse{} }
func (m *GetGatewayProfileResponse) String() string { return proto.CompactTextString(m) }
func (*GetGatewayProfileResponse) ProtoMessage()    {}
func (*GetGatewayProfileResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{63}
}

func (m *GetGatewayProfileResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetGatewayProfileResponse.Unmarshal(m, b)
}
func (m *GetGatewayProfileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetGatewayProfileResponse.Marshal(b, m, deterministic)
}
func (m *GetGatewayProfileResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetGatewayProfileResponse.Merge(m, src)
}
func (m *GetGatewayProfileResponse) XXX_Size() int {
	return xxx_messageInfo_GetGatewayProfileResponse.Size(m)
}
func (m *GetGatewayProfileResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetGatewayProfileResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetGatewayProfileResponse proto.InternalMessageInfo

func (m *GetGatewayProfileResponse) GetGatewayProfile() *GatewayProfile {
	if m != nil {
		return m.GatewayProfile
	}
	return nil
}

func (m *GetGatewayProfileResponse) GetCreatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.CreatedAt
	}
	return nil
}

func (m *GetGatewayProfileResponse) GetUpdatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.UpdatedAt
	}
	return nil
}

type UpdateGatewayProfileRequest struct {
	// Gateway-profile object to update.
	GatewayProfile       *GatewayProfile `protobuf:"bytes,1,opt,name=gateway_profile,json=gatewayProfile,proto3" json:"gateway_profile,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *UpdateGatewayProfileRequest) Reset()         { *m = UpdateGatewayProfileRequest{} }
func (m *UpdateGatewayProfileRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateGatewayProfileRequest) ProtoMessage()    {}
func (*UpdateGatewayProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{64}
}

func (m *UpdateGatewayProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateGatewayProfileRequest.Unmarshal(m, b)
}
func (m *UpdateGatewayProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateGatewayProfileRequest.Marshal(b, m, deterministic)
}
func (m *UpdateGatewayProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateGatewayProfileRequest.Merge(m, src)
}
func (m *UpdateGatewayProfileRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateGatewayProfileRequest.Size(m)
}
func (m *UpdateGatewayProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateGatewayProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateGatewayProfileRequest proto.InternalMessageInfo

func (m *UpdateGatewayProfileRequest) GetGatewayProfile() *GatewayProfile {
	if m != nil {
		return m.GatewayProfile
	}
	return nil
}

type DeleteGatewayProfileRequest struct {
	// Gateway-profile ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteGatewayProfileRequest) Reset()         { *m = DeleteGatewayProfileRequest{} }
func (m *DeleteGatewayProfileRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteGatewayProfileRequest) ProtoMessage()    {}
func (*DeleteGatewayProfileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{65}
}

func (m *DeleteGatewayProfileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteGatewayProfileRequest.Unmarshal(m, b)
}
func (m *DeleteGatewayProfileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteGatewayProfileRequest.Marshal(b, m, deterministic)
}
func (m *DeleteGatewayProfileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteGatewayProfileRequest.Merge(m, src)
}
func (m *DeleteGatewayProfileRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteGatewayProfileRequest.Size(m)
}
func (m *DeleteGatewayProfileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteGatewayProfileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteGatewayProfileRequest proto.InternalMessageInfo

func (m *DeleteGatewayProfileRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type MulticastGroup struct {
	// Multicast-group ID.
	// Note: this can be set on create. When left blank, a random ID will
	// be generated.
	Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Multicast Address for this group.
	McAddr []byte `protobuf:"bytes,2,opt,name=mc_addr,json=mcAddr,proto3" json:"mc_addr,omitempty"`
	// Multicast network session key.
	McNwkSKey []byte `protobuf:"bytes,3,opt,name=mc_nwk_s_key,json=mcNwkSKey,proto3" json:"mc_nwk_s_key,omitempty"`
	// Frame-counter (downlink).
	FCnt uint32 `protobuf:"varint,4,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	// Multicast-group type (Class-B or Class-C).
	GroupType MulticastGroupType `protobuf:"varint,5,opt,name=group_type,json=groupType,proto3,enum=ns.MulticastGroupType" json:"group_type,omitempty"`
	// Data-rate.
	Dr uint32 `protobuf:"varint,6,opt,name=dr,proto3" json:"dr,omitempty"`
	// Frequency (Hz).
	Frequency uint32 `protobuf:"varint,7,opt,name=frequency,proto3" json:"frequency,omitempty"`
	// Ping-slot period.
	// Mandatory for Class-B multicast groups.
	PingSlotPeriod uint32 `protobuf:"varint,8,opt,name=ping_slot_period,json=pingSlotPeriod,proto3" json:"ping_slot_period,omitempty"`
	// Service-profile ID.
	ServiceProfileId []byte `protobuf:"bytes,9,opt,name=service_profile_id,json=serviceProfileId,proto3" json:"service_profile_id,omitempty"`
	// Routing-profile ID.
	RoutingProfileId     []byte   `protobuf:"bytes,10,opt,name=routing_profile_id,json=routingProfileId,proto3" json:"routing_profile_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MulticastGroup) Reset()         { *m = MulticastGroup{} }
func (m *MulticastGroup) String() string { return proto.CompactTextString(m) }
func (*MulticastGroup) ProtoMessage()    {}
func (*MulticastGroup) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{66}
}

func (m *MulticastGroup) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MulticastGroup.Unmarshal(m, b)
}
func (m *MulticastGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MulticastGroup.Marshal(b, m, deterministic)
}
func (m *MulticastGroup) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MulticastGroup.Merge(m, src)
}
func (m *MulticastGroup) XXX_Size() int {
	return xxx_messageInfo_MulticastGroup.Size(m)
}
func (m *MulticastGroup) XXX_DiscardUnknown() {
	xxx_messageInfo_MulticastGroup.DiscardUnknown(m)
}

var xxx_messageInfo_MulticastGroup proto.InternalMessageInfo

func (m *MulticastGroup) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

func (m *MulticastGroup) GetMcAddr() []byte {
	if m != nil {
		return m.McAddr
	}
	return nil
}

func (m *MulticastGroup) GetMcNwkSKey() []byte {
	if m != nil {
		return m.McNwkSKey
	}
	return nil
}

func (m *MulticastGroup) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

func (m *MulticastGroup) GetGroupType() MulticastGroupType {
	if m != nil {
		return m.GroupType
	}
	return MulticastGroupType_CLASS_C
}

func (m *MulticastGroup) GetDr() uint32 {
	if m != nil {
		return m.Dr
	}
	return 0
}

func (m *MulticastGroup) GetFrequency() uint32 {
	if m != nil {
		return m.Frequency
	}
	return 0
}

func (m *MulticastGroup) GetPingSlotPeriod() uint32 {
	if m != nil {
		return m.PingSlotPeriod
	}
	return 0
}

func (m *MulticastGroup) GetServiceProfileId() []byte {
	if m != nil {
		return m.ServiceProfileId
	}
	return nil
}

func (m *MulticastGroup) GetRoutingProfileId() []byte {
	if m != nil {
		return m.RoutingProfileId
	}
	return nil
}

type CreateMulticastGroupRequest struct {
	// Multicast-group to create.
	MulticastGroup       *MulticastGroup `protobuf:"bytes,1,opt,name=multicast_group,json=multicastGroup,proto3" json:"multicast_group,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CreateMulticastGroupRequest) Reset()         { *m = CreateMulticastGroupRequest{} }
func (m *CreateMulticastGroupRequest) String() string { return proto.CompactTextString(m) }
func (*CreateMulticastGroupRequest) ProtoMessage()    {}
func (*CreateMulticastGroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{67}
}

func (m *CreateMulticastGroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateMulticastGroupRequest.Unmarshal(m, b)
}
func (m *CreateMulticastGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateMulticastGroupRequest.Marshal(b, m, deterministic)
}
func (m *CreateMulticastGroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateMulticastGroupRequest.Merge(m, src)
}
func (m *CreateMulticastGroupRequest) XXX_Size() int {
	return xxx_messageInfo_CreateMulticastGroupRequest.Size(m)
}
func (m *CreateMulticastGroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateMulticastGroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateMulticastGroupRequest proto.InternalMessageInfo

func (m *CreateMulticastGroupRequest) GetMulticastGroup() *MulticastGroup {
	if m != nil {
		return m.MulticastGroup
	}
	return nil
}

type CreateMulticastGroupResponse struct {
	// Multicast-group ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateMulticastGroupResponse) Reset()         { *m = CreateMulticastGroupResponse{} }
func (m *CreateMulticastGroupResponse) String() string { return proto.CompactTextString(m) }
func (*CreateMulticastGroupResponse) ProtoMessage()    {}
func (*CreateMulticastGroupResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{68}
}

func (m *CreateMulticastGroupResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateMulticastGroupResponse.Unmarshal(m, b)
}
func (m *CreateMulticastGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateMulticastGroupResponse.Marshal(b, m, deterministic)
}
func (m *CreateMulticastGroupResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateMulticastGroupResponse.Merge(m, src)
}
func (m *CreateMulticastGroupResponse) XXX_Size() int {
	return xxx_messageInfo_CreateMulticastGroupResponse.Size(m)
}
func (m *CreateMulticastGroupResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateMulticastGroupResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CreateMulticastGroupResponse proto.InternalMessageInfo

func (m *CreateMulticastGroupResponse) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetMulticastGroupRequest struct {
	// Multicast-group ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetMulticastGroupRequest) Reset()         { *m = GetMulticastGroupRequest{} }
func (m *GetMulticastGroupRequest) String() string { return proto.CompactTextString(m) }
func (*GetMulticastGroupRequest) ProtoMessage()    {}
func (*GetMulticastGroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{69}
}

func (m *GetMulticastGroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetMulticastGroupRequest.Unmarshal(m, b)
}
func (m *GetMulticastGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetMulticastGroupRequest.Marshal(b, m, deterministic)
}
func (m *GetMulticastGroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetMulticastGroupRequest.Merge(m, src)
}
func (m *GetMulticastGroupRequest) XXX_Size() int {
	return xxx_messageInfo_GetMulticastGroupRequest.Size(m)
}
func (m *GetMulticastGroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetMulticastGroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetMulticastGroupRequest proto.InternalMessageInfo

func (m *GetMulticastGroupRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type GetMulticastGroupResponse struct {
	// Multicast-group.
	MulticastGroup *MulticastGroup `protobuf:"bytes,1,opt,name=multicast_group,json=multicastGroup,proto3" json:"multicast_group,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt            *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GetMulticastGroupResponse) Reset()         { *m = GetMulticastGroupResponse{} }
func (m *GetMulticastGroupResponse) String() string { return proto.CompactTextString(m) }
func (*GetMulticastGroupResponse) ProtoMessage()    {}
func (*GetMulticastGroupResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{70}
}

func (m *GetMulticastGroupResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetMulticastGroupResponse.Unmarshal(m, b)
}
func (m *GetMulticastGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetMulticastGroupResponse.Marshal(b, m, deterministic)
}
func (m *GetMulticastGroupResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetMulticastGroupResponse.Merge(m, src)
}
func (m *GetMulticastGroupResponse) XXX_Size() int {
	return xxx_messageInfo_GetMulticastGroupResponse.Size(m)
}
func (m *GetMulticastGroupResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetMulticastGroupResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetMulticastGroupResponse proto.InternalMessageInfo

func (m *GetMulticastGroupResponse) GetMulticastGroup() *MulticastGroup {
	if m != nil {
		return m.MulticastGroup
	}
	return nil
}

func (m *GetMulticastGroupResponse) GetCreatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.CreatedAt
	}
	return nil
}

func (m *GetMulticastGroupResponse) GetUpdatedAt() *timestamp.Timestamp {
	if m != nil {
		return m.UpdatedAt
	}
	return nil
}

type UpdateMulticastGroupRequest struct {
	// Multicast-group to update.
	MulticastGroup       *MulticastGroup `protobuf:"bytes,1,opt,name=multicast_group,json=multicastGroup,proto3" json:"multicast_group,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *UpdateMulticastGroupRequest) Reset()         { *m = UpdateMulticastGroupRequest{} }
func (m *UpdateMulticastGroupRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateMulticastGroupRequest) ProtoMessage()    {}
func (*UpdateMulticastGroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{71}
}

func (m *UpdateMulticastGroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateMulticastGroupRequest.Unmarshal(m, b)
}
func (m *UpdateMulticastGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateMulticastGroupRequest.Marshal(b, m, deterministic)
}
func (m *UpdateMulticastGroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateMulticastGroupRequest.Merge(m, src)
}
func (m *UpdateMulticastGroupRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateMulticastGroupRequest.Size(m)
}
func (m *UpdateMulticastGroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateMulticastGroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateMulticastGroupRequest proto.InternalMessageInfo

func (m *UpdateMulticastGroupRequest) GetMulticastGroup() *MulticastGroup {
	if m != nil {
		return m.MulticastGroup
	}
	return nil
}

type DeleteMulticastGroupRequest struct {
	// Multicast-group ID.
	Id                   []byte   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteMulticastGroupRequest) Reset()         { *m = DeleteMulticastGroupRequest{} }
func (m *DeleteMulticastGroupRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteMulticastGroupRequest) ProtoMessage()    {}
func (*DeleteMulticastGroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{72}
}

func (m *DeleteMulticastGroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteMulticastGroupRequest.Unmarshal(m, b)
}
func (m *DeleteMulticastGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteMulticastGroupRequest.Marshal(b, m, deterministic)
}
func (m *DeleteMulticastGroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteMulticastGroupRequest.Merge(m, src)
}
func (m *DeleteMulticastGroupRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteMulticastGroupRequest.Size(m)
}
func (m *DeleteMulticastGroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteMulticastGroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteMulticastGroupRequest proto.InternalMessageInfo

func (m *DeleteMulticastGroupRequest) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type AddDeviceToMulticastGroupRequest struct {
	// Device EUI.
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Multicast-group ID.
	MulticastGroupId     []byte   `protobuf:"bytes,2,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddDeviceToMulticastGroupRequest) Reset()         { *m = AddDeviceToMulticastGroupRequest{} }
func (m *AddDeviceToMulticastGroupRequest) String() string { return proto.CompactTextString(m) }
func (*AddDeviceToMulticastGroupRequest) ProtoMessage()    {}
func (*AddDeviceToMulticastGroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{73}
}

func (m *AddDeviceToMulticastGroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddDeviceToMulticastGroupRequest.Unmarshal(m, b)
}
func (m *AddDeviceToMulticastGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddDeviceToMulticastGroupRequest.Marshal(b, m, deterministic)
}
func (m *AddDeviceToMulticastGroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddDeviceToMulticastGroupRequest.Merge(m, src)
}
func (m *AddDeviceToMulticastGroupRequest) XXX_Size() int {
	return xxx_messageInfo_AddDeviceToMulticastGroupRequest.Size(m)
}
func (m *AddDeviceToMulticastGroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_AddDeviceToMulticastGroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_AddDeviceToMulticastGroupRequest proto.InternalMessageInfo

func (m *AddDeviceToMulticastGroupRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *AddDeviceToMulticastGroupRequest) GetMulticastGroupId() []byte {
	if m != nil {
		return m.MulticastGroupId
	}
	return nil
}

type RemoveDeviceFromMulticastGroupRequest struct {
	// Device EUI.
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Multicast-group ID.
	MulticastGroupId     []byte   `protobuf:"bytes,2,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RemoveDeviceFromMulticastGroupRequest) Reset()         { *m = RemoveDeviceFromMulticastGroupRequest{} }
func (m *RemoveDeviceFromMulticastGroupRequest) String() string { return proto.CompactTextString(m) }
func (*RemoveDeviceFromMulticastGroupRequest) ProtoMessage()    {}
func (*RemoveDeviceFromMulticastGroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{74}
}

func (m *RemoveDeviceFromMulticastGroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RemoveDeviceFromMulticastGroupRequest.Unmarshal(m, b)
}
func (m *RemoveDeviceFromMulticastGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RemoveDeviceFromMulticastGroupRequest.Marshal(b, m, deterministic)
}
func (m *RemoveDeviceFromMulticastGroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RemoveDeviceFromMulticastGroupRequest.Merge(m, src)
}
func (m *RemoveDeviceFromMulticastGroupRequest) XXX_Size() int {
	return xxx_messageInfo_RemoveDeviceFromMulticastGroupRequest.Size(m)
}
func (m *RemoveDeviceFromMulticastGroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_RemoveDeviceFromMulticastGroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_RemoveDeviceFromMulticastGroupRequest proto.InternalMessageInfo

func (m *RemoveDeviceFromMulticastGroupRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *RemoveDeviceFromMulticastGroupRequest) GetMulticastGroupId() []byte {
	if m != nil {
		return m.MulticastGroupId
	}
	return nil
}

type MulticastQueueItem struct {
	// Multicast-group id.
	MulticastGroupId []byte `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
	// Frame-counter of payload.
	FCnt uint32 `protobuf:"varint,2,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	// Frame-port of payload.
	FPort uint32 `protobuf:"varint,3,opt,name=f_port,json=fPort,proto3" json:"f_port,omitempty"`
	// Encrypted FRMPayload bytes.
	FrmPayload           []byte   `protobuf:"bytes,4,opt,name=frm_payload,json=frmPayload,proto3" json:"frm_payload,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MulticastQueueItem) Reset()         { *m = MulticastQueueItem{} }
func (m *MulticastQueueItem) String() string { return proto.CompactTextString(m) }
func (*MulticastQueueItem) ProtoMessage()    {}
func (*MulticastQueueItem) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{75}
}

func (m *MulticastQueueItem) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MulticastQueueItem.Unmarshal(m, b)
}
func (m *MulticastQueueItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MulticastQueueItem.Marshal(b, m, deterministic)
}
func (m *MulticastQueueItem) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MulticastQueueItem.Merge(m, src)
}
func (m *MulticastQueueItem) XXX_Size() int {
	return xxx_messageInfo_MulticastQueueItem.Size(m)
}
func (m *MulticastQueueItem) XXX_DiscardUnknown() {
	xxx_messageInfo_MulticastQueueItem.DiscardUnknown(m)
}

var xxx_messageInfo_MulticastQueueItem proto.InternalMessageInfo

func (m *MulticastQueueItem) GetMulticastGroupId() []byte {
	if m != nil {
		return m.MulticastGroupId
	}
	return nil
}

func (m *MulticastQueueItem) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

func (m *MulticastQueueItem) GetFPort() uint32 {
	if m != nil {
		return m.FPort
	}
	return 0
}

func (m *MulticastQueueItem) GetFrmPayload() []byte {
	if m != nil {
		return m.FrmPayload
	}
	return nil
}

type EnqueueMulticastQueueItemRequest struct {
	MulticastQueueItem   *MulticastQueueItem `protobuf:"bytes,1,opt,name=multicast_queue_item,json=multicastQueueItem,proto3" json:"multicast_queue_item,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *EnqueueMulticastQueueItemRequest) Reset()         { *m = EnqueueMulticastQueueItemRequest{} }
func (m *EnqueueMulticastQueueItemRequest) String() string { return proto.CompactTextString(m) }
func (*EnqueueMulticastQueueItemRequest) ProtoMessage()    {}
func (*EnqueueMulticastQueueItemRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{76}
}

func (m *EnqueueMulticastQueueItemRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EnqueueMulticastQueueItemRequest.Unmarshal(m, b)
}
func (m *EnqueueMulticastQueueItemRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EnqueueMulticastQueueItemRequest.Marshal(b, m, deterministic)
}
func (m *EnqueueMulticastQueueItemRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EnqueueMulticastQueueItemRequest.Merge(m, src)
}
func (m *EnqueueMulticastQueueItemRequest) XXX_Size() int {
	return xxx_messageInfo_EnqueueMulticastQueueItemRequest.Size(m)
}
func (m *EnqueueMulticastQueueItemRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_EnqueueMulticastQueueItemRequest.DiscardUnknown(m)
}

var xxx_messageInfo_EnqueueMulticastQueueItemRequest proto.InternalMessageInfo

func (m *EnqueueMulticastQueueItemRequest) GetMulticastQueueItem() *MulticastQueueItem {
	if m != nil {
		return m.MulticastQueueItem
	}
	return nil
}

type FlushMulticastQueueForMulticastGroupRequest struct {
	// Multicast-group id.
	MulticastGroupId     []byte   `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FlushMulticastQueueForMulticastGroupRequest) Reset() {
	*m = FlushMulticastQueueForMulticastGroupRequest{}
}
func (m *FlushMulticastQueueForMulticastGroupRequest) String() string {
	return proto.CompactTextString(m)
}
func (*FlushMulticastQueueForMulticastGroupRequest) ProtoMessage() {}
func (*FlushMulticastQueueForMulticastGroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{77}
}

func (m *FlushMulticastQueueForMulticastGroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlushMulticastQueueForMulticastGroupRequest.Unmarshal(m, b)
}
func (m *FlushMulticastQueueForMulticastGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlushMulticastQueueForMulticastGroupRequest.Marshal(b, m, deterministic)
}
func (m *FlushMulticastQueueForMulticastGroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlushMulticastQueueForMulticastGroupRequest.Merge(m, src)
}
func (m *FlushMulticastQueueForMulticastGroupRequest) XXX_Size() int {
	return xxx_messageInfo_FlushMulticastQueueForMulticastGroupRequest.Size(m)
}
func (m *FlushMulticastQueueForMulticastGroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_FlushMulticastQueueForMulticastGroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_FlushMulticastQueueForMulticastGroupRequest proto.InternalMessageInfo

func (m *FlushMulticastQueueForMulticastGroupRequest) GetMulticastGroupId() []byte {
	if m != nil {
		return m.MulticastGroupId
	}
	return nil
}

type GetMulticastQueueItemsForMulticastGroupRequest struct {
	// Multicast-group id.
	MulticastGroupId     []byte   `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetMulticastQueueItemsForMulticastGroupRequest) Reset() {
	*m = GetMulticastQueueItemsForMulticastGroupRequest{}
}
func (m *GetMulticastQueueItemsForMulticastGroupRequest) String() string {
	return proto.CompactTextString(m)
}
func (*GetMulticastQueueItemsForMulticastGroupRequest) ProtoMessage() {}
func (*GetMulticastQueueItemsForMulticastGroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{78}
}

func (m *GetMulticastQueueItemsForMulticastGroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupRequest.Unmarshal(m, b)
}
func (m *GetMulticastQueueItemsForMulticastGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupRequest.Marshal(b, m, deterministic)
}
func (m *GetMulticastQueueItemsForMulticastGroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupRequest.Merge(m, src)
}
func (m *GetMulticastQueueItemsForMulticastGroupRequest) XXX_Size() int {
	return xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupRequest.Size(m)
}
func (m *GetMulticastQueueItemsForMulticastGroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupRequest proto.InternalMessageInfo

func (m *GetMulticastQueueItemsForMulticastGroupRequest) GetMulticastGroupId() []byte {
	if m != nil {
		return m.MulticastGroupId
	}
	return nil
}

type GetMulticastQueueItemsForMulticastGroupResponse struct {
	MulticastQueueItems  []*MulticastQueueItem `protobuf:"bytes,1,rep,name=multicast_queue_items,json=multicastQueueItems,proto3" json:"multicast_queue_items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *GetMulticastQueueItemsForMulticastGroupResponse) Reset() {
	*m = GetMulticastQueueItemsForMulticastGroupResponse{}
}
func (m *GetMulticastQueueItemsForMulticastGroupResponse) String() string {
	return proto.CompactTextString(m)
}
func (*GetMulticastQueueItemsForMulticastGroupResponse) ProtoMessage() {}
func (*GetMulticastQueueItemsForMulticastGroupResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{79}
}

func (m *GetMulticastQueueItemsForMulticastGroupResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupResponse.Unmarshal(m, b)
}
func (m *GetMulticastQueueItemsForMulticastGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupResponse.Marshal(b, m, deterministic)
}
func (m *GetMulticastQueueItemsForMulticastGroupResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupResponse.Merge(m, src)
}
func (m *GetMulticastQueueItemsForMulticastGroupResponse) XXX_Size() int {
	return xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupResponse.Size(m)
}
func (m *GetMulticastQueueItemsForMulticastGroupResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetMulticastQueueItemsForMulticastGroupResponse proto.InternalMessageInfo

func (m *GetMulticastQueueItemsForMulticastGroupResponse) GetMulticastQueueItems() []*MulticastQueueItem {
	if m != nil {
		return m.MulticastQueueItems
	}
	return nil
}

type GetADRAlgorithmsResponse struct {
	AdrAlgorithms        []*ADRAlgorithm `protobuf:"bytes,1,rep,name=adr_algorithms,json=adrAlgorithms,proto3" json:"adr_algorithms,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *GetADRAlgorithmsResponse) Reset()         { *m = GetADRAlgorithmsResponse{} }
func (m *GetADRAlgorithmsResponse) String() string { return proto.CompactTextString(m) }
func (*GetADRAlgorithmsResponse) ProtoMessage()    {}
func (*GetADRAlgorithmsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{80}
}

func (m *GetADRAlgorithmsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetADRAlgorithmsResponse.Unmarshal(m, b)
}
func (m *GetADRAlgorithmsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetADRAlgorithmsResponse.Marshal(b, m, deterministic)
}
func (m *GetADRAlgorithmsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetADRAlgorithmsResponse.Merge(m, src)
}
func (m *GetADRAlgorithmsResponse) XXX_Size() int {
	return xxx_messageInfo_GetADRAlgorithmsResponse.Size(m)
}
func (m *GetADRAlgorithmsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetADRAlgorithmsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetADRAlgorithmsResponse proto.InternalMessageInfo

func (m *GetADRAlgorithmsResponse) GetAdrAlgorithms() []*ADRAlgorithm {
	if m != nil {
		return m.AdrAlgorithms
	}
	return nil
}

type ADRAlgorithm struct {
	// ADR algorithm ID.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ADR algorithm name.
	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ADRAlgorithm) Reset()         { *m = ADRAlgorithm{} }
func (m *ADRAlgorithm) String() string { return proto.CompactTextString(m) }
func (*ADRAlgorithm) ProtoMessage()    {}
func (*ADRAlgorithm) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{81}
}

func (m *ADRAlgorithm) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ADRAlgorithm.Unmarshal(m, b)
}
func (m *ADRAlgorithm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ADRAlgorithm.Marshal(b, m, deterministic)
}
func (m *ADRAlgorithm) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ADRAlgorithm.Merge(m, src)
}
func (m *ADRAlgorithm) XXX_Size() int {
	return xxx_messageInfo_ADRAlgorithm.Size(m)
}
func (m *ADRAlgorithm) XXX_DiscardUnknown() {
	xxx_messageInfo_ADRAlgorithm.DiscardUnknown(m)
}

var xxx_messageInfo_ADRAlgorithm proto.InternalMessageInfo

func (m *ADRAlgorithm) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *ADRAlgorithm) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

type ClearDeviceNoncesRequest struct {
	// Device EUI (8 bytes).
	DevEui               []byte   `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ClearDeviceNoncesRequest) Reset()         { *m = ClearDeviceNoncesRequest{} }
func (m *ClearDeviceNoncesRequest) String() string { return proto.CompactTextString(m) }
func (*ClearDeviceNoncesRequest) ProtoMessage()    {}
func (*ClearDeviceNoncesRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_412103b9b2fd26a9, []int{82}
}

func (m *ClearDeviceNoncesRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClearDeviceNoncesRequest.Unmarshal(m, b)
}
func (m *ClearDeviceNoncesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClearDeviceNoncesRequest.Marshal(b, m, deterministic)
}
func (m *ClearDeviceNoncesRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClearDeviceNoncesRequest.Merge(m, src)
}
func (m *ClearDeviceNoncesRequest) XXX_Size() int {
	return xxx_messageInfo_ClearDeviceNoncesRequest.Size(m)
}
func (m *ClearDeviceNoncesRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ClearDeviceNoncesRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ClearDeviceNoncesRequest proto.InternalMessageInfo

func (m *ClearDeviceNoncesRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func init() {
	proto.RegisterEnum("ns.RXWindow", RXWindow_name, RXWindow_value)
	proto.RegisterEnum("ns.AggregationInterval", AggregationInterval_name, AggregationInterval_value)
	proto.RegisterEnum("ns.MulticastGroupType", MulticastGroupType_name, MulticastGroupType_value)
	proto.RegisterType((*CreateServiceProfileRequest)(nil), "ns.CreateServiceProfileRequest")
	proto.RegisterType((*CreateServiceProfileResponse)(nil), "ns.CreateServiceProfileResponse")
	proto.RegisterType((*GetServiceProfileRequest)(nil), "ns.GetServiceProfileRequest")
	proto.RegisterType((*GetServiceProfileResponse)(nil), "ns.GetServiceProfileResponse")
	proto.RegisterType((*UpdateServiceProfileRequest)(nil), "ns.UpdateServiceProfileRequest")
	proto.RegisterType((*DeleteServiceProfileRequest)(nil), "ns.DeleteServiceProfileRequest")
	proto.RegisterType((*CreateRoutingProfileRequest)(nil), "ns.CreateRoutingProfileRequest")
	proto.RegisterType((*CreateRoutingProfileResponse)(nil), "ns.CreateRoutingProfileResponse")
	proto.RegisterType((*GetRoutingProfileRequest)(nil), "ns.GetRoutingProfileRequest")
	proto.RegisterType((*GetRoutingProfileResponse)(nil), "ns.GetRoutingProfileResponse")
	proto.RegisterType((*UpdateRoutingProfileRequest)(nil), "ns.UpdateRoutingProfileRequest")
	proto.RegisterType((*DeleteRoutingProfileRequest)(nil), "ns.DeleteRoutingProfileRequest")
	proto.RegisterType((*CreateDeviceProfileRequest)(nil), "ns.CreateDeviceProfileRequest")
	proto.RegisterType((*CreateDeviceProfileResponse)(nil), "ns.CreateDeviceProfileResponse")
	proto.RegisterType((*GetDeviceProfileRequest)(nil), "ns.GetDeviceProfileRequest")
	proto.RegisterType((*GetDeviceProfileResponse)(nil), "ns.GetDeviceProfileResponse")
	proto.RegisterType((*UpdateDeviceProfileRequest)(nil), "ns.UpdateDeviceProfileRequest")
	proto.RegisterType((*DeleteDeviceProfileRequest)(nil), "ns.DeleteDeviceProfileRequest")
	proto.RegisterType((*Device)(nil), "ns.Device")
	proto.RegisterType((*CreateDeviceRequest)(nil), "ns.CreateDeviceRequest")
	proto.RegisterType((*GetDeviceRequest)(nil), "ns.GetDeviceRequest")
	proto.RegisterType((*GetDeviceResponse)(nil), "ns.GetDeviceResponse")
	proto.RegisterType((*UpdateDeviceRequest)(nil), "ns.UpdateDeviceRequest")
	proto.RegisterType((*DeleteDeviceRequest)(nil), "ns.DeleteDeviceRequest")
	proto.RegisterType((*DeviceActivation)(nil), "ns.DeviceActivation")
	proto.RegisterType((*ActivateDeviceRequest)(nil), "ns.ActivateDeviceRequest")
	proto.RegisterType((*DeactivateDeviceRequest)(nil), "ns.DeactivateDeviceRequest")
	proto.RegisterType((*GetDeviceActivationRequest)(nil), "ns.GetDeviceActivationRequest")
	proto.RegisterType((*GetDeviceActivationResponse)(nil), "ns.GetDeviceActivationResponse")
	proto.RegisterType((*GetRandomDevAddrResponse)(nil), "ns.GetRandomDevAddrResponse")
	proto.RegisterType((*CreateMACCommandQueueItemRequest)(nil), "ns.CreateMACCommandQueueItemRequest")
	proto.RegisterType((*SendProprietaryPayloadRequest)(nil), "ns.SendProprietaryPayloadRequest")
	proto.RegisterType((*Gateway)(nil), "ns.Gateway")
	proto.RegisterType((*GatewayBoard)(nil), "ns.GatewayBoard")
	proto.RegisterType((*CreateGatewayRequest)(nil), "ns.CreateGatewayRequest")
	proto.RegisterType((*GetGatewayRequest)(nil), "ns.GetGatewayRequest")
	proto.RegisterType((*GetGatewayResponse)(nil), "ns.GetGatewayResponse")
	proto.RegisterType((*UpdateGatewayRequest)(nil), "ns.UpdateGatewayRequest")
	proto.RegisterType((*DeleteGatewayRequest)(nil), "ns.DeleteGatewayRequest")
	proto.RegisterType((*GenerateGatewayClientCertificateRequest)(nil), "ns.GenerateGatewayClientCertificateRequest")
	proto.RegisterType((*GenerateGatewayClientCertificateResponse)(nil), "ns.GenerateGatewayClientCertificateResponse")
	proto.RegisterType((*GatewayStats)(nil), "ns.GatewayStats")
	proto.RegisterType((*GetGatewayStatsRequest)(nil), "ns.GetGatewayStatsRequest")
	proto.RegisterType((*GetGatewayStatsResponse)(nil), "ns.GetGatewayStatsResponse")
	proto.RegisterType((*DeviceQueueItem)(nil), "ns.DeviceQueueItem")
	proto.RegisterType((*CreateDeviceQueueItemRequest)(nil), "ns.CreateDeviceQueueItemRequest")
	proto.RegisterType((*FlushDeviceQueueForDevEUIRequest)(nil), "ns.FlushDeviceQueueForDevEUIRequest")
	proto.RegisterType((*GetDeviceQueueItemsForDevEUIRequest)(nil), "ns.GetDeviceQueueItemsForDevEUIRequest")
	proto.RegisterType((*GetDeviceQueueItemsForDevEUIResponse)(nil), "ns.GetDeviceQueueItemsForDevEUIResponse")
	proto.RegisterType((*GetNextDownlinkFCntForDevEUIRequest)(nil), "ns.GetNextDownlinkFCntForDevEUIRequest")
	proto.RegisterType((*GetNextDownlinkFCntForDevEUIResponse)(nil), "ns.GetNextDownlinkFCntForDevEUIResponse")
	proto.RegisterType((*UplinkFrameLog)(nil), "ns.UplinkFrameLog")
	proto.RegisterType((*DownlinkFrameLog)(nil), "ns.DownlinkFrameLog")
	proto.RegisterType((*StreamFrameLogsForGatewayRequest)(nil), "ns.StreamFrameLogsForGatewayRequest")
	proto.RegisterType((*StreamFrameLogsForGatewayResponse)(nil), "ns.StreamFrameLogsForGatewayResponse")
	proto.RegisterType((*StreamFrameLogsForDeviceRequest)(nil), "ns.StreamFrameLogsForDeviceRequest")
	proto.RegisterType((*StreamFrameLogsForDeviceResponse)(nil), "ns.StreamFrameLogsForDeviceResponse")
	proto.RegisterType((*GetVersionResponse)(nil), "ns.GetVersionResponse")
	proto.RegisterType((*GatewayProfile)(nil), "ns.GatewayProfile")
	proto.RegisterType((*GatewayProfileExtraChannel)(nil), "ns.GatewayProfileExtraChannel")
	proto.RegisterType((*CreateGatewayProfileRequest)(nil), "ns.CreateGatewayProfileRequest")
	proto.RegisterType((*CreateGatewayProfileResponse)(nil), "ns.CreateGatewayProfileResponse")
	proto.RegisterType((*GetGatewayProfileRequest)(nil), "ns.GetGatewayProfileRequest")
	proto.RegisterType((*GetGatewayProfileResponse)(nil), "ns.GetGatewayProfileResponse")
	proto.RegisterType((*UpdateGatewayProfileRequest)(nil), "ns.UpdateGatewayProfileRequest")
	proto.RegisterType((*DeleteGatewayProfileRequest)(nil), "ns.DeleteGatewayProfileRequest")
	proto.RegisterType((*MulticastGroup)(nil), "ns.MulticastGroup")
	proto.RegisterType((*CreateMulticastGroupRequest)(nil), "ns.CreateMulticastGroupRequest")
	proto.RegisterType((*CreateMulticastGroupResponse)(nil), "ns.CreateMulticastGroupResponse")
	proto.RegisterType((*GetMulticastGroupRequest)(nil), "ns.GetMulticastGroupRequest")
	proto.RegisterType((*GetMulticastGroupResponse)(nil), "ns.GetMulticastGroupResponse")
	proto.RegisterType((*UpdateMulticastGroupRequest)(nil), "ns.UpdateMulticastGroupRequest")
	proto.RegisterType((*DeleteMulticastGroupRequest)(nil), "ns.DeleteMulticastGroupRequest")
	proto.RegisterType((*AddDeviceToMulticastGroupRequest)(nil), "ns.AddDeviceToMulticastGroupRequest")
	proto.RegisterType((*RemoveDeviceFromMulticastGroupRequest)(nil), "ns.RemoveDeviceFromMulticastGroupRequest")
	proto.RegisterType((*MulticastQueueItem)(nil), "ns.MulticastQueueItem")
	proto.RegisterType((*EnqueueMulticastQueueItemRequest)(nil), "ns.EnqueueMulticastQueueItemRequest")
	proto.RegisterType((*FlushMulticastQueueForMulticastGroupRequest)(nil), "ns.FlushMulticastQueueForMulticastGroupRequest")
	proto.RegisterType((*GetMulticastQueueItemsForMulticastGroupRequest)(nil), "ns.GetMulticastQueueItemsForMulticastGroupRequest")
	proto.RegisterType((*GetMulticastQueueItemsForMulticastGroupResponse)(nil), "ns.GetMulticastQueueItemsForMulticastGroupResponse")
	proto.RegisterType((*GetADRAlgorithmsResponse)(nil), "ns.GetADRAlgorithmsResponse")
	proto.RegisterType((*ADRAlgorithm)(nil), "ns.ADRAlgorithm")
	proto.RegisterType((*ClearDeviceNoncesRequest)(nil), "ns.ClearDeviceNoncesRequest")
}

func init() {
	proto.RegisterFile("ns/ns.proto", fileDescriptor_412103b9b2fd26a9)
}

var fileDescriptor_412103b9b2fd26a9 = []byte{
	// 3535 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x3b, 0x4d, 0x73, 0x1b, 0xc7,
	0x72, 0x04, 0x49, 0x80, 0x44, 0x93, 0x80, 0xc0, 0x21, 0x25, 0x51, 0x10, 0x25, 0x52, 0x6b, 0xd9,
	0xa2, 0x3e, 0x0c, 0x26, 0x54, 0xa9, 0x62, 0xd9, 0x91, 0x12, 0x08, 0xa4, 0x24, 0x5a, 0x12, 0x45,
	0x2d, 0x44, 0x59, 0xb6, 0x2b, 0xd9, 0x2c, 0x77, 0x07, 0xe0, 0x16, 0xf7, 0x03, 0xde, 0x1d, 0x90,
	0x62, 0xaa, 0x52, 0xb9, 0xe5, 0x92, 0x43, 0x2e, 0xf9, 0x01, 0xa9, 0x1c, 0x93, 0x4a, 0x25, 0x95,
	0x63, 0xee, 0xb9, 0xe4, 0x90, 0x77, 0x78, 0x37, 0xff, 0x8c, 0x77, 0x7d, 0x97, 0x57, 0xf3, 0xb1,
	0x9f, 0x9c, 0x5d, 0x40, 0x96, 0x55, 0x7a, 0x27, 0x62, 0x67, 0xba, 0x7b, 0x7a, 0xfa, 0x63, 0xba,
	0xa7, 0xa7, 0x09, 0x73, 0x6e, 0xb0, 0xe1, 0x06, 0xad, 0x81, 0xef, 0x11, 0x0f, 0x4d, 0xba, 0x41,
	0x73, 0xb5, 0xef, 0x79, 0x7d, 0x1b, 0x6f, 0xb0, 0x91, 0x83, 0x61, 0x6f, 0x83, 0x58, 0x0e, 0x0e,
	0x88, 0xee, 0x0c, 0x38, 0x50, 0xf3, 0x6a, 0x16, 0xc0, 0x1c, 0xfa, 0x3a, 0xb1, 0x3c, 0x57, 0xcc,
	0x5f, 0xce, 0xce, 0x63, 0x67, 0x40, 0x4e, 0xc5, 0xe4, 0xa2, 0xe1, 0x39, 0x8e, 0xe7, 0x6e, 0xf0,
	0x3f, 0x62, 0x70, 0xae, 0x7f, 0xb2, 0xd1, 0x3f, 0x11, 0x1f, 0x0b, 0x6e, 0x40, 0x51, 0x7b, 0x96,
	0x8d, 0x05, 0x5b, 0xca, 0x0f, 0x70, 0xb9, 0xe3, 0x63, 0x9d, 0xe0, 0x2e, 0xf6, 0x8f, 0x2d, 0x03,
	0xef, 0xf1, 0x69, 0x15, 0xff, 0x34, 0xc4, 0x01, 0x41, 0xdf, 0xc0, 0xb9, 0x80, 0x4f, 0x68, 0x02,
	0x71, 0xb9, 0xb4, 0x56, 0x5a, 0x9f, 0xdb, 0x44, 0x2d, 0x37, 0x68, 0x65, 0x70, 0xea, 0x41, 0xea,
	0x5b, 0x69, 0xc1, 0x8a, 0x9c, 0x76, 0x30, 0xf0, 0xdc, 0x00, 0xa3, 0x3a, 0x4c, 0x5a, 0x26, 0xa3,
	0x37, 0xaf, 0x4e, 0x5a, 0xa6, 0x72, 0x0b, 0x96, 0x9f, 0x60, 0x22, 0x67, 0x24, 0x0b, 0xfb, 0xff,
	0x25, 0xb8, 0x24, 0x01, 0x16, 0x94, 0x3f, 0x84, 0x6d, 0x74, 0x1f, 0xc0, 0x60, 0x6c, 0x9b, 0x9a,
	0x4e, 0x96, 0x27, 0x19, 0x5e, 0xb3, 0xc5, 0x25, 0xdf, 0x0a, 0x25, 0xdf, 0x7a, 0x1d, 0xaa, 0x4e,
	0xad, 0x0a, 0xe8, 0x36, 0xa1, 0xa8, 0xc3, 0x81, 0x19, 0xa2, 0x4e, 0x8d, 0x46, 0x15, 0xd0, 0x6d,
	0x42, 0x15, 0xb1, 0xcf, 0x3e, 0x3e, 0x82, 0x22, 0xbe, 0x84, 0xcb, 0x5b, 0xd8, 0xc6, 0x79, 0xb4,
	0xb3, 0xb2, 0x8d, 0x6c, 0x42, 0xf5, 0x86, 0xc4, 0x72, 0xfb, 0x67, 0x59, 0xf1, 0xf9, 0x84, 0x8c,
	0x95, 0x0c, 0x4e, 0xdd, 0x4f, 0x7d, 0xc7, 0x36, 0x91, 0xa5, 0x5d, 0x68, 0x13, 0x72, 0x46, 0x72,
	0x6c, 0x22, 0x87, 0xf2, 0x87, 0xb0, 0xfd, 0xa9, 0x6d, 0xe2, 0x23, 0x28, 0x22, 0xb2, 0x89, 0xf1,
	0x64, 0xfb, 0x06, 0x9a, 0x5c, 0x6f, 0x5b, 0x58, 0x62, 0x41, 0x5f, 0x41, 0xdd, 0xc4, 0x12, 0xe3,
	0x5c, 0xa0, 0x8c, 0xa4, 0x31, 0x6a, 0x26, 0xce, 0x98, 0xa6, 0x94, 0x6e, 0x8e, 0x39, 0xdc, 0x84,
	0x8b, 0x4f, 0x30, 0x91, 0xf2, 0x90, 0x05, 0xfd, 0xbf, 0x12, 0x33, 0x1d, 0x39, 0xdd, 0x5f, 0xcc,
	0xf0, 0x27, 0xb2, 0x84, 0x37, 0xd0, 0xe4, 0x96, 0xf0, 0x2b, 0x8b, 0xff, 0x0e, 0x34, 0xb9, 0x15,
	0x8c, 0x25, 0xd2, 0x7f, 0x9d, 0x84, 0x0a, 0x07, 0x44, 0x17, 0x61, 0xc6, 0xc4, 0xc7, 0x1a, 0x1e,
	0x5a, 0x62, 0xbe, 0x62, 0xe2, 0xe3, 0xed, 0xa1, 0x85, 0x6e, 0xc1, 0x42, 0x9a, 0x17, 0xcd, 0x32,
	0x99, 0x98, 0xe6, 0xd5, 0x73, 0xa9, 0xb5, 0x77, 0x4c, 0x74, 0x07, 0x50, 0xe6, 0x50, 0xa3, 0xc0,
	0x53, 0x0c, 0xb8, 0x91, 0x3e, 0xc3, 0x38, 0x74, 0xc6, 0xdc, 0x29, 0xf4, 0x34, 0x87, 0x4e, 0x5b,
	0xf7, 0x8e, 0x89, 0x6e, 0x40, 0x23, 0x38, 0xb2, 0x06, 0x5a, 0x4f, 0x33, 0x5c, 0xa2, 0x19, 0x87,
	0xd8, 0x38, 0x5a, 0x2e, 0xaf, 0x95, 0xd6, 0x67, 0xd5, 0x1a, 0x1d, 0x7f, 0xdc, 0x71, 0x49, 0x87,
	0x0e, 0xa2, 0x2f, 0x01, 0xf9, 0xb8, 0x87, 0x7d, 0xec, 0x1a, 0x58, 0xd3, 0x6d, 0x62, 0x91, 0xa1,
	0x89, 0x97, 0x2b, 0x6b, 0xa5, 0xf5, 0x92, 0xba, 0x10, 0xcd, 0xb4, 0xc5, 0x04, 0x5a, 0x85, 0x39,
	0x2b, 0xd0, 0x4c, 0x2b, 0xd0, 0x0f, 0x6c, 0x6c, 0x2e, 0xcf, 0x30, 0x92, 0x60, 0x05, 0x5b, 0x62,
	0x44, 0xb9, 0x0f, 0x8b, 0x49, 0x8b, 0x0e, 0x65, 0xa9, 0x40, 0x85, 0x6f, 0x5f, 0xe8, 0x06, 0x62,
	0xdd, 0xa8, 0x62, 0x46, 0xb9, 0x0d, 0x8d, 0xc8, 0x62, 0x43, 0xbc, 0x3c, 0x41, 0x2b, 0xff, 0x51,
	0x82, 0x85, 0x04, 0xb4, 0x30, 0xec, 0x31, 0x96, 0xf9, 0x44, 0x26, 0x7c, 0x1f, 0x16, 0x93, 0x26,
	0xfc, 0x3e, 0x72, 0x69, 0xc1, 0x62, 0xd2, 0x4a, 0x47, 0x8a, 0xe6, 0x7f, 0x26, 0xa1, 0xc1, 0x41,
	0xdb, 0x06, 0xb1, 0x8e, 0x59, 0x06, 0x95, 0x6f, 0xb1, 0x97, 0x60, 0x96, 0x4e, 0xe8, 0xa6, 0xe9,
	0x0b, 0x43, 0xa5, 0x80, 0x6d, 0xd3, 0xf4, 0xd1, 0x75, 0x38, 0x17, 0x68, 0xee, 0xc9, 0x91, 0x16,
	0x68, 0x96, 0x4b, 0xb4, 0x23, 0x7c, 0x2a, 0xac, 0x73, 0x2e, 0xd8, 0x3d, 0x39, 0xea, 0xee, 0xb8,
	0xe4, 0x19, 0x3e, 0xa5, 0x50, 0xbd, 0x0c, 0x14, 0xb7, 0xca, 0xb9, 0x5e, 0x02, 0xea, 0x1a, 0xd4,
	0x38, 0x0c, 0x76, 0x0d, 0x06, 0x53, 0x66, 0x30, 0xe0, 0x9e, 0x1c, 0x75, 0xb7, 0x5d, 0x83, 0x82,
	0x2c, 0xc3, 0x2c, 0x37, 0xd7, 0xe1, 0x80, 0x19, 0x60, 0x4d, 0xad, 0xf4, 0x3a, 0x2e, 0xd9, 0x1f,
	0xa0, 0x55, 0x98, 0x77, 0x85, 0x29, 0x9b, 0xde, 0x89, 0xcb, 0xcc, 0xae, 0xa6, 0x56, 0x5d, 0x6a,
	0xc6, 0x5b, 0xde, 0x89, 0x4b, 0x01, 0xf4, 0x24, 0xc0, 0x2c, 0x07, 0xd0, 0x23, 0x00, 0x99, 0x3f,
	0x54, 0x25, 0xfe, 0xa0, 0xfc, 0x00, 0xe7, 0x85, 0xd4, 0x32, 0xe2, 0x6e, 0x47, 0x9e, 0xad, 0x47,
	0x52, 0x15, 0x4a, 0x5b, 0x8a, 0x95, 0x16, 0x4b, 0x5c, 0x6d, 0x98, 0x99, 0x11, 0x65, 0x13, 0x2e,
	0x6e, 0x61, 0x5d, 0x4a, 0x3d, 0x57, 0x99, 0xf7, 0xa0, 0x19, 0x99, 0x79, 0x82, 0xf8, 0x28, 0xb4,
	0xbf, 0x81, 0xcb, 0x52, 0x34, 0xe1, 0x27, 0xbf, 0xc2, 0x66, 0xee, 0xf1, 0xd4, 0x44, 0x77, 0x4d,
	0xcf, 0xd9, 0xe2, 0x06, 0x13, 0x91, 0x4f, 0xda, 0x54, 0x29, 0x65, 0x53, 0x8a, 0x05, 0x6b, 0xfc,
	0x7c, 0x78, 0xd1, 0xee, 0x74, 0x3c, 0xc7, 0xd1, 0x5d, 0xf3, 0xd5, 0x10, 0x0f, 0xf1, 0x0e, 0xc1,
	0xce, 0xa8, 0x5d, 0xa1, 0x06, 0x4c, 0x19, 0xe2, 0xd0, 0xab, 0xa9, 0xf4, 0x27, 0x6a, 0xc2, 0xac,
	0xc1, 0xa9, 0x04, 0xcb, 0xe5, 0xb5, 0xa9, 0xf5, 0x79, 0x35, 0xfa, 0x56, 0x7e, 0x2e, 0xc1, 0x95,
	0x2e, 0x76, 0xcd, 0x3d, 0xdf, 0x1b, 0xf8, 0x16, 0x26, 0xba, 0x7f, 0xba, 0xa7, 0x9f, 0xda, 0x9e,
	0x6e, 0x86, 0x0b, 0xad, 0xc2, 0x9c, 0xa3, 0x1b, 0xda, 0x80, 0x8f, 0x8a, 0xc5, 0xc0, 0xd1, 0x0d,
	0x01, 0x47, 0x17, 0x74, 0x2c, 0x43, 0xf8, 0x05, 0xfd, 0x89, 0xae, 0xc1, 0x7c, 0x5f, 0x27, 0xf8,
	0x44, 0x3f, 0xd5, 0x1c, 0xdd, 0x08, 0x96, 0xa7, 0xd8, 0xa2, 0x73, 0x62, 0xec, 0x85, 0x6e, 0x04,
	0xe8, 0x1e, 0x5c, 0x18, 0x78, 0xb6, 0xee, 0x5b, 0x7f, 0xcb, 0x24, 0xa5, 0x59, 0xee, 0x31, 0xf6,
	0x03, 0x2a, 0xe1, 0x69, 0x66, 0x71, 0xe7, 0x93, 0xb3, 0x3b, 0xe1, 0x24, 0x5a, 0x81, 0x6a, 0xcf,
	0xa7, 0x8c, 0xb9, 0x06, 0xf7, 0x8e, 0x9a, 0x1a, 0x0f, 0xd0, 0x60, 0x64, 0xfa, 0xc2, 0x2d, 0x26,
	0x4d, 0x5f, 0xf9, 0x7d, 0x09, 0x66, 0x9e, 0xf0, 0x45, 0xb3, 0x81, 0x0a, 0xdd, 0x81, 0x59, 0xdb,
	0x33, 0xb8, 0x52, 0xf9, 0xf9, 0xd6, 0x68, 0x89, 0x6b, 0xd1, 0x73, 0x31, 0xae, 0x46, 0x10, 0x34,
	0xb0, 0x84, 0x3b, 0x3a, 0x1b, 0x86, 0xc4, 0x4c, 0x1c, 0x58, 0xd6, 0xa1, 0x72, 0xe0, 0xe9, 0xbe,
	0x19, 0x2c, 0x4f, 0xaf, 0x4d, 0x31, 0xca, 0x6e, 0xd0, 0x12, 0x8c, 0x3c, 0xa2, 0x13, 0xaa, 0x98,
	0xcf, 0x09, 0x58, 0xe5, 0x9c, 0x80, 0x25, 0x0f, 0x86, 0x15, 0x79, 0x30, 0x54, 0xf6, 0x61, 0x3e,
	0xb9, 0x26, 0xb5, 0x98, 0xde, 0xa0, 0xaf, 0x6b, 0x91, 0x18, 0x2a, 0xf4, 0x93, 0x93, 0xed, 0x59,
	0x2e, 0xd6, 0xa2, 0xab, 0x26, 0x3b, 0x7b, 0xb8, 0x3e, 0x1b, 0x74, 0x26, 0x3a, 0xac, 0x9f, 0xe1,
	0x53, 0xe5, 0x01, 0x2c, 0x71, 0xe3, 0x14, 0xc4, 0x43, 0x3b, 0xf9, 0x1c, 0x66, 0x84, 0x20, 0x84,
	0x93, 0xcc, 0x25, 0x76, 0xad, 0x86, 0x73, 0xca, 0x67, 0x2c, 0x24, 0x65, 0x70, 0xb3, 0x59, 0xc4,
	0x7f, 0x4e, 0x02, 0x4a, 0x42, 0x09, 0x97, 0x19, 0x6f, 0x89, 0x4f, 0x13, 0xbc, 0xd0, 0x43, 0xa8,
	0xf5, 0x2c, 0x3f, 0x20, 0x5a, 0x80, 0xb1, 0x4b, 0xb1, 0xa7, 0x47, 0x62, 0xcf, 0x31, 0x84, 0x2e,
	0xc6, 0x6e, 0x9b, 0xa0, 0x3f, 0x87, 0x79, 0x5b, 0x4f, 0xa0, 0x97, 0x47, 0xa2, 0x03, 0x85, 0xe7,
	0xd8, 0x54, 0x2b, 0x3c, 0x74, 0xfe, 0x32, 0xad, 0x7c, 0x01, 0x4b, 0x3c, 0x7c, 0x8e, 0x50, 0xcc,
	0x7d, 0xb8, 0xf1, 0x04, 0xbb, 0xd8, 0x8f, 0x17, 0xea, 0xd8, 0x16, 0x76, 0x49, 0x07, 0xfb, 0xc4,
	0xea, 0x59, 0x06, 0xbd, 0x88, 0xe4, 0xa0, 0xfe, 0x77, 0x09, 0xd6, 0x47, 0xe3, 0xc6, 0x87, 0x23,
	0xb1, 0x03, 0xcd, 0xc0, 0x3e, 0x09, 0x0f, 0x47, 0x62, 0x07, 0x14, 0x92, 0x9a, 0x31, 0x9d, 0x8a,
	0x4d, 0xb4, 0x42, 0xec, 0x80, 0x86, 0xc6, 0x8b, 0x30, 0x63, 0xe8, 0x1c, 0x85, 0x3b, 0x66, 0xc5,
	0xd0, 0x19, 0xc6, 0x7d, 0x00, 0xfc, 0x6e, 0x60, 0xf9, 0x38, 0x18, 0x4f, 0x2d, 0x55, 0x01, 0xdd,
	0x26, 0xca, 0x3f, 0x4e, 0x46, 0x4e, 0xd4, 0x25, 0x3a, 0x09, 0xd0, 0x57, 0x50, 0x8d, 0xdc, 0x44,
	0x48, 0xb4, 0x90, 0x54, 0x04, 0x8c, 0x5a, 0xb0, 0xe8, 0xbf, 0xd3, 0x06, 0xba, 0x71, 0x84, 0x49,
	0xa0, 0xf9, 0xd8, 0xc0, 0xd6, 0x31, 0xe6, 0x79, 0x6f, 0x59, 0x5d, 0xf0, 0xdf, 0xed, 0xf1, 0x19,
	0x55, 0x4c, 0xa0, 0xbb, 0x70, 0x41, 0x02, 0xaf, 0x79, 0x47, 0x6c, 0x77, 0x65, 0x75, 0xf1, 0x0c,
	0xca, 0xcb, 0x23, 0xba, 0x08, 0x91, 0x2c, 0x32, 0xcd, 0x17, 0x21, 0x67, 0x16, 0xb9, 0x03, 0x28,
	0x01, 0x8f, 0x1d, 0x8b, 0x10, 0xcc, 0xcf, 0x9f, 0xb2, 0xda, 0x88, 0xc0, 0xb7, 0xf9, 0xb8, 0xf2,
	0xbb, 0x12, 0x5c, 0x88, 0xdd, 0x92, 0x09, 0x24, 0xd4, 0xf6, 0x15, 0x80, 0xf0, 0x80, 0x8c, 0xb4,
	0x5e, 0x15, 0x23, 0x3b, 0x74, 0x33, 0xb3, 0x96, 0x4b, 0xb0, 0x7f, 0xac, 0xdb, 0x6c, 0xc7, 0xf5,
	0xcd, 0x8b, 0xd4, 0x0e, 0xdb, 0xfd, 0xbe, 0x8f, 0xfb, 0xe2, 0x8c, 0xe7, 0xd3, 0x6a, 0x04, 0x88,
	0x3a, 0x70, 0x2e, 0x20, 0xba, 0x4f, 0xe2, 0x83, 0x69, 0x0c, 0x8f, 0xac, 0x33, 0x94, 0xe8, 0x1b,
	0xfd, 0x05, 0xd4, 0xb0, 0x6b, 0x26, 0x48, 0x8c, 0xd6, 0xff, 0x3c, 0x76, 0xcd, 0xe8, 0x4b, 0xe9,
	0xb0, 0xfb, 0x64, 0x7a, 0xcf, 0xc2, 0x4a, 0xd7, 0xa1, 0xe2, 0xe3, 0x60, 0x68, 0x53, 0x1b, 0xcd,
	0x9e, 0xf3, 0x1c, 0x52, 0xcc, 0x2b, 0xff, 0x55, 0x82, 0x73, 0x3c, 0x5f, 0x88, 0x02, 0x79, 0x7e,
	0x04, 0x5f, 0x85, 0xb9, 0x9e, 0xef, 0x44, 0x11, 0x97, 0x5b, 0x39, 0xf4, 0x7c, 0x27, 0x8c, 0xb8,
	0x8b, 0x50, 0x66, 0x39, 0x1a, 0x13, 0x47, 0x4d, 0x9d, 0xa6, 0x19, 0x20, 0x3a, 0x0f, 0x95, 0x9e,
	0x36, 0xf0, 0x7c, 0x22, 0x42, 0x7f, 0xb9, 0xb7, 0xe7, 0xf9, 0x84, 0x46, 0x4c, 0xc3, 0x73, 0x7b,
	0x96, 0xef, 0x08, 0xc5, 0xce, 0xaa, 0xf1, 0x40, 0x2a, 0x09, 0xa9, 0xa4, 0x93, 0x90, 0x27, 0x61,
	0x19, 0x26, 0xc3, 0x77, 0xa8, 0xf1, 0x1b, 0x30, 0x6d, 0x11, 0xec, 0x08, 0x27, 0x58, 0x8c, 0x33,
	0xa2, 0x18, 0x92, 0x01, 0x28, 0xdf, 0xc0, 0xda, 0x63, 0x7b, 0x18, 0x1c, 0x26, 0x66, 0x1f, 0x7b,
	0xfe, 0x16, 0x3e, 0xde, 0xde, 0xdf, 0x19, 0x99, 0xa3, 0xfd, 0x15, 0x7c, 0x16, 0xe5, 0x68, 0x11,
	0xe1, 0x60, 0x6c, 0x7c, 0x6a, 0x97, 0x86, 0x37, 0x74, 0x89, 0xe6, 0xb9, 0x36, 0x3f, 0x30, 0xd8,
	0xfe, 0x87, 0x2e, 0x79, 0xe9, 0xda, 0xa7, 0x8a, 0x0f, 0xd7, 0x8b, 0xc9, 0x0b, 0x4d, 0xdf, 0x84,
	0x32, 0xdd, 0x4b, 0x20, 0x14, 0x2d, 0xdd, 0x2d, 0x87, 0xa0, 0xda, 0x23, 0x1e, 0xd1, 0x6d, 0x8d,
	0xad, 0xc2, 0x96, 0xac, 0xa9, 0xc0, 0x86, 0x3a, 0x74, 0x44, 0x79, 0xc8, 0xb6, 0xb4, 0x8b, 0xdf,
	0xb1, 0xac, 0xdb, 0xb6, 0xdc, 0x23, 0x9a, 0x59, 0x8f, 0x2f, 0x92, 0x6f, 0x18, 0xcf, 0x05, 0xf8,
	0x82, 0xe7, 0xc8, 0x4a, 0x4a, 0xb1, 0x95, 0x28, 0xff, 0x32, 0x09, 0xf5, 0xfd, 0x01, 0x43, 0xf2,
	0x75, 0x07, 0x3f, 0xf7, 0xfa, 0x94, 0xe1, 0xc1, 0xe1, 0x69, 0x36, 0xc1, 0x1b, 0x1c, 0x86, 0x89,
	0x20, 0xba, 0x09, 0x33, 0xe4, 0x9d, 0x66, 0xb9, 0x3d, 0x2f, 0xca, 0x94, 0xfa, 0x27, 0x2d, 0x4e,
	0xe5, 0xf5, 0xdb, 0x1d, 0xb7, 0xe7, 0xa9, 0x15, 0xf2, 0x8e, 0xfe, 0xa5, 0xa0, 0xbe, 0x00, 0x9d,
	0x12, 0x2e, 0x11, 0x81, 0xaa, 0x02, 0xd4, 0xe7, 0xa0, 0xd7, 0xa1, 0xe2, 0x68, 0xe4, 0x74, 0x80,
	0x99, 0xbd, 0xd6, 0x37, 0x6b, 0x61, 0xfa, 0xf5, 0xe2, 0xf5, 0xe9, 0x00, 0xab, 0x65, 0x87, 0xfe,
	0x49, 0x19, 0x68, 0x39, 0x7d, 0xf3, 0x4a, 0x08, 0xa8, 0x92, 0xd2, 0xf9, 0x03, 0x98, 0x1f, 0x0c,
	0x0f, 0x6c, 0x2b, 0x38, 0xe4, 0x61, 0x7c, 0x66, 0x74, 0x20, 0x8e, 0xe0, 0xdb, 0x44, 0xf9, 0x0d,
	0xbd, 0x1a, 0x86, 0x92, 0x1d, 0x5b, 0x48, 0xb7, 0xb3, 0x42, 0x42, 0x74, 0xe7, 0x21, 0x9d, 0x8c,
	0x98, 0x96, 0xa0, 0x4c, 0xbc, 0x23, 0xec, 0x0a, 0x07, 0xe6, 0x1f, 0x74, 0x0d, 0x53, 0xc0, 0xc7,
	0x65, 0x0b, 0x08, 0x87, 0x76, 0xb6, 0x32, 0x87, 0x6c, 0x39, 0x7d, 0xc8, 0x6e, 0x25, 0x24, 0x5a,
	0x19, 0x53, 0xa2, 0x33, 0xb9, 0x12, 0x9d, 0x2d, 0x94, 0x68, 0xf5, 0xfd, 0x24, 0xda, 0x86, 0xb5,
	0x2e, 0xf1, 0xb1, 0xee, 0x84, 0xe2, 0xa4, 0x1e, 0x96, 0xc9, 0x34, 0x8a, 0x03, 0x88, 0xf2, 0xef,
	0x25, 0xb8, 0x56, 0x40, 0x43, 0x98, 0xfc, 0x43, 0x68, 0x0c, 0x99, 0xad, 0x69, 0x3d, 0x0a, 0xa5,
	0x05, 0x98, 0x24, 0xeb, 0x9d, 0x69, 0xc3, 0x7f, 0x3a, 0xa1, 0xd6, 0x87, 0xf1, 0x48, 0x17, 0x13,
	0xf4, 0x00, 0xea, 0x91, 0x06, 0x18, 0x05, 0xa1, 0x4b, 0x7e, 0xdf, 0xcb, 0xd8, 0xc4, 0xd3, 0x09,
	0xb5, 0x66, 0x26, 0xc7, 0x1e, 0xcd, 0x40, 0x99, 0x61, 0x29, 0x5f, 0xc3, 0xea, 0x59, 0x66, 0xc7,
	0xbc, 0xcc, 0xfe, 0x5b, 0x49, 0x26, 0xad, 0x4c, 0x0d, 0xe7, 0x8f, 0x65, 0xa3, 0x6f, 0x58, 0x9e,
	0xfe, 0x86, 0xdf, 0xce, 0x22, 0xee, 0x96, 0x61, 0x26, 0xbc, 0xcd, 0x51, 0xa6, 0xaa, 0x6a, 0xf8,
	0x89, 0xbe, 0xa0, 0x11, 0xb3, 0x1f, 0xde, 0xb9, 0xea, 0x9b, 0xf5, 0xd0, 0x44, 0x55, 0x36, 0xaa,
	0x8a, 0x59, 0xe5, 0x7f, 0x4b, 0x50, 0x7f, 0x92, 0xba, 0x56, 0x9d, 0xb9, 0xc0, 0xd1, 0x5b, 0xed,
	0xa1, 0xee, 0xba, 0xd8, 0x0e, 0x96, 0x27, 0xd7, 0xa6, 0xd6, 0x6b, 0x6a, 0xf4, 0x8d, 0xb6, 0xa1,
	0x8e, 0xdf, 0x11, 0x5f, 0xd7, 0x22, 0x08, 0x7e, 0x1a, 0x5d, 0x4d, 0x04, 0x68, 0x41, 0x77, 0x9b,
	0xc2, 0x75, 0x38, 0x98, 0x5a, 0xc3, 0x89, 0xaf, 0x00, 0xfd, 0x25, 0xd0, 0x6c, 0x82, 0xb0, 0x9a,
	0x0d, 0xcf, 0x5d, 0x78, 0xf2, 0x70, 0xe9, 0x8c, 0xe1, 0x6f, 0x89, 0x47, 0x38, 0xb5, 0xc6, 0x10,
	0xc2, 0x64, 0x46, 0xf9, 0x6d, 0x09, 0x9a, 0xf9, 0xeb, 0xa1, 0x4d, 0x00, 0xc7, 0x33, 0x87, 0x76,
	0x5c, 0x5b, 0xa8, 0x6f, 0xa2, 0xc8, 0x6b, 0xa3, 0x19, 0x35, 0x01, 0x95, 0xbe, 0x02, 0x4f, 0x66,
	0xaf, 0xc0, 0x2b, 0x50, 0x3d, 0xd0, 0x5d, 0xf3, 0xc4, 0x32, 0xc9, 0xa1, 0x38, 0x5d, 0xe2, 0x01,
	0xaa, 0x98, 0x03, 0x8b, 0xd0, 0x0c, 0x5c, 0x24, 0x09, 0xe1, 0x27, 0xba, 0x0d, 0x0b, 0xc1, 0xc0,
	0xc7, 0xba, 0x49, 0xaf, 0xa2, 0x3d, 0xdd, 0x20, 0x9e, 0xcf, 0x8b, 0x05, 0x35, 0xb5, 0x11, 0x4d,
	0x3c, 0xe6, 0xe3, 0xf1, 0xeb, 0x4f, 0x7a, 0x6b, 0x89, 0x47, 0x87, 0xcc, 0x65, 0x39, 0x69, 0x9b,
	0x19, 0x9c, 0x7a, 0xfa, 0xf6, 0x1c, 0xbf, 0xfe, 0x64, 0x69, 0x17, 0xbe, 0xfe, 0xc8, 0x19, 0xc9,
	0x79, 0xfd, 0xc9, 0xa1, 0xfc, 0x21, 0x6c, 0x7f, 0xea, 0xd7, 0x9f, 0x8f, 0xa0, 0x88, 0xe8, 0xf5,
	0x67, 0x3c, 0xd9, 0xfe, 0x3c, 0x09, 0xf5, 0x17, 0x43, 0x9b, 0x58, 0x86, 0x1e, 0x90, 0x27, 0xbe,
	0x37, 0x1c, 0x9c, 0xf1, 0xd8, 0x8b, 0x30, 0xe3, 0x18, 0xc9, 0x22, 0x6a, 0xc5, 0x31, 0x58, 0xdc,
	0x59, 0x85, 0x79, 0xc7, 0x10, 0xe5, 0xd1, 0xb8, 0x80, 0x5a, 0x75, 0x8c, 0xdd, 0x93, 0xa3, 0x2e,
	0xbd, 0xda, 0x45, 0xa9, 0xcc, 0x74, 0x22, 0xe1, 0xbd, 0x07, 0xd0, 0xa7, 0xeb, 0xf0, 0x90, 0x57,
	0x66, 0xce, 0x73, 0x81, 0x6e, 0x2c, 0xcd, 0x06, 0x8b, 0x7d, 0xd5, 0x7e, 0xf8, 0x33, 0x5b, 0x24,
	0x4a, 0xfb, 0xd3, 0x4c, 0xd6, 0x9f, 0xd6, 0xa1, 0x31, 0xa0, 0x2e, 0x11, 0xd8, 0x1e, 0xd1, 0x06,
	0xd8, 0xb7, 0x3c, 0x53, 0x14, 0x4e, 0xeb, 0x74, 0xbc, 0x6b, 0x7b, 0x64, 0x8f, 0x8d, 0xe6, 0x14,
	0x67, 0xaa, 0xef, 0xf5, 0x52, 0x01, 0xf2, 0xc2, 0x4f, 0xec, 0x70, 0xe9, 0xad, 0x25, 0xf4, 0xec,
	0x84, 0x13, 0x1a, 0xdb, 0x69, 0x52, 0xcf, 0x19, 0x9c, 0xba, 0x93, 0xfa, 0x8e, 0x1d, 0x2e, 0x4b,
	0xbb, 0xd0, 0xe1, 0xe4, 0x8c, 0xe4, 0x38, 0x5c, 0x0e, 0xe5, 0x0f, 0x61, 0xfb, 0x53, 0x3b, 0xdc,
	0x47, 0x50, 0x44, 0xe4, 0x70, 0xe3, 0xc9, 0xd6, 0x82, 0xb5, 0xb6, 0x69, 0xf2, 0xbc, 0xe0, 0xb5,
	0x27, 0xc7, 0xc9, 0xbd, 0x16, 0xdd, 0x01, 0x94, 0x61, 0x34, 0x7e, 0x83, 0x6b, 0xa4, 0xf9, 0xda,
	0x31, 0x15, 0x17, 0x3e, 0x57, 0xb1, 0xe3, 0x1d, 0x8b, 0xab, 0xe0, 0x63, 0xdf, 0x73, 0x3e, 0xea,
	0x7a, 0xff, 0x54, 0x02, 0x14, 0x2d, 0x10, 0x5f, 0x98, 0xe5, 0x44, 0x4a, 0x72, 0x22, 0xf1, 0x99,
	0x31, 0x29, 0xbd, 0x24, 0x4f, 0x25, 0x2f, 0xc9, 0x99, 0x1b, 0xf7, 0x74, 0xf6, 0xc6, 0xad, 0xd8,
	0xb0, 0xb6, 0xed, 0xfe, 0x44, 0x39, 0x39, 0xcb, 0x57, 0xb8, 0xf9, 0xa7, 0xb0, 0x14, 0xb3, 0xc7,
	0x60, 0xb5, 0xc4, 0x05, 0x39, 0x7d, 0x32, 0xc5, 0xc8, 0xf1, 0x96, 0xa2, 0x31, 0xe5, 0x47, 0xb8,
	0xcd, 0x6e, 0xcc, 0x69, 0xf0, 0xc7, 0x9e, 0x2f, 0x97, 0xfa, 0x7b, 0xc9, 0x45, 0xf9, 0x6b, 0x68,
	0x25, 0x5d, 0x32, 0x75, 0xeb, 0xfd, 0x35, 0xe8, 0xff, 0x1d, 0x6c, 0x8c, 0x4d, 0x5f, 0x1c, 0x04,
	0xdf, 0xc2, 0x79, 0x99, 0xe4, 0xc2, 0xdb, 0x76, 0x9e, 0xe8, 0x16, 0xcf, 0x8a, 0x2e, 0x50, 0xba,
	0xec, 0x78, 0x6a, 0x6f, 0xa9, 0x6d, 0xbb, 0xef, 0xf9, 0x16, 0x39, 0x74, 0xe2, 0x7a, 0xcd, 0x9f,
	0x41, 0x5d, 0x37, 0x7d, 0x4d, 0x8f, 0x66, 0x92, 0x75, 0x9b, 0x24, 0x8a, 0x5a, 0xd3, 0x4d, 0x3f,
	0x26, 0xa0, 0x6c, 0xc2, 0x7c, 0x72, 0x3a, 0xe1, 0x8b, 0x55, 0x16, 0xd9, 0x10, 0x4c, 0xbb, 0x61,
	0x12, 0x5d, 0x55, 0xd9, 0x6f, 0xe5, 0x2e, 0x2c, 0x77, 0x6c, 0xac, 0x8b, 0xcc, 0x7d, 0xd7, 0x73,
	0x0d, 0x1c, 0x8c, 0xf2, 0x93, 0x5b, 0x2b, 0x30, 0xab, 0xbe, 0xfd, 0xce, 0x72, 0x4d, 0xef, 0x04,
	0xcd, 0xc0, 0x94, 0xfa, 0xf6, 0x4f, 0x1b, 0x13, 0xfc, 0xc7, 0x66, 0xa3, 0x74, 0xcb, 0x86, 0x45,
	0x49, 0xc5, 0x0c, 0x01, 0x54, 0xba, 0xdb, 0x9d, 0x97, 0xbb, 0x5b, 0x8d, 0x09, 0xfa, 0xfb, 0xc5,
	0xce, 0xee, 0xfe, 0xeb, 0xed, 0x46, 0x09, 0xcd, 0xc2, 0xf4, 0xd3, 0x97, 0xfb, 0x6a, 0x63, 0x92,
	0x52, 0xd8, 0x6a, 0x7f, 0xdf, 0x98, 0xa2, 0x43, 0xdf, 0x6d, 0x6f, 0x3f, 0x6b, 0x4c, 0xa3, 0x2a,
	0x94, 0x5f, 0xbc, 0xdc, 0x7d, 0xfd, 0xb4, 0x51, 0x46, 0x73, 0x30, 0xf3, 0x6a, 0xbf, 0xad, 0xbe,
	0xde, 0x56, 0x1b, 0x15, 0x0a, 0xf1, 0xfd, 0x76, 0x5b, 0x6d, 0xcc, 0xdc, 0x6a, 0x25, 0x9c, 0x30,
	0x8a, 0xa4, 0x14, 0xb8, 0xf3, 0xbc, 0xdd, 0xed, 0x6a, 0x9d, 0xc6, 0x44, 0xfc, 0xf1, 0xa8, 0x51,
	0xda, 0xfc, 0x07, 0x05, 0x96, 0x76, 0x31, 0x39, 0xf1, 0xfc, 0xa3, 0x2e, 0xf6, 0x8f, 0xb1, 0x2f,
	0x5a, 0x89, 0xd0, 0x8f, 0xe1, 0x8b, 0x41, 0xba, 0xb7, 0x08, 0xad, 0x52, 0xb1, 0x17, 0xb4, 0x96,
	0x35, 0xd7, 0xf2, 0x01, 0xb8, 0x46, 0x95, 0x09, 0xa4, 0xb2, 0xf7, 0x84, 0x0c, 0xe5, 0x15, 0x96,
	0xdf, 0xe4, 0x34, 0x8a, 0x35, 0xaf, 0xe4, 0xcc, 0x46, 0x34, 0x5f, 0x85, 0xc5, 0x74, 0x19, 0xc3,
	0x05, 0x2d, 0x58, 0xcd, 0x0b, 0x67, 0xa2, 0xc8, 0xb6, 0x33, 0x20, 0xa7, 0x9c, 0xa4, 0xac, 0xbf,
	0x8a, 0x93, 0x2c, 0xe8, 0xbc, 0x2a, 0x20, 0x19, 0x89, 0x35, 0xdd, 0x9e, 0x93, 0x14, 0xab, 0xb4,
	0x71, 0x27, 0x29, 0x56, 0x79, 0x23, 0x54, 0x24, 0xd6, 0x0c, 0xe5, 0x50, 0xac, 0x72, 0xb2, 0x57,
	0x72, 0x66, 0xcf, 0x8a, 0x55, 0xc6, 0x70, 0x41, 0x17, 0xd3, 0x38, 0x62, 0x95, 0x91, 0x2c, 0x68,
	0x5e, 0x2a, 0x20, 0xf9, 0x36, 0xdd, 0x9c, 0x11, 0x52, 0xbc, 0x1a, 0x0b, 0x4d, 0xd6, 0x08, 0xd3,
	0x5c, 0xcd, 0x9d, 0x8f, 0xf6, 0xff, 0x32, 0xd1, 0xbb, 0x11, 0x92, 0xbd, 0x2c, 0x84, 0x26, 0xa5,
	0xb9, 0x22, 0x9f, 0x4c, 0x10, 0x5c, 0x94, 0xb4, 0xfc, 0x70, 0x56, 0xf3, 0x7b, 0x81, 0x0a, 0xf6,
	0xfe, 0x32, 0xdd, 0x45, 0x91, 0x22, 0x98, 0xdf, 0x04, 0x54, 0x40, 0xb0, 0x0d, 0xf3, 0x49, 0x99,
	0xa0, 0x8b, 0x59, 0x29, 0x8d, 0x26, 0xf1, 0x35, 0x54, 0x23, 0x11, 0xa0, 0xa5, 0x94, 0x44, 0x42,
	0xe4, 0xf3, 0x99, 0xd1, 0x48, 0x40, 0x6d, 0x98, 0x4f, 0xca, 0x81, 0x2f, 0x2f, 0x69, 0x31, 0x29,
	0xde, 0x41, 0x72, 0xe7, 0x9c, 0x84, 0xa4, 0xd5, 0xa4, 0x80, 0xc4, 0x36, 0xd4, 0xd3, 0xed, 0x12,
	0xe8, 0x12, 0x0b, 0x38, 0xb2, 0x26, 0x87, 0x02, 0x32, 0x3b, 0xd0, 0xc8, 0x76, 0x46, 0x70, 0xf3,
	0xc9, 0xe9, 0x97, 0x28, 0xb6, 0x71, 0x49, 0xe7, 0x03, 0xd7, 0x73, 0x7e, 0x27, 0x05, 0xb7, 0xf1,
	0x82, 0x96, 0x09, 0x65, 0x02, 0x75, 0xe1, 0xbc, 0xf4, 0xd5, 0x00, 0xad, 0x65, 0x35, 0x9f, 0xcd,
	0x9f, 0x0a, 0x4f, 0xba, 0x4b, 0xb9, 0x2f, 0x08, 0xe8, 0x3a, 0x25, 0x3c, 0xea, 0x81, 0xa1, 0x80,
	0x78, 0x00, 0x2b, 0x45, 0x4f, 0x00, 0xe8, 0x46, 0x6a, 0xd3, 0xf9, 0x6f, 0x10, 0xcd, 0xf5, 0xd1,
	0x80, 0x91, 0x98, 0xf8, 0xa2, 0xb9, 0x35, 0xfc, 0x68, 0xd1, 0x51, 0xaf, 0x04, 0xd1, 0xa2, 0x23,
	0x9f, 0x03, 0x94, 0x09, 0xf4, 0x2d, 0x3b, 0x7f, 0x52, 0xdd, 0x28, 0x28, 0x47, 0x2e, 0xd1, 0xd1,
	0x23, 0xed, 0x5d, 0xe1, 0x2a, 0xc9, 0x6d, 0x51, 0xe1, 0x2a, 0x19, 0xd5, 0xc1, 0x52, 0xa0, 0x92,
	0x7d, 0xb8, 0x20, 0xef, 0x49, 0x41, 0xd7, 0x78, 0x2b, 0x73, 0x41, 0xbf, 0x4a, 0x01, 0xd9, 0x0e,
	0xd4, 0x52, 0xa5, 0x25, 0xb4, 0x1c, 0xf3, 0x99, 0xae, 0x46, 0x17, 0x10, 0x79, 0x00, 0x10, 0x97,
	0x90, 0x50, 0x78, 0xf2, 0x9c, 0x41, 0xcf, 0x0c, 0x47, 0x72, 0xeb, 0x40, 0x2d, 0x55, 0xb1, 0xe1,
	0x3c, 0xc8, 0x9e, 0xee, 0x8b, 0x37, 0x92, 0x2a, 0xcd, 0x70, 0x22, 0xb2, 0x07, 0xfc, 0x02, 0x22,
	0x7f, 0x0f, 0x6b, 0xa3, 0x9e, 0xe3, 0xd1, 0x6d, 0xbe, 0x8f, 0xb1, 0x1e, 0xfc, 0x9b, 0x77, 0xc6,
	0x03, 0x4e, 0x98, 0xd0, 0x92, 0xac, 0xd2, 0x97, 0xcc, 0x5f, 0xa4, 0xa5, 0xa7, 0x64, 0xfe, 0x22,
	0x2f, 0xe5, 0x45, 0xf9, 0x4b, 0x86, 0xf2, 0x4a, 0x5a, 0x2d, 0x39, 0xf9, 0x4b, 0x2e, 0xcd, 0x57,
	0x99, 0x1e, 0x0b, 0x49, 0xfe, 0x22, 0xa7, 0x3c, 0x46, 0xfe, 0x22, 0x23, 0x59, 0x50, 0x7e, 0x2b,
	0x20, 0xf9, 0x1c, 0xce, 0x65, 0xde, 0xab, 0x51, 0x33, 0xbd, 0xb3, 0xe4, 0xc3, 0x7d, 0xf3, 0xb2,
	0x74, 0x2e, 0xda, 0xb3, 0x0d, 0x97, 0x72, 0x9f, 0x5d, 0xb8, 0x9f, 0x8f, 0x7a, 0xd9, 0x69, 0x7e,
	0x3e, 0x02, 0x2a, 0x5c, 0xeb, 0x4f, 0x4a, 0xc8, 0x82, 0xe5, 0xbc, 0xa7, 0x0f, 0xf4, 0x99, 0x9c,
	0x4c, 0x3a, 0xe4, 0x5d, 0x2f, 0x06, 0x4a, 0x2c, 0x15, 0x59, 0x5f, 0xa6, 0x68, 0x99, 0xb0, 0x3e,
	0xe9, 0x6d, 0x38, 0x69, 0x7d, 0xf2, 0xeb, 0x6c, 0x64, 0x7d, 0x19, 0xca, 0xa1, 0xf5, 0xc9, 0xc9,
	0x5e, 0xc9, 0x99, 0x3d, 0x6b, 0x7d, 0x32, 0x86, 0x0b, 0x8a, 0x52, 0xe3, 0x58, 0x9f, 0x8c, 0x64,
	0x41, 0x2d, 0xaa, 0x38, 0x54, 0xe7, 0x56, 0xa5, 0xb8, 0xbd, 0x8c, 0x2a, 0x5a, 0x15, 0x10, 0xc7,
	0x70, 0xb5, 0xb8, 0x0e, 0x85, 0x6e, 0xb2, 0x7f, 0x6b, 0x18, 0xa7, 0x56, 0x55, 0xbc, 0x87, 0xdc,
	0x62, 0x0f, 0xdf, 0xc3, 0xa8, 0x5a, 0x50, 0x01, 0xf1, 0x9f, 0xe0, 0xfa, 0x38, 0xb5, 0x1d, 0xb4,
	0x11, 0xa5, 0x35, 0xe3, 0x55, 0x81, 0x0a, 0x96, 0xfc, 0xe7, 0x12, 0xdc, 0x18, 0xb3, 0x24, 0x83,
	0x36, 0xb3, 0x66, 0x38, 0xba, 0x3e, 0xd4, 0xbc, 0xfb, 0x5e, 0x38, 0x91, 0x41, 0x3f, 0x64, 0x91,
	0x54, 0xbc, 0x1d, 0xe6, 0x26, 0x22, 0x61, 0x28, 0xcd, 0xbc, 0x31, 0x46, 0xe9, 0x4c, 0xaa, 0xd2,
	0x33, 0x32, 0x9d, 0x91, 0xd6, 0x85, 0x94, 0x09, 0xf4, 0x0c, 0x16, 0xce, 0x14, 0x6b, 0xb8, 0xc3,
	0xe6, 0xd5, 0x70, 0xf2, 0xe5, 0xfd, 0x48, 0x85, 0x25, 0xcb, 0x6b, 0x19, 0x87, 0x96, 0x3f, 0x08,
	0x88, 0x6e, 0x1c, 0xb5, 0xf4, 0x81, 0xd5, 0x72, 0x83, 0x47, 0x28, 0x55, 0x1d, 0xd9, 0xa3, 0x68,
	0x7b, 0xa5, 0x1f, 0xae, 0xf7, 0x2d, 0x72, 0x38, 0x3c, 0x68, 0x19, 0x9e, 0xb3, 0x71, 0xe0, 0x7b,
	0x86, 0xae, 0xfb, 0x1b, 0x31, 0xee, 0x97, 0xfa, 0xc0, 0xda, 0x70, 0x83, 0x83, 0x0a, 0x5b, 0xe5,
	0xee, 0x1f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x52, 0x08, 0xa0, 0x5d, 0x31, 0x38, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// NetworkServerServiceClient is the client API for NetworkServerService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NetworkServerServiceClient interface {
	// CreateServiceProfile creates the given service-profile.
	CreateServiceProfile(ctx context.Context, in *CreateServiceProfileRequest, opts ...grpc.CallOption) (*CreateServiceProfileResponse, error)
	// GetServiceProfile returns the service-profile matching the given id.
	GetServiceProfile(ctx context.Context, in *GetServiceProfileRequest, opts ...grpc.CallOption) (*GetServiceProfileResponse, error)
	// UpdateServiceProfile updates the given service-profile.
	UpdateServiceProfile(ctx context.Context, in *UpdateServiceProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// DeleteServiceProfile deletes the service-profile matching the given id.
	DeleteServiceProfile(ctx context.Context, in *DeleteServiceProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// CreateRoutingProfile creates the given routing-profile.
	CreateRoutingProfile(ctx context.Context, in *CreateRoutingProfileRequest, opts ...grpc.CallOption) (*CreateRoutingProfileResponse, error)
	// GetRoutingProfile returns the routing-profile matching the given id.
	GetRoutingProfile(ctx context.Context, in *GetRoutingProfileRequest, opts ...grpc.CallOption) (*GetRoutingProfileResponse, error)
	// UpdateRoutingProfile updates the given routing-profile.
	UpdateRoutingProfile(ctx context.Context, in *UpdateRoutingProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// DeleteRoutingProfile deletes the routing-profile matching the given id.
	DeleteRoutingProfile(ctx context.Context, in *DeleteRoutingProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// CreateDeviceProfile creates the given device-profile.
	CreateDeviceProfile(ctx context.Context, in *CreateDeviceProfileRequest, opts ...grpc.CallOption) (*CreateDeviceProfileResponse, error)
	// GetDeviceProfile returns the device-profile matching the given id.
	GetDeviceProfile(ctx context.Context, in *GetDeviceProfileRequest, opts ...grpc.CallOption) (*GetDeviceProfileResponse, error)
	// UpdateDeviceProfile updates the given device-profile.
	UpdateDeviceProfile(ctx context.Context, in *UpdateDeviceProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// DeleteDeviceProfile deletes the device-profile matching the given id.
	DeleteDeviceProfile(ctx context.Context, in *DeleteDeviceProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// CreateDevice creates the given device.
	CreateDevice(ctx context.Context, in *CreateDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// GetDevice returns the device matching the given DevEUI.
	GetDevice(ctx context.Context, in *GetDeviceRequest, opts ...grpc.CallOption) (*GetDeviceResponse, error)
	// UpdateDevice updates the given device.
	UpdateDevice(ctx context.Context, in *UpdateDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// DeleteDevice deletes the device matching the given DevEUI.
	DeleteDevice(ctx context.Context, in *DeleteDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// ActivateDevice activates a device (ABP).
	ActivateDevice(ctx context.Context, in *ActivateDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// DeactivateDevice de-activates a device.
	DeactivateDevice(ctx context.Context, in *DeactivateDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// GetDeviceActivation returns the device activation details.
	GetDeviceActivation(ctx context.Context, in *GetDeviceActivationRequest, opts ...grpc.CallOption) (*GetDeviceActivationResponse, error)
	// CreateDeviceQueueItem creates the given device-queue item.
	CreateDeviceQueueItem(ctx context.Context, in *CreateDeviceQueueItemRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// FlushDeviceQueueForDevEUI flushes the device-queue for the given DevEUI.
	FlushDeviceQueueForDevEUI(ctx context.Context, in *FlushDeviceQueueForDevEUIRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// GetDeviceQueueItemsForDevEUI returns all device-queue items for the given DevEUI.
	GetDeviceQueueItemsForDevEUI(ctx context.Context, in *GetDeviceQueueItemsForDevEUIRequest, opts ...grpc.CallOption) (*GetDeviceQueueItemsForDevEUIResponse, error)
	// GetNextDownlinkFCntForDevEUI returns the next FCnt that must be used.
	// This also takes device-queue items for the given DevEUI into consideration.
	GetNextDownlinkFCntForDevEUI(ctx context.Context, in *GetNextDownlinkFCntForDevEUIRequest, opts ...grpc.CallOption) (*GetNextDownlinkFCntForDevEUIResponse, error)
	// GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account.
	GetRandomDevAddr(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*GetRandomDevAddrResponse, error)
	// CreateMACCommandQueueItem adds the downlink mac-command to the queue.
	CreateMACCommandQueueItem(ctx context.Context, in *CreateMACCommandQueueItemRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// SendProprietaryPayload send a payload using the 'Proprietary' LoRaWAN message-type.
	SendProprietaryPayload(ctx context.Context, in *SendProprietaryPayloadRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// CreateGateway creates the given gateway.
	CreateGateway(ctx context.Context, in *CreateGatewayRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// GetGateway returns data for a particular gateway.
	GetGateway(ctx context.Context, in *GetGatewayRequest, opts ...grpc.CallOption) (*GetGatewayResponse, error)
	// UpdateGateway updates an existing gateway.
	UpdateGateway(ctx context.Context, in *UpdateGatewayRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// DeleteGateway deletes a gateway.
	DeleteGateway(ctx context.Context, in *DeleteGatewayRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// GenerateGatewayClientCertificate returns TLS certificate gateway authentication / authorization.
	// This endpoint can ony be used when ChirpStack Network Server is configured with a gateway
	// CA certificate and key, which is used for signing the TLS certificate. The returned TLS
	// certificate will have the Gateway ID as Common Name.
	GenerateGatewayClientCertificate(ctx context.Context, in *GenerateGatewayClientCertificateRequest, opts ...grpc.CallOption) (*GenerateGatewayClientCertificateResponse, error)
	// CreateGatewayProfile creates the given gateway-profile.
	CreateGatewayProfile(ctx context.Context, in *CreateGatewayProfileRequest, opts ...grpc.CallOption) (*CreateGatewayProfileResponse, error)
	// GetGatewayProfile returns the gateway-profile given an id.
	GetGatewayProfile(ctx context.Context, in *GetGatewayProfileRequest, opts ...grpc.CallOption) (*GetGatewayProfileResponse, error)
	// UpdateGatewayProfile updates the given gateway-profile.
	UpdateGatewayProfile(ctx context.Context, in *UpdateGatewayProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// DeleteGatewayProfile deletes the gateway-profile matching a given id.
	DeleteGatewayProfile(ctx context.Context, in *DeleteGatewayProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// GetGatewayStats returns stats of an existing gateway.
	// Deprecated (stats are forwarded to Application Server API).
	GetGatewayStats(ctx context.Context, in *GetGatewayStatsRequest, opts ...grpc.CallOption) (*GetGatewayStatsResponse, error)
	// StreamFrameLogsForGateway returns a stream of frames seen by the given gateway.
	StreamFrameLogsForGateway(ctx context.Context, in *StreamFrameLogsForGatewayRequest, opts ...grpc.CallOption) (NetworkServerService_StreamFrameLogsForGatewayClient, error)
	// StreamFrameLogsForDevice returns a stream of frames seen by the given device.
	StreamFrameLogsForDevice(ctx context.Context, in *StreamFrameLogsForDeviceRequest, opts ...grpc.CallOption) (NetworkServerService_StreamFrameLogsForDeviceClient, error)
	// CreateMulticastGroup creates the given multicast-group.
	CreateMulticastGroup(ctx context.Context, in *CreateMulticastGroupRequest, opts ...grpc.CallOption) (*CreateMulticastGroupResponse, error)
	// GetMulticastGroup returns the multicast-group given an id.
	GetMulticastGroup(ctx context.Context, in *GetMulticastGroupRequest, opts ...grpc.CallOption) (*GetMulticastGroupResponse, error)
	// UpdateMulticastGroup updates the given multicast-group.
	UpdateMulticastGroup(ctx context.Context, in *UpdateMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// DeleteMulticastGroup deletes a multicast-group given an id.
	DeleteMulticastGroup(ctx context.Context, in *DeleteMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// AddDeviceToMulticastGroup adds the given device to the given multicast-group.
	AddDeviceToMulticastGroup(ctx context.Context, in *AddDeviceToMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// RemoveDeviceFromMulticastGroup removes the given device from the given multicast-group.
	RemoveDeviceFromMulticastGroup(ctx context.Context, in *RemoveDeviceFromMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// EnqueueMulticastQueueItem enqueues the given multicast queue-item and
	// increments the frame-counter after enqueueing.
	EnqueueMulticastQueueItem(ctx context.Context, in *EnqueueMulticastQueueItemRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// FlushMulticastQueueForMulticastGroup flushes the multicast device-queue given a multicast-group id.
	FlushMulticastQueueForMulticastGroup(ctx context.Context, in *FlushMulticastQueueForMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// GetMulticastQueueItemsForMulticastGroup returns the queue-items given a multicast-group id.
	GetMulticastQueueItemsForMulticastGroup(ctx context.Context, in *GetMulticastQueueItemsForMulticastGroupRequest, opts ...grpc.CallOption) (*GetMulticastQueueItemsForMulticastGroupResponse, error)
	// GetVersion returns the ChirpStack Network Server version.
	GetVersion(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error)
	// GetADRAlgorithms returns the available ADR algorithms.
	GetADRAlgorithms(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*GetADRAlgorithmsResponse, error)
	// ClearDeviceNonces deletes the device older activation records for the given DevEUI.
	//   * These are clear older DevNonce records from device activation records
	//   * These clears all DevNonce records but keeps latest 20 records for maintain device activation status
	ClearDeviceNonces(ctx context.Context, in *ClearDeviceNoncesRequest, opts ...grpc.CallOption) (*empty.Empty, error)
}

type networkServerServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewNetworkServerServiceClient(cc grpc.ClientConnInterface) NetworkServerServiceClient {
	return &networkServerServiceClient{cc}
}

func (c *networkServerServiceClient) CreateServiceProfile(ctx context.Context, in *CreateServiceProfileRequest, opts ...grpc.CallOption) (*CreateServiceProfileResponse, error) {
	out := new(CreateServiceProfileResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateServiceProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetServiceProfile(ctx context.Context, in *GetServiceProfileRequest, opts ...grpc.CallOption) (*GetServiceProfileResponse, error) {
	out := new(GetServiceProfileResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetServiceProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) UpdateServiceProfile(ctx context.Context, in *UpdateServiceProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/UpdateServiceProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) DeleteServiceProfile(ctx context.Context, in *DeleteServiceProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/DeleteServiceProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) CreateRoutingProfile(ctx context.Context, in *CreateRoutingProfileRequest, opts ...grpc.CallOption) (*CreateRoutingProfileResponse, error) {
	out := new(CreateRoutingProfileResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateRoutingProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetRoutingProfile(ctx context.Context, in *GetRoutingProfileRequest, opts ...grpc.CallOption) (*GetRoutingProfileResponse, error) {
	out := new(GetRoutingProfileResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetRoutingProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) UpdateRoutingProfile(ctx context.Context, in *UpdateRoutingProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/UpdateRoutingProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) DeleteRoutingProfile(ctx context.Context, in *DeleteRoutingProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/DeleteRoutingProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) CreateDeviceProfile(ctx context.Context, in *CreateDeviceProfileRequest, opts ...grpc.CallOption) (*CreateDeviceProfileResponse, error) {
	out := new(CreateDeviceProfileResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateDeviceProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetDeviceProfile(ctx context.Context, in *GetDeviceProfileRequest, opts ...grpc.CallOption) (*GetDeviceProfileResponse, error) {
	out := new(GetDeviceProfileResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetDeviceProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) UpdateDeviceProfile(ctx context.Context, in *UpdateDeviceProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/UpdateDeviceProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) DeleteDeviceProfile(ctx context.Context, in *DeleteDeviceProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/DeleteDeviceProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) CreateDevice(ctx context.Context, in *CreateDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetDevice(ctx context.Context, in *GetDeviceRequest, opts ...grpc.CallOption) (*GetDeviceResponse, error) {
	out := new(GetDeviceResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) UpdateDevice(ctx context.Context, in *UpdateDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/UpdateDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) DeleteDevice(ctx context.Context, in *DeleteDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/DeleteDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) ActivateDevice(ctx context.Context, in *ActivateDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/ActivateDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) DeactivateDevice(ctx context.Context, in *DeactivateDeviceRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/DeactivateDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetDeviceActivation(ctx context.Context, in *GetDeviceActivationRequest, opts ...grpc.CallOption) (*GetDeviceActivationResponse, error) {
	out := new(GetDeviceActivationResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetDeviceActivation", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) CreateDeviceQueueItem(ctx context.Context, in *CreateDeviceQueueItemRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateDeviceQueueItem", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) FlushDeviceQueueForDevEUI(ctx context.Context, in *FlushDeviceQueueForDevEUIRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/FlushDeviceQueueForDevEUI", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetDeviceQueueItemsForDevEUI(ctx context.Context, in *GetDeviceQueueItemsForDevEUIRequest, opts ...grpc.CallOption) (*GetDeviceQueueItemsForDevEUIResponse, error) {
	out := new(GetDeviceQueueItemsForDevEUIResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetDeviceQueueItemsForDevEUI", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetNextDownlinkFCntForDevEUI(ctx context.Context, in *GetNextDownlinkFCntForDevEUIRequest, opts ...grpc.CallOption) (*GetNextDownlinkFCntForDevEUIResponse, error) {
	out := new(GetNextDownlinkFCntForDevEUIResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetNextDownlinkFCntForDevEUI", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetRandomDevAddr(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*GetRandomDevAddrResponse, error) {
	out := new(GetRandomDevAddrResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetRandomDevAddr", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) CreateMACCommandQueueItem(ctx context.Context, in *CreateMACCommandQueueItemRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateMACCommandQueueItem", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) SendProprietaryPayload(ctx context.Context, in *SendProprietaryPayloadRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/SendProprietaryPayload", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) CreateGateway(ctx context.Context, in *CreateGatewayRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateGateway", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetGateway(ctx context.Context, in *GetGatewayRequest, opts ...grpc.CallOption) (*GetGatewayResponse, error) {
	out := new(GetGatewayResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetGateway", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) UpdateGateway(ctx context.Context, in *UpdateGatewayRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/UpdateGateway", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) DeleteGateway(ctx context.Context, in *DeleteGatewayRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/DeleteGateway", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GenerateGatewayClientCertificate(ctx context.Context, in *GenerateGatewayClientCertificateRequest, opts ...grpc.CallOption) (*GenerateGatewayClientCertificateResponse, error) {
	out := new(GenerateGatewayClientCertificateResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GenerateGatewayClientCertificate", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) CreateGatewayProfile(ctx context.Context, in *CreateGatewayProfileRequest, opts ...grpc.CallOption) (*CreateGatewayProfileResponse, error) {
	out := new(CreateGatewayProfileResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateGatewayProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetGatewayProfile(ctx context.Context, in *GetGatewayProfileRequest, opts ...grpc.CallOption) (*GetGatewayProfileResponse, error) {
	out := new(GetGatewayProfileResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetGatewayProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) UpdateGatewayProfile(ctx context.Context, in *UpdateGatewayProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/UpdateGatewayProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) DeleteGatewayProfile(ctx context.Context, in *DeleteGatewayProfileRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/DeleteGatewayProfile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetGatewayStats(ctx context.Context, in *GetGatewayStatsRequest, opts ...grpc.CallOption) (*GetGatewayStatsResponse, error) {
	out := new(GetGatewayStatsResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetGatewayStats", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) StreamFrameLogsForGateway(ctx context.Context, in *StreamFrameLogsForGatewayRequest, opts ...grpc.CallOption) (NetworkServerService_StreamFrameLogsForGatewayClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NetworkServerService_serviceDesc.Streams[0], "/ns.NetworkServerService/StreamFrameLogsForGateway", opts...)
	if err != nil {
		return nil, err
	}
	x := &networkServerServiceStreamFrameLogsForGatewayClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NetworkServerService_StreamFrameLogsForGatewayClient interface {
	Recv() (*StreamFrameLogsForGatewayResponse, error)
	grpc.ClientStream
}

type networkServerServiceStreamFrameLogsForGatewayClient struct {
	grpc.ClientStream
}

func (x *networkServerServiceStreamFrameLogsForGatewayClient) Recv() (*StreamFrameLogsForGatewayResponse, error) {
	m := new(StreamFrameLogsForGatewayResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *networkServerServiceClient) StreamFrameLogsForDevice(ctx context.Context, in *StreamFrameLogsForDeviceRequest, opts ...grpc.CallOption) (NetworkServerService_StreamFrameLogsForDeviceClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NetworkServerService_serviceDesc.Streams[1], "/ns.NetworkServerService/StreamFrameLogsForDevice", opts...)
	if err != nil {
		return nil, err
	}
	x := &networkServerServiceStreamFrameLogsForDeviceClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NetworkServerService_StreamFrameLogsForDeviceClient interface {
	Recv() (*StreamFrameLogsForDeviceResponse, error)
	grpc.ClientStream
}

type networkServerServiceStreamFrameLogsForDeviceClient struct {
	grpc.ClientStream
}

func (x *networkServerServiceStreamFrameLogsForDeviceClient) Recv() (*StreamFrameLogsForDeviceResponse, error) {
	m := new(StreamFrameLogsForDeviceResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *networkServerServiceClient) CreateMulticastGroup(ctx context.Context, in *CreateMulticastGroupRequest, opts ...grpc.CallOption) (*CreateMulticastGroupResponse, error) {
	out := new(CreateMulticastGroupResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/CreateMulticastGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetMulticastGroup(ctx context.Context, in *GetMulticastGroupRequest, opts ...grpc.CallOption) (*GetMulticastGroupResponse, error) {
	out := new(GetMulticastGroupResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetMulticastGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) UpdateMulticastGroup(ctx context.Context, in *UpdateMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/UpdateMulticastGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) DeleteMulticastGroup(ctx context.Context, in *DeleteMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/DeleteMulticastGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) AddDeviceToMulticastGroup(ctx context.Context, in *AddDeviceToMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/AddDeviceToMulticastGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) RemoveDeviceFromMulticastGroup(ctx context.Context, in *RemoveDeviceFromMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/RemoveDeviceFromMulticastGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) EnqueueMulticastQueueItem(ctx context.Context, in *EnqueueMulticastQueueItemRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/EnqueueMulticastQueueItem", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) FlushMulticastQueueForMulticastGroup(ctx context.Context, in *FlushMulticastQueueForMulticastGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/FlushMulticastQueueForMulticastGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetMulticastQueueItemsForMulticastGroup(ctx context.Context, in *GetMulticastQueueItemsForMulticastGroupRequest, opts ...grpc.CallOption) (*GetMulticastQueueItemsForMulticastGroupResponse, error) {
	out := new(GetMulticastQueueItemsForMulticastGroupResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetMulticastQueueItemsForMulticastGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetVersion(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error) {
	out := new(GetVersionResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) GetADRAlgorithms(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*GetADRAlgorithmsResponse, error) {
	out := new(GetADRAlgorithmsResponse)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/GetADRAlgorithms", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *networkServerServiceClient) ClearDeviceNonces(ctx context.Context, in *ClearDeviceNoncesRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/ns.NetworkServerService/ClearDeviceNonces", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// NetworkServerServiceServer is the server API for NetworkServerService service.
type NetworkServerServiceServer interface {
	// CreateServiceProfile creates the given service-profile.
	CreateServiceProfile(context.Context, *CreateServiceProfileRequest) (*CreateServiceProfileResponse, error)
	// GetServiceProfile returns the service-profile matching the given id.
	GetServiceProfile(context.Context, *GetServiceProfileRequest) (*GetServiceProfileResponse, error)
	// UpdateServiceProfile updates the given service-profile.
	UpdateServiceProfile(context.Context, *UpdateServiceProfileRequest) (*empty.Empty, error)
	// DeleteServiceProfile deletes the service-profile matching the given id.
	DeleteServiceProfile(context.Context, *DeleteServiceProfileRequest) (*empty.Empty, error)
	// CreateRoutingProfile creates the given routing-profile.
	CreateRoutingProfile(context.Context, *CreateRoutingProfileRequest) (*CreateRoutingProfileResponse, error)
	// GetRoutingProfile returns the routing-profile matching the given id.
	GetRoutingProfile(context.Context, *GetRoutingProfileRequest) (*GetRoutingProfileResponse, error)
	// UpdateRoutingProfile updates the given routing-profile.
	UpdateRoutingProfile(context.Context, *UpdateRoutingProfileRequest) (*empty.Empty, error)
	// DeleteRoutingProfile deletes the routing-profile matching the given id.
	DeleteRoutingProfile(context.Context, *DeleteRoutingProfileRequest) (*empty.Empty, error)
	// CreateDeviceProfile creates the given device-profile.
	CreateDeviceProfile(context.Context, *CreateDeviceProfileRequest) (*CreateDeviceProfileResponse, error)
	// GetDeviceProfile returns the device-profile matching the given id.
	GetDeviceProfile(context.Context, *GetDeviceProfileRequest) (*GetDeviceProfileResponse, error)
	// UpdateDeviceProfile updates the given device-profile.
	UpdateDeviceProfile(context.Context, *UpdateDeviceProfileRequest) (*empty.Empty, error)
	// DeleteDeviceProfile deletes the device-profile matching the given id.
	DeleteDeviceProfile(context.Context, *DeleteDeviceProfileRequest) (*empty.Empty, error)
	// CreateDevice creates the given device.
	CreateDevice(context.Context, *CreateDeviceRequest) (*empty.Empty, error)
	// GetDevice returns the device matching the given DevEUI.
	GetDevice(context.Context, *GetDeviceRequest) (*GetDeviceResponse, error)
	// UpdateDevice updates the given device.
	UpdateDevice(context.Context, *UpdateDeviceRequest) (*empty.Empty, error)
	// DeleteDevice deletes the device matching the given DevEUI.
	DeleteDevice(context.Context, *DeleteDeviceRequest) (*empty.Empty, error)
	// ActivateDevice activates a device (ABP).
	ActivateDevice(context.Context, *ActivateDeviceRequest) (*empty.Empty, error)
	// DeactivateDevice de-activates a device.
	DeactivateDevice(context.Context, *DeactivateDeviceRequest) (*empty.Empty, error)
	// GetDeviceActivation returns the device activation details.
	GetDeviceActivation(context.Context, *GetDeviceActivationRequest) (*GetDeviceActivationResponse, error)
	// CreateDeviceQueueItem creates the given device-queue item.
	CreateDeviceQueueItem(context.Context, *CreateDeviceQueueItemRequest) (*empty.Empty, error)
	// FlushDeviceQueueForDevEUI flushes the device-queue for the given DevEUI.
	FlushDeviceQueueForDevEUI(context.Context, *FlushDeviceQueueForDevEUIRequest) (*empty.Empty, error)
	// GetDeviceQueueItemsForDevEUI returns all device-queue items for the given DevEUI.
	GetDeviceQueueItemsForDevEUI(context.Context, *GetDeviceQueueItemsForDevEUIRequest) (*GetDeviceQueueItemsForDevEUIResponse, error)
	// GetNextDownlinkFCntForDevEUI returns the next FCnt that must be used.
	// This also takes device-queue items for the given DevEUI into consideration.
	GetNextDownlinkFCntForDevEUI(context.Context, *GetNextDownlinkFCntForDevEUIRequest) (*GetNextDownlinkFCntForDevEUIResponse, error)
	// GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account.
	GetRandomDevAddr(context.Context, *empty.Empty) (*GetRandomDevAddrResponse, error)
	// CreateMACCommandQueueItem adds the downlink mac-command to the queue.
	CreateMACCommandQueueItem(context.Context, *CreateMACCommandQueueItemRequest) (*empty.Empty, error)
	// SendProprietaryPayload send a payload using the 'Proprietary' LoRaWAN message-type.
	SendProprietaryPayload(context.Context, *SendProprietaryPayloadRequest) (*empty.Empty, error)
	// CreateGateway creates the given gateway.
	CreateGateway(context.Context, *CreateGatewayRequest) (*empty.Empty, error)
	// GetGateway returns data for a particular gateway.
	GetGateway(context.Context, *GetGatewayRequest) (*GetGatewayResponse, error)
	// UpdateGateway updates an existing gateway.
	UpdateGateway(context.Context, *UpdateGatewayRequest) (*empty.Empty, error)
	// DeleteGateway deletes a gateway.
	DeleteGateway(context.Context, *DeleteGatewayRequest) (*empty.Empty, error)
	// GenerateGatewayClientCertificate returns TLS certificate gateway authentication / authorization.
	// This endpoint can ony be used when ChirpStack Network Server is configured with a gateway
	// CA certificate and key, which is used for signing the TLS certificate. The returned TLS
	// certificate will have the Gateway ID as Common Name.
	GenerateGatewayClientCertificate(context.Context, *GenerateGatewayClientCertificateRequest) (*GenerateGatewayClientCertificateResponse, error)
	// CreateGatewayProfile creates the given gateway-profile.
	CreateGatewayProfile(context.Context, *CreateGatewayProfileRequest) (*CreateGatewayProfileResponse, error)
	// GetGatewayProfile returns the gateway-profile given an id.
	GetGatewayProfile(context.Context, *GetGatewayProfileRequest) (*GetGatewayProfileResponse, error)
	// UpdateGatewayProfile updates the given gateway-profile.
	UpdateGatewayProfile(context.Context, *UpdateGatewayProfileRequest) (*empty.Empty, error)
	// DeleteGatewayProfile deletes the gateway-profile matching a given id.
	DeleteGatewayProfile(context.Context, *DeleteGatewayProfileRequest) (*empty.Empty, error)
	// GetGatewayStats returns stats of an existing gateway.
	// Deprecated (stats are forwarded to Application Server API).
	GetGatewayStats(context.Context, *GetGatewayStatsRequest) (*GetGatewayStatsResponse, error)
	// StreamFrameLogsForGateway returns a stream of frames seen by the given gateway.
	StreamFrameLogsForGateway(*StreamFrameLogsForGatewayRequest, NetworkServerService_StreamFrameLogsForGatewayServer) error
	// StreamFrameLogsForDevice returns a stream of frames seen by the given device.
	StreamFrameLogsForDevice(*StreamFrameLogsForDeviceRequest, NetworkServerService_StreamFrameLogsForDeviceServer) error
	// CreateMulticastGroup creates the given multicast-group.
	CreateMulticastGroup(context.Context, *CreateMulticastGroupRequest) (*CreateMulticastGroupResponse, error)
	// GetMulticastGroup returns the multicast-group given an id.
	GetMulticastGroup(context.Context, *GetMulticastGroupRequest) (*GetMulticastGroupResponse, error)
	// UpdateMulticastGroup updates the given multicast-group.
	UpdateMulticastGroup(context.Context, *UpdateMulticastGroupRequest) (*empty.Empty, error)
	// DeleteMulticastGroup deletes a multicast-group given an id.
	DeleteMulticastGroup(context.Context, *DeleteMulticastGroupRequest) (*empty.Empty, error)
	// AddDeviceToMulticastGroup adds the given device to the given multicast-group.
	AddDeviceToMulticastGroup(context.Context, *AddDeviceToMulticastGroupRequest) (*empty.Empty, error)
	// RemoveDeviceFromMulticastGroup removes the given device from the given multicast-group.
	RemoveDeviceFromMulticastGroup(context.Context, *RemoveDeviceFromMulticastGroupRequest) (*empty.Empty, error)
	// EnqueueMulticastQueueItem enqueues the given multicast queue-item and
	// increments the frame-counter after enqueueing.
	EnqueueMulticastQueueItem(context.Context, *EnqueueMulticastQueueItemRequest) (*empty.Empty, error)
	// FlushMulticastQueueForMulticastGroup flushes the multicast device-queue given a multicast-group id.
	FlushMulticastQueueForMulticastGroup(context.Context, *FlushMulticastQueueForMulticastGroupRequest) (*empty.Empty, error)
	// GetMulticastQueueItemsForMulticastGroup returns the queue-items given a multicast-group id.
	GetMulticastQueueItemsForMulticastGroup(context.Context, *GetMulticastQueueItemsForMulticastGroupRequest) (*GetMulticastQueueItemsForMulticastGroupResponse, error)
	// GetVersion returns the ChirpStack Network Server version.
	GetVersion(context.Context, *empty.Empty) (*GetVersionResponse, error)
	// GetADRAlgorithms returns the available ADR algorithms.
	GetADRAlgorithms(context.Context, *empty.Empty) (*GetADRAlgorithmsResponse, error)
	// ClearDeviceNonces deletes the device older activation records for the given DevEUI.
	//   * These are clear older DevNonce records from device activation records
	//   * These clears all DevNonce records but keeps latest 20 records for maintain device activation status
	ClearDeviceNonces(context.Context, *ClearDeviceNoncesRequest) (*empty.Empty, error)
}

// UnimplementedNetworkServerServiceServer can be embedded to have forward compatible implementations.
type UnimplementedNetworkServerServiceServer struct {
}

func (*UnimplementedNetworkServerServiceServer) CreateServiceProfile(ctx context.Context, req *CreateServiceProfileRequest) (*CreateServiceProfileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateServiceProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetServiceProfile(ctx context.Context, req *GetServiceProfileRequest) (*GetServiceProfileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServiceProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) UpdateServiceProfile(ctx context.Context, req *UpdateServiceProfileRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateServiceProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) DeleteServiceProfile(ctx context.Context, req *DeleteServiceProfileRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteServiceProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) CreateRoutingProfile(ctx context.Context, req *CreateRoutingProfileRequest) (*CreateRoutingProfileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateRoutingProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetRoutingProfile(ctx context.Context, req *GetRoutingProfileRequest) (*GetRoutingProfileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRoutingProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) UpdateRoutingProfile(ctx context.Context, req *UpdateRoutingProfileRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateRoutingProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) DeleteRoutingProfile(ctx context.Context, req *DeleteRoutingProfileRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteRoutingProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) CreateDeviceProfile(ctx context.Context, req *CreateDeviceProfileRequest) (*CreateDeviceProfileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateDeviceProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetDeviceProfile(ctx context.Context, req *GetDeviceProfileRequest) (*GetDeviceProfileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDeviceProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) UpdateDeviceProfile(ctx context.Context, req *UpdateDeviceProfileRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateDeviceProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) DeleteDeviceProfile(ctx context.Context, req *DeleteDeviceProfileRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteDeviceProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) CreateDevice(ctx context.Context, req *CreateDeviceRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateDevice not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetDevice(ctx context.Context, req *GetDeviceRequest) (*GetDeviceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDevice not implemented")
}
func (*UnimplementedNetworkServerServiceServer) UpdateDevice(ctx context.Context, req *UpdateDeviceRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateDevice not implemented")
}
func (*UnimplementedNetworkServerServiceServer) DeleteDevice(ctx context.Context, req *DeleteDeviceRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteDevice not implemented")
}
func (*UnimplementedNetworkServerServiceServer) ActivateDevice(ctx context.Context, req *ActivateDeviceRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ActivateDevice not implemented")
}
func (*UnimplementedNetworkServerServiceServer) DeactivateDevice(ctx context.Context, req *DeactivateDeviceRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeactivateDevice not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetDeviceActivation(ctx context.Context, req *GetDeviceActivationRequest) (*GetDeviceActivationResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDeviceActivation not implemented")
}
func (*UnimplementedNetworkServerServiceServer) CreateDeviceQueueItem(ctx context.Context, req *CreateDeviceQueueItemRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateDeviceQueueItem not implemented")
}
func (*UnimplementedNetworkServerServiceServer) FlushDeviceQueueForDevEUI(ctx context.Context, req *FlushDeviceQueueForDevEUIRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FlushDeviceQueueForDevEUI not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetDeviceQueueItemsForDevEUI(ctx context.Context, req *GetDeviceQueueItemsForDevEUIRequest) (*GetDeviceQueueItemsForDevEUIResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDeviceQueueItemsForDevEUI not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetNextDownlinkFCntForDevEUI(ctx context.Context, req *GetNextDownlinkFCntForDevEUIRequest) (*GetNextDownlinkFCntForDevEUIResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNextDownlinkFCntForDevEUI not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetRandomDevAddr(ctx context.Context, req *empty.Empty) (*GetRandomDevAddrResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRandomDevAddr not implemented")
}
func (*UnimplementedNetworkServerServiceServer) CreateMACCommandQueueItem(ctx context.Context, req *CreateMACCommandQueueItemRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateMACCommandQueueItem not implemented")
}
func (*UnimplementedNetworkServerServiceServer) SendProprietaryPayload(ctx context.Context, req *SendProprietaryPayloadRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendProprietaryPayload not implemented")
}
func (*UnimplementedNetworkServerServiceServer) CreateGateway(ctx context.Context, req *CreateGatewayRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateGateway not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetGateway(ctx context.Context, req *GetGatewayRequest) (*GetGatewayResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGateway not implemented")
}
func (*UnimplementedNetworkServerServiceServer) UpdateGateway(ctx context.Context, req *UpdateGatewayRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateGateway not implemented")
}
func (*UnimplementedNetworkServerServiceServer) DeleteGateway(ctx context.Context, req *DeleteGatewayRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteGateway not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GenerateGatewayClientCertificate(ctx context.Context, req *GenerateGatewayClientCertificateRequest) (*GenerateGatewayClientCertificateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GenerateGatewayClientCertificate not implemented")
}
func (*UnimplementedNetworkServerServiceServer) CreateGatewayProfile(ctx context.Context, req *CreateGatewayProfileRequest) (*CreateGatewayProfileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateGatewayProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetGatewayProfile(ctx context.Context, req *GetGatewayProfileRequest) (*GetGatewayProfileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGatewayProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) UpdateGatewayProfile(ctx context.Context, req *UpdateGatewayProfileRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateGatewayProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) DeleteGatewayProfile(ctx context.Context, req *DeleteGatewayProfileRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteGatewayProfile not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetGatewayStats(ctx context.Context, req *GetGatewayStatsRequest) (*GetGatewayStatsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGatewayStats not implemented")
}
func (*UnimplementedNetworkServerServiceServer) StreamFrameLogsForGateway(req *StreamFrameLogsForGatewayRequest, srv NetworkServerService_StreamFrameLogsForGatewayServer) error {
	return status.Errorf(codes.Unimplemented, "method StreamFrameLogsForGateway not implemented")
}
func (*UnimplementedNetworkServerServiceServer) StreamFrameLogsForDevice(req *StreamFrameLogsForDeviceRequest, srv NetworkServerService_StreamFrameLogsForDeviceServer) error {
	return status.Errorf(codes.Unimplemented, "method StreamFrameLogsForDevice not implemented")
}
func (*UnimplementedNetworkServerServiceServer) CreateMulticastGroup(ctx context.Context, req *CreateMulticastGroupRequest) (*CreateMulticastGroupResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateMulticastGroup not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetMulticastGroup(ctx context.Context, req *GetMulticastGroupRequest) (*GetMulticastGroupResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetMulticastGroup not implemented")
}
func (*UnimplementedNetworkServerServiceServer) UpdateMulticastGroup(ctx context.Context, req *UpdateMulticastGroupRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateMulticastGroup not implemented")
}
func (*UnimplementedNetworkServerServiceServer) DeleteMulticastGroup(ctx context.Context, req *DeleteMulticastGroupRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteMulticastGroup not implemented")
}
func (*UnimplementedNetworkServerServiceServer) AddDeviceToMulticastGroup(ctx context.Context, req *AddDeviceToMulticastGroupRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddDeviceToMulticastGroup not implemented")
}
func (*UnimplementedNetworkServerServiceServer) RemoveDeviceFromMulticastGroup(ctx context.Context, req *RemoveDeviceFromMulticastGroupRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemoveDeviceFromMulticastGroup not implemented")
}
func (*UnimplementedNetworkServerServiceServer) EnqueueMulticastQueueItem(ctx context.Context, req *EnqueueMulticastQueueItemRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EnqueueMulticastQueueItem not implemented")
}
func (*UnimplementedNetworkServerServiceServer) FlushMulticastQueueForMulticastGroup(ctx context.Context, req *FlushMulticastQueueForMulticastGroupRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FlushMulticastQueueForMulticastGroup not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetMulticastQueueItemsForMulticastGroup(ctx context.Context, req *GetMulticastQueueItemsForMulticastGroupRequest) (*GetMulticastQueueItemsForMulticastGroupResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetMulticastQueueItemsForMulticastGroup not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetVersion(ctx context.Context, req *empty.Empty) (*GetVersionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented")
}
func (*UnimplementedNetworkServerServiceServer) GetADRAlgorithms(ctx context.Context, req *empty.Empty) (*GetADRAlgorithmsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetADRAlgorithms not implemented")
}
func (*UnimplementedNetworkServerServiceServer) ClearDeviceNonces(ctx context.Context, req *ClearDeviceNoncesRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ClearDeviceNonces not implemented")
}

func RegisterNetworkServerServiceServer(s *grpc.Server, srv NetworkServerServiceServer) {
	s.RegisterService(&_NetworkServerService_serviceDesc, srv)
}

func _NetworkServerService_CreateServiceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateServiceProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateServiceProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateServiceProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateServiceProfile(ctx, req.(*CreateServiceProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetServiceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetServiceProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetServiceProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetServiceProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetServiceProfile(ctx, req.(*GetServiceProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_UpdateServiceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateServiceProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).UpdateServiceProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/UpdateServiceProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).UpdateServiceProfile(ctx, req.(*UpdateServiceProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_DeleteServiceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteServiceProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).DeleteServiceProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/DeleteServiceProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).DeleteServiceProfile(ctx, req.(*DeleteServiceProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_CreateRoutingProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateRoutingProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateRoutingProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateRoutingProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateRoutingProfile(ctx, req.(*CreateRoutingProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetRoutingProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRoutingProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetRoutingProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetRoutingProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetRoutingProfile(ctx, req.(*GetRoutingProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_UpdateRoutingProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateRoutingProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).UpdateRoutingProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/UpdateRoutingProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).UpdateRoutingProfile(ctx, req.(*UpdateRoutingProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_DeleteRoutingProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteRoutingProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).DeleteRoutingProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/DeleteRoutingProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).DeleteRoutingProfile(ctx, req.(*DeleteRoutingProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_CreateDeviceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateDeviceProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateDeviceProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateDeviceProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateDeviceProfile(ctx, req.(*CreateDeviceProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetDeviceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDeviceProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetDeviceProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetDeviceProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetDeviceProfile(ctx, req.(*GetDeviceProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_UpdateDeviceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateDeviceProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).UpdateDeviceProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/UpdateDeviceProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).UpdateDeviceProfile(ctx, req.(*UpdateDeviceProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_DeleteDeviceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteDeviceProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).DeleteDeviceProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/DeleteDeviceProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).DeleteDeviceProfile(ctx, req.(*DeleteDeviceProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_CreateDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateDeviceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateDevice(ctx, req.(*CreateDeviceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDeviceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetDevice(ctx, req.(*GetDeviceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_UpdateDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateDeviceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).UpdateDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/UpdateDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).UpdateDevice(ctx, req.(*UpdateDeviceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_DeleteDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteDeviceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).DeleteDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/DeleteDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).DeleteDevice(ctx, req.(*DeleteDeviceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_ActivateDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ActivateDeviceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).ActivateDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/ActivateDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).ActivateDevice(ctx, req.(*ActivateDeviceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_DeactivateDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeactivateDeviceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).DeactivateDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/DeactivateDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).DeactivateDevice(ctx, req.(*DeactivateDeviceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetDeviceActivation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDeviceActivationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetDeviceActivation(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetDeviceActivation",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetDeviceActivation(ctx, req.(*GetDeviceActivationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_CreateDeviceQueueItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateDeviceQueueItemRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateDeviceQueueItem(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateDeviceQueueItem",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateDeviceQueueItem(ctx, req.(*CreateDeviceQueueItemRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_FlushDeviceQueueForDevEUI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FlushDeviceQueueForDevEUIRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).FlushDeviceQueueForDevEUI(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/FlushDeviceQueueForDevEUI",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).FlushDeviceQueueForDevEUI(ctx, req.(*FlushDeviceQueueForDevEUIRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetDeviceQueueItemsForDevEUI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDeviceQueueItemsForDevEUIRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetDeviceQueueItemsForDevEUI(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetDeviceQueueItemsForDevEUI",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetDeviceQueueItemsForDevEUI(ctx, req.(*GetDeviceQueueItemsForDevEUIRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetNextDownlinkFCntForDevEUI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetNextDownlinkFCntForDevEUIRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetNextDownlinkFCntForDevEUI(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetNextDownlinkFCntForDevEUI",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetNextDownlinkFCntForDevEUI(ctx, req.(*GetNextDownlinkFCntForDevEUIRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetRandomDevAddr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetRandomDevAddr(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetRandomDevAddr",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetRandomDevAddr(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_CreateMACCommandQueueItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateMACCommandQueueItemRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateMACCommandQueueItem(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateMACCommandQueueItem",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateMACCommandQueueItem(ctx, req.(*CreateMACCommandQueueItemRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_SendProprietaryPayload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SendProprietaryPayloadRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).SendProprietaryPayload(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/SendProprietaryPayload",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).SendProprietaryPayload(ctx, req.(*SendProprietaryPayloadRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_CreateGateway_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateGatewayRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateGateway(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateGateway",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateGateway(ctx, req.(*CreateGatewayRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetGateway_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetGatewayRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetGateway(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetGateway",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetGateway(ctx, req.(*GetGatewayRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_UpdateGateway_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateGatewayRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).UpdateGateway(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/UpdateGateway",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).UpdateGateway(ctx, req.(*UpdateGatewayRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_DeleteGateway_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteGatewayRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).DeleteGateway(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/DeleteGateway",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).DeleteGateway(ctx, req.(*DeleteGatewayRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GenerateGatewayClientCertificate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GenerateGatewayClientCertificateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GenerateGatewayClientCertificate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GenerateGatewayClientCertificate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GenerateGatewayClientCertificate(ctx, req.(*GenerateGatewayClientCertificateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_CreateGatewayProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateGatewayProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateGatewayProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateGatewayProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateGatewayProfile(ctx, req.(*CreateGatewayProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetGatewayProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetGatewayProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetGatewayProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetGatewayProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetGatewayProfile(ctx, req.(*GetGatewayProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_UpdateGatewayProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateGatewayProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).UpdateGatewayProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/UpdateGatewayProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).UpdateGatewayProfile(ctx, req.(*UpdateGatewayProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_DeleteGatewayProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteGatewayProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).DeleteGatewayProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/DeleteGatewayProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).DeleteGatewayProfile(ctx, req.(*DeleteGatewayProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetGatewayStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetGatewayStatsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetGatewayStats(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetGatewayStats",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetGatewayStats(ctx, req.(*GetGatewayStatsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_StreamFrameLogsForGateway_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(StreamFrameLogsForGatewayRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NetworkServerServiceServer).StreamFrameLogsForGateway(m, &networkServerServiceStreamFrameLogsForGatewayServer{stream})
}

type NetworkServerService_StreamFrameLogsForGatewayServer interface {
	Send(*StreamFrameLogsForGatewayResponse) error
	grpc.ServerStream
}

type networkServerServiceStreamFrameLogsForGatewayServer struct {
	grpc.ServerStream
}

func (x *networkServerServiceStreamFrameLogsForGatewayServer) Send(m *StreamFrameLogsForGatewayResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _NetworkServerService_StreamFrameLogsForDevice_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(StreamFrameLogsForDeviceRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NetworkServerServiceServer).StreamFrameLogsForDevice(m, &networkServerServiceStreamFrameLogsForDeviceServer{stream})
}

type NetworkServerService_StreamFrameLogsForDeviceServer interface {
	Send(*StreamFrameLogsForDeviceResponse) error
	grpc.ServerStream
}

type networkServerServiceStreamFrameLogsForDeviceServer struct {
	grpc.ServerStream
}

func (x *networkServerServiceStreamFrameLogsForDeviceServer) Send(m *StreamFrameLogsForDeviceResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _NetworkServerService_CreateMulticastGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateMulticastGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).CreateMulticastGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/CreateMulticastGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).CreateMulticastGroup(ctx, req.(*CreateMulticastGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetMulticastGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetMulticastGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetMulticastGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetMulticastGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetMulticastGroup(ctx, req.(*GetMulticastGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_UpdateMulticastGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateMulticastGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).UpdateMulticastGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/UpdateMulticastGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).UpdateMulticastGroup(ctx, req.(*UpdateMulticastGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_DeleteMulticastGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteMulticastGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).DeleteMulticastGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/DeleteMulticastGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).DeleteMulticastGroup(ctx, req.(*DeleteMulticastGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_AddDeviceToMulticastGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddDeviceToMulticastGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).AddDeviceToMulticastGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/AddDeviceToMulticastGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).AddDeviceToMulticastGroup(ctx, req.(*AddDeviceToMulticastGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_RemoveDeviceFromMulticastGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemoveDeviceFromMulticastGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).RemoveDeviceFromMulticastGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/RemoveDeviceFromMulticastGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).RemoveDeviceFromMulticastGroup(ctx, req.(*RemoveDeviceFromMulticastGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_EnqueueMulticastQueueItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnqueueMulticastQueueItemRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).EnqueueMulticastQueueItem(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/EnqueueMulticastQueueItem",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).EnqueueMulticastQueueItem(ctx, req.(*EnqueueMulticastQueueItemRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_FlushMulticastQueueForMulticastGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FlushMulticastQueueForMulticastGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).FlushMulticastQueueForMulticastGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/FlushMulticastQueueForMulticastGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).FlushMulticastQueueForMulticastGroup(ctx, req.(*FlushMulticastQueueForMulticastGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetMulticastQueueItemsForMulticastGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetMulticastQueueItemsForMulticastGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetMulticastQueueItemsForMulticastGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetMulticastQueueItemsForMulticastGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetMulticastQueueItemsForMulticastGroup(ctx, req.(*GetMulticastQueueItemsForMulticastGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetVersion(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_GetADRAlgorithms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).GetADRAlgorithms(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/GetADRAlgorithms",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).GetADRAlgorithms(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NetworkServerService_ClearDeviceNonces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClearDeviceNoncesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NetworkServerServiceServer).ClearDeviceNonces(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ns.NetworkServerService/ClearDeviceNonces",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NetworkServerServiceServer).ClearDeviceNonces(ctx, req.(*ClearDeviceNoncesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _NetworkServerService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "ns.NetworkServerService",
	HandlerType: (*NetworkServerServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateServiceProfile",
			Handler:    _NetworkServerService_CreateServiceProfile_Handler,
		},
		{
			MethodName: "GetServiceProfile",
			Handler:    _NetworkServerService_GetServiceProfile_Handler,
		},
		{
			MethodName: "UpdateServiceProfile",
			Handler:    _NetworkServerService_UpdateServiceProfile_Handler,
		},
		{
			MethodName: "DeleteServiceProfile",
			Handler:    _NetworkServerService_DeleteServiceProfile_Handler,
		},
		{
			MethodName: "CreateRoutingProfile",
			Handler:    _NetworkServerService_CreateRoutingProfile_Handler,
		},
		{
			MethodName: "GetRoutingProfile",
			Handler:    _NetworkServerService_GetRoutingProfile_Handler,
		},
		{
			MethodName: "UpdateRoutingProfile",
			Handler:    _NetworkServerService_UpdateRoutingProfile_Handler,
		},
		{
			MethodName: "DeleteRoutingProfile",
			Handler:    _NetworkServerService_DeleteRoutingProfile_Handler,
		},
		{
			MethodName: "CreateDeviceProfile",
			Handler:    _NetworkServerService_CreateDeviceProfile_Handler,
		},
		{
			MethodName: "GetDeviceProfile",
			Handler:    _NetworkServerService_GetDeviceProfile_Handler,
		},
		{
			MethodName: "UpdateDeviceProfile",
			Handler:    _NetworkServerService_UpdateDeviceProfile_Handler,
		},
		{
			MethodName: "DeleteDeviceProfile",
			Handler:    _NetworkServerService_DeleteDeviceProfile_Handler,
		},
		{
			MethodName: "CreateDevice",
			Handler:    _NetworkServerService_CreateDevice_Handler,
		},
		{
			MethodName: "GetDevice",
			Handler:    _NetworkServerService_GetDevice_Handler,
		},
		{
			MethodName: "UpdateDevice",
			Handler:    _NetworkServerService_UpdateDevice_Handler,
		},
		{
			MethodName: "DeleteDevice",
			Handler:    _NetworkServerService_DeleteDevice_Handler,
		},
		{
			MethodName: "ActivateDevice",
			Handler:    _NetworkServerService_ActivateDevice_Handler,
		},
		{
			MethodName: "DeactivateDevice",
			Handler:    _NetworkServerService_DeactivateDevice_Handler,
		},
		{
			MethodName: "GetDeviceActivation",
			Handler:    _NetworkServerService_GetDeviceActivation_Handler,
		},
		{
			MethodName: "CreateDeviceQueueItem",
			Handler:    _NetworkServerService_CreateDeviceQueueItem_Handler,
		},
		{
			MethodName: "FlushDeviceQueueForDevEUI",
			Handler:    _NetworkServerService_FlushDeviceQueueForDevEUI_Handler,
		},
		{
			MethodName: "GetDeviceQueueItemsForDevEUI",
			Handler:    _NetworkServerService_GetDeviceQueueItemsForDevEUI_Handler,
		},
		{
			MethodName: "GetNextDownlinkFCntForDevEUI",
			Handler:    _NetworkServerService_GetNextDownlinkFCntForDevEUI_Handler,
		},
		{
			MethodName: "GetRandomDevAddr",
			Handler:    _NetworkServerService_GetRandomDevAddr_Handler,
		},
		{
			MethodName: "CreateMACCommandQueueItem",
			Handler:    _NetworkServerService_CreateMACCommandQueueItem_Handler,
		},
		{
			MethodName: "SendProprietaryPayload",
			Handler:    _NetworkServerService_SendProprietaryPayload_Handler,
		},
		{
			MethodName: "CreateGateway",
			Handler:    _NetworkServerService_CreateGateway_Handler,
		},
		{
			MethodName: "GetGateway",
			Handler:    _NetworkServerService_GetGateway_Handler,
		},
		{
			MethodName: "UpdateGateway",
			Handler:    _NetworkServerService_UpdateGateway_Handler,
		},
		{
			MethodName: "DeleteGateway",
			Handler:    _NetworkServerService_DeleteGateway_Handler,
		},
		{
			MethodName: "GenerateGatewayClientCertificate",
			Handler:    _NetworkServerService_GenerateGatewayClientCertificate_Handler,
		},
		{
			MethodName: "CreateGatewayProfile",
			Handler:    _NetworkServerService_CreateGatewayProfile_Handler,
		},
		{
			MethodName: "GetGatewayProfile",
			Handler:    _NetworkServerService_GetGatewayProfile_Handler,
		},
		{
			MethodName: "UpdateGatewayProfile",
			Handler:    _NetworkServerService_UpdateGatewayProfile_Handler,
		},
		{
			MethodName: "DeleteGatewayProfile",
			Handler:    _NetworkServerService_DeleteGatewayProfile_Handler,
		},
		{
			MethodName: "GetGatewayStats",
			Handler:    _NetworkServerService_GetGatewayStats_Handler,
		},
		{
			MethodName: "CreateMulticastGroup",
			Handler:    _NetworkServerService_CreateMulticastGroup_Handler,
		},
		{
			MethodName: "GetMulticastGroup",
			Handler:    _NetworkServerService_GetMulticastGroup_Handler,
		},
		{
			MethodName: "UpdateMulticastGroup",
			Handler:    _NetworkServerService_UpdateMulticastGroup_Handler,
		},
		{
			MethodName: "DeleteMulticastGroup",
			Handler:    _NetworkServerService_DeleteMulticastGroup_Handler,
		},
		{
			MethodName: "AddDeviceToMulticastGroup",
			Handler:    _NetworkServerService_AddDeviceToMulticastGroup_Handler,
		},
		{
			MethodName: "RemoveDeviceFromMulticastGroup",
			Handler:    _NetworkServerService_RemoveDeviceFromMulticastGroup_Handler,
		},
		{
			MethodName: "EnqueueMulticastQueueItem",
			Handler:    _NetworkServerService_EnqueueMulticastQueueItem_Handler,
		},
		{
			MethodName: "FlushMulticastQueueForMulticastGroup",
			Handler:    _NetworkServerService_FlushMulticastQueueForMulticastGroup_Handler,
		},
		{
			MethodName: "GetMulticastQueueItemsForMulticastGroup",
			Handler:    _NetworkServerService_GetMulticastQueueItemsForMulticastGroup_Handler,
		},
		{
			MethodName: "GetVersion",
			Handler:    _NetworkServerService_GetVersion_Handler,
		},
		{
			MethodName: "GetADRAlgorithms",
			Handler:    _NetworkServerService_GetADRAlgorithms_Handler,
		},
		{
			MethodName: "ClearDeviceNonces",
			Handler:    _NetworkServerService_ClearDeviceNonces_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamFrameLogsForGateway",
			Handler:       _NetworkServerService_StreamFrameLogsForGateway_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "StreamFrameLogsForDevice",
			Handler:       _NetworkServerService_StreamFrameLogsForDevice_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "ns/ns.proto",
}
