github.com/onosproject/onos-api/go@v0.10.32/onos/ransim/types/types.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: onos/ransim/types/types.proto
     3  
     4  package types
     5  
     6  import (
     7  	encoding_binary "encoding/binary"
     8  	fmt "fmt"
     9  	_ "github.com/gogo/protobuf/gogoproto"
    10  	proto "github.com/gogo/protobuf/proto"
    11  	io "io"
    12  	math "math"
    13  	math_bits "math/bits"
    14  )
    15  
    16  // Reference imports to suppress errors if they are not otherwise used.
    17  var _ = proto.Marshal
    18  var _ = fmt.Errorf
    19  var _ = math.Inf
    20  
    21  // This is a compile-time assertion to ensure that this generated file
    22  // is compatible with the proto package it is being compiled against.
    23  // A compilation error at this line likely means your copy of the
    24  // proto package needs to be updated.
    25  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    26  
    27  type CellType int32
    28  
    29  const (
    30  	CellType_FEMTO         CellType = 0
    31  	CellType_ENTERPRISE    CellType = 1
    32  	CellType_OUTDOOR_SMALL CellType = 2
    33  	CellType_MACRO         CellType = 3
    34  )
    35  
    36  var CellType_name = map[int32]string{
    37  	0: "FEMTO",
    38  	1: "ENTERPRISE",
    39  	2: "OUTDOOR_SMALL",
    40  	3: "MACRO",
    41  }
    42  
    43  var CellType_value = map[string]int32{
    44  	"FEMTO":         0,
    45  	"ENTERPRISE":    1,
    46  	"OUTDOOR_SMALL": 2,
    47  	"MACRO":         3,
    48  }
    49  
    50  func (x CellType) String() string {
    51  	return proto.EnumName(CellType_name, int32(x))
    52  }
    53  
    54  func (CellType) EnumDescriptor() ([]byte, []int) {
    55  	return fileDescriptor_4b9d0257bd7c07d7, []int{0}
    56  }
    57  
    58  type Point struct {
    59  	Lat float64 `protobuf:"fixed64,1,opt,name=lat,proto3" json:"lat,omitempty"`
    60  	Lng float64 `protobuf:"fixed64,2,opt,name=lng,proto3" json:"lng,omitempty"`
    61  }
    62  
    63  func (m *Point) Reset()         { *m = Point{} }
    64  func (m *Point) String() string { return proto.CompactTextString(m) }
    65  func (*Point) ProtoMessage()    {}
    66  func (*Point) Descriptor() ([]byte, []int) {
    67  	return fileDescriptor_4b9d0257bd7c07d7, []int{0}
    68  }
    69  func (m *Point) XXX_Unmarshal(b []byte) error {
    70  	return m.Unmarshal(b)
    71  }
    72  func (m *Point) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    73  	if deterministic {
    74  		return xxx_messageInfo_Point.Marshal(b, m, deterministic)
    75  	} else {
    76  		b = b[:cap(b)]
    77  		n, err := m.MarshalToSizedBuffer(b)
    78  		if err != nil {
    79  			return nil, err
    80  		}
    81  		return b[:n], nil
    82  	}
    83  }
    84  func (m *Point) XXX_Merge(src proto.Message) {
    85  	xxx_messageInfo_Point.Merge(m, src)
    86  }
    87  func (m *Point) XXX_Size() int {
    88  	return m.Size()
    89  }
    90  func (m *Point) XXX_DiscardUnknown() {
    91  	xxx_messageInfo_Point.DiscardUnknown(m)
    92  }
    93  
    94  var xxx_messageInfo_Point proto.InternalMessageInfo
    95  
    96  func (m *Point) GetLat() float64 {
    97  	if m != nil {
    98  		return m.Lat
    99  	}
   100  	return 0
   101  }
   102  
   103  func (m *Point) GetLng() float64 {
   104  	if m != nil {
   105  		return m.Lng
   106  	}
   107  	return 0
   108  }
   109  
   110  type Sector struct {
   111  	Azimuth  int32  `protobuf:"varint,1,opt,name=azimuth,proto3" json:"azimuth,omitempty"`
   112  	Arc      int32  `protobuf:"varint,2,opt,name=arc,proto3" json:"arc,omitempty"`
   113  	Centroid *Point `protobuf:"bytes,3,opt,name=centroid,proto3" json:"centroid,omitempty"`
   114  	Height   int32  `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
   115  	Tilt     int32  `protobuf:"varint,5,opt,name=tilt,proto3" json:"tilt,omitempty"`
   116  }
   117  
   118  func (m *Sector) Reset()         { *m = Sector{} }
   119  func (m *Sector) String() string { return proto.CompactTextString(m) }
   120  func (*Sector) ProtoMessage()    {}
   121  func (*Sector) Descriptor() ([]byte, []int) {
   122  	return fileDescriptor_4b9d0257bd7c07d7, []int{1}
   123  }
   124  func (m *Sector) XXX_Unmarshal(b []byte) error {
   125  	return m.Unmarshal(b)
   126  }
   127  func (m *Sector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   128  	if deterministic {
   129  		return xxx_messageInfo_Sector.Marshal(b, m, deterministic)
   130  	} else {
   131  		b = b[:cap(b)]
   132  		n, err := m.MarshalToSizedBuffer(b)
   133  		if err != nil {
   134  			return nil, err
   135  		}
   136  		return b[:n], nil
   137  	}
   138  }
   139  func (m *Sector) XXX_Merge(src proto.Message) {
   140  	xxx_messageInfo_Sector.Merge(m, src)
   141  }
   142  func (m *Sector) XXX_Size() int {
   143  	return m.Size()
   144  }
   145  func (m *Sector) XXX_DiscardUnknown() {
   146  	xxx_messageInfo_Sector.DiscardUnknown(m)
   147  }
   148  
   149  var xxx_messageInfo_Sector proto.InternalMessageInfo
   150  
   151  func (m *Sector) GetAzimuth() int32 {
   152  	if m != nil {
   153  		return m.Azimuth
   154  	}
   155  	return 0
   156  }
   157  
   158  func (m *Sector) GetArc() int32 {
   159  	if m != nil {
   160  		return m.Arc
   161  	}
   162  	return 0
   163  }
   164  
   165  func (m *Sector) GetCentroid() *Point {
   166  	if m != nil {
   167  		return m.Centroid
   168  	}
   169  	return nil
   170  }
   171  
   172  func (m *Sector) GetHeight() int32 {
   173  	if m != nil {
   174  		return m.Height
   175  	}
   176  	return 0
   177  }
   178  
   179  func (m *Sector) GetTilt() int32 {
   180  	if m != nil {
   181  		return m.Tilt
   182  	}
   183  	return 0
   184  }
   185  
   186  type Route struct {
   187  	RouteID    IMSI     `protobuf:"varint,1,opt,name=name,proto3,casttype=IMSI" json:"name,omitempty"`
   188  	Waypoints  []*Point `protobuf:"bytes,2,rep,name=waypoints,proto3" json:"waypoints,omitempty"`
   189  	Color      string   `protobuf:"bytes,3,opt,name=color,proto3" json:"color,omitempty"`
   190  	SpeedAvg   uint32   `protobuf:"varint,4,opt,name=speed_avg,json=speedAvg,proto3" json:"speed_avg,omitempty"`
   191  	SpeedStdev uint32   `protobuf:"varint,5,opt,name=speed_stdev,json=speedStdev,proto3" json:"speed_stdev,omitempty"`
   192  	Reverse    bool     `protobuf:"varint,6,opt,name=reverse,proto3" json:"reverse,omitempty"`
   193  	NextPoint  uint32   `protobuf:"varint,7,opt,name=next_point,json=nextPoint,proto3" json:"next_point,omitempty"`
   194  }
   195  
   196  func (m *Route) Reset()         { *m = Route{} }
   197  func (m *Route) String() string { return proto.CompactTextString(m) }
   198  func (*Route) ProtoMessage()    {}
   199  func (*Route) Descriptor() ([]byte, []int) {
   200  	return fileDescriptor_4b9d0257bd7c07d7, []int{2}
   201  }
   202  func (m *Route) XXX_Unmarshal(b []byte) error {
   203  	return m.Unmarshal(b)
   204  }
   205  func (m *Route) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   206  	if deterministic {
   207  		return xxx_messageInfo_Route.Marshal(b, m, deterministic)
   208  	} else {
   209  		b = b[:cap(b)]
   210  		n, err := m.MarshalToSizedBuffer(b)
   211  		if err != nil {
   212  			return nil, err
   213  		}
   214  		return b[:n], nil
   215  	}
   216  }
   217  func (m *Route) XXX_Merge(src proto.Message) {
   218  	xxx_messageInfo_Route.Merge(m, src)
   219  }
   220  func (m *Route) XXX_Size() int {
   221  	return m.Size()
   222  }
   223  func (m *Route) XXX_DiscardUnknown() {
   224  	xxx_messageInfo_Route.DiscardUnknown(m)
   225  }
   226  
   227  var xxx_messageInfo_Route proto.InternalMessageInfo
   228  
   229  func (m *Route) GetRouteID() IMSI {
   230  	if m != nil {
   231  		return m.RouteID
   232  	}
   233  	return 0
   234  }
   235  
   236  func (m *Route) GetWaypoints() []*Point {
   237  	if m != nil {
   238  		return m.Waypoints
   239  	}
   240  	return nil
   241  }
   242  
   243  func (m *Route) GetColor() string {
   244  	if m != nil {
   245  		return m.Color
   246  	}
   247  	return ""
   248  }
   249  
   250  func (m *Route) GetSpeedAvg() uint32 {
   251  	if m != nil {
   252  		return m.SpeedAvg
   253  	}
   254  	return 0
   255  }
   256  
   257  func (m *Route) GetSpeedStdev() uint32 {
   258  	if m != nil {
   259  		return m.SpeedStdev
   260  	}
   261  	return 0
   262  }
   263  
   264  func (m *Route) GetReverse() bool {
   265  	if m != nil {
   266  		return m.Reverse
   267  	}
   268  	return false
   269  }
   270  
   271  func (m *Route) GetNextPoint() uint32 {
   272  	if m != nil {
   273  		return m.NextPoint
   274  	}
   275  	return 0
   276  }
   277  
   278  type Ue struct {
   279  	IMSI                 IMSI        `protobuf:"varint,1,opt,name=imsi,proto3,casttype=IMSI" json:"imsi,omitempty"`
   280  	Type                 string      `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
   281  	Position             *Point      `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
   282  	Rotation             uint32      `protobuf:"varint,5,opt,name=rotation,proto3" json:"rotation,omitempty"`
   283  	ServingTower         NCGI        `protobuf:"varint,7,opt,name=serving_tower,json=servingTower,proto3,casttype=NCGI" json:"serving_tower,omitempty"`
   284  	ServingTowerStrength float64     `protobuf:"fixed64,8,opt,name=serving_tower_strength,json=servingTowerStrength,proto3" json:"serving_tower_strength,omitempty"`
   285  	Tower1               NCGI        `protobuf:"varint,9,opt,name=tower1,proto3,casttype=NCGI" json:"tower1,omitempty"`
   286  	Tower1Strength       float64     `protobuf:"fixed64,10,opt,name=tower1_strength,json=tower1Strength,proto3" json:"tower1_strength,omitempty"`
   287  	Tower2               NCGI        `protobuf:"varint,11,opt,name=tower2,proto3,casttype=NCGI" json:"tower2,omitempty"`
   288  	Tower2Strength       float64     `protobuf:"fixed64,12,opt,name=tower2_strength,json=tower2Strength,proto3" json:"tower2_strength,omitempty"`
   289  	Tower3               NCGI        `protobuf:"varint,13,opt,name=tower3,proto3,casttype=NCGI" json:"tower3,omitempty"`
   290  	Tower3Strength       float64     `protobuf:"fixed64,14,opt,name=tower3_strength,json=tower3Strength,proto3" json:"tower3_strength,omitempty"`
   291  	CRNTI                CRNTI       `protobuf:"varint,15,opt,name=crnti,proto3,casttype=CRNTI" json:"crnti,omitempty"`
   292  	Admitted             bool        `protobuf:"varint,16,opt,name=admitted,proto3" json:"admitted,omitempty"`
   293  	Metrics              *UeMetrics  `protobuf:"bytes,17,opt,name=metrics,proto3" json:"metrics,omitempty"`
   294  	RrcState             uint32      `protobuf:"varint,18,opt,name=rrc_state,json=rrcState,proto3" json:"rrc_state,omitempty"`
   295  	FiveQi               int32       `protobuf:"varint,19,opt,name=five_qi,json=fiveQi,proto3" json:"five_qi,omitempty"`
   296  	Ueid                 *UeIdentity `protobuf:"bytes,20,opt,name=ueid,proto3" json:"ueid,omitempty"`
   297  }
   298  
   299  func (m *Ue) Reset()         { *m = Ue{} }
   300  func (m *Ue) String() string { return proto.CompactTextString(m) }
   301  func (*Ue) ProtoMessage()    {}
   302  func (*Ue) Descriptor() ([]byte, []int) {
   303  	return fileDescriptor_4b9d0257bd7c07d7, []int{3}
   304  }
   305  func (m *Ue) XXX_Unmarshal(b []byte) error {
   306  	return m.Unmarshal(b)
   307  }
   308  func (m *Ue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   309  	if deterministic {
   310  		return xxx_messageInfo_Ue.Marshal(b, m, deterministic)
   311  	} else {
   312  		b = b[:cap(b)]
   313  		n, err := m.MarshalToSizedBuffer(b)
   314  		if err != nil {
   315  			return nil, err
   316  		}
   317  		return b[:n], nil
   318  	}
   319  }
   320  func (m *Ue) XXX_Merge(src proto.Message) {
   321  	xxx_messageInfo_Ue.Merge(m, src)
   322  }
   323  func (m *Ue) XXX_Size() int {
   324  	return m.Size()
   325  }
   326  func (m *Ue) XXX_DiscardUnknown() {
   327  	xxx_messageInfo_Ue.DiscardUnknown(m)
   328  }
   329  
   330  var xxx_messageInfo_Ue proto.InternalMessageInfo
   331  
   332  func (m *Ue) GetIMSI() IMSI {
   333  	if m != nil {
   334  		return m.IMSI
   335  	}
   336  	return 0
   337  }
   338  
   339  func (m *Ue) GetType() string {
   340  	if m != nil {
   341  		return m.Type
   342  	}
   343  	return ""
   344  }
   345  
   346  func (m *Ue) GetPosition() *Point {
   347  	if m != nil {
   348  		return m.Position
   349  	}
   350  	return nil
   351  }
   352  
   353  func (m *Ue) GetRotation() uint32 {
   354  	if m != nil {
   355  		return m.Rotation
   356  	}
   357  	return 0
   358  }
   359  
   360  func (m *Ue) GetServingTower() NCGI {
   361  	if m != nil {
   362  		return m.ServingTower
   363  	}
   364  	return 0
   365  }
   366  
   367  func (m *Ue) GetServingTowerStrength() float64 {
   368  	if m != nil {
   369  		return m.ServingTowerStrength
   370  	}
   371  	return 0
   372  }
   373  
   374  func (m *Ue) GetTower1() NCGI {
   375  	if m != nil {
   376  		return m.Tower1
   377  	}
   378  	return 0
   379  }
   380  
   381  func (m *Ue) GetTower1Strength() float64 {
   382  	if m != nil {
   383  		return m.Tower1Strength
   384  	}
   385  	return 0
   386  }
   387  
   388  func (m *Ue) GetTower2() NCGI {
   389  	if m != nil {
   390  		return m.Tower2
   391  	}
   392  	return 0
   393  }
   394  
   395  func (m *Ue) GetTower2Strength() float64 {
   396  	if m != nil {
   397  		return m.Tower2Strength
   398  	}
   399  	return 0
   400  }
   401  
   402  func (m *Ue) GetTower3() NCGI {
   403  	if m != nil {
   404  		return m.Tower3
   405  	}
   406  	return 0
   407  }
   408  
   409  func (m *Ue) GetTower3Strength() float64 {
   410  	if m != nil {
   411  		return m.Tower3Strength
   412  	}
   413  	return 0
   414  }
   415  
   416  func (m *Ue) GetCRNTI() CRNTI {
   417  	if m != nil {
   418  		return m.CRNTI
   419  	}
   420  	return 0
   421  }
   422  
   423  func (m *Ue) GetAdmitted() bool {
   424  	if m != nil {
   425  		return m.Admitted
   426  	}
   427  	return false
   428  }
   429  
   430  func (m *Ue) GetMetrics() *UeMetrics {
   431  	if m != nil {
   432  		return m.Metrics
   433  	}
   434  	return nil
   435  }
   436  
   437  func (m *Ue) GetRrcState() uint32 {
   438  	if m != nil {
   439  		return m.RrcState
   440  	}
   441  	return 0
   442  }
   443  
   444  func (m *Ue) GetFiveQi() int32 {
   445  	if m != nil {
   446  		return m.FiveQi
   447  	}
   448  	return 0
   449  }
   450  
   451  func (m *Ue) GetUeid() *UeIdentity {
   452  	if m != nil {
   453  		return m.Ueid
   454  	}
   455  	return nil
   456  }
   457  
   458  type UeIdentity struct {
   459  	Guami       *Guami      `protobuf:"bytes,1,opt,name=guami,proto3" json:"guami,omitempty"`
   460  	AmfUeNgapId AmfUENgapID `protobuf:"varint,2,opt,name=amf_ue_ngap_id,json=amfUeNgapId,proto3,casttype=AmfUENgapID" json:"amf_ue_ngap_id,omitempty"`
   461  }
   462  
   463  func (m *UeIdentity) Reset()         { *m = UeIdentity{} }
   464  func (m *UeIdentity) String() string { return proto.CompactTextString(m) }
   465  func (*UeIdentity) ProtoMessage()    {}
   466  func (*UeIdentity) Descriptor() ([]byte, []int) {
   467  	return fileDescriptor_4b9d0257bd7c07d7, []int{4}
   468  }
   469  func (m *UeIdentity) XXX_Unmarshal(b []byte) error {
   470  	return m.Unmarshal(b)
   471  }
   472  func (m *UeIdentity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   473  	if deterministic {
   474  		return xxx_messageInfo_UeIdentity.Marshal(b, m, deterministic)
   475  	} else {
   476  		b = b[:cap(b)]
   477  		n, err := m.MarshalToSizedBuffer(b)
   478  		if err != nil {
   479  			return nil, err
   480  		}
   481  		return b[:n], nil
   482  	}
   483  }
   484  func (m *UeIdentity) XXX_Merge(src proto.Message) {
   485  	xxx_messageInfo_UeIdentity.Merge(m, src)
   486  }
   487  func (m *UeIdentity) XXX_Size() int {
   488  	return m.Size()
   489  }
   490  func (m *UeIdentity) XXX_DiscardUnknown() {
   491  	xxx_messageInfo_UeIdentity.DiscardUnknown(m)
   492  }
   493  
   494  var xxx_messageInfo_UeIdentity proto.InternalMessageInfo
   495  
   496  func (m *UeIdentity) GetGuami() *Guami {
   497  	if m != nil {
   498  		return m.Guami
   499  	}
   500  	return nil
   501  }
   502  
   503  func (m *UeIdentity) GetAmfUeNgapId() AmfUENgapID {
   504  	if m != nil {
   505  		return m.AmfUeNgapId
   506  	}
   507  	return 0
   508  }
   509  
   510  type Guami struct {
   511  	Plmnid      uint32 `protobuf:"varint,1,opt,name=plmnid,proto3" json:"plmnid,omitempty"`
   512  	AmfRegionId uint32 `protobuf:"varint,2,opt,name=amf_region_id,json=amfRegionId,proto3" json:"amf_region_id,omitempty"`
   513  	AmfSetId    uint32 `protobuf:"varint,3,opt,name=amf_set_id,json=amfSetId,proto3" json:"amf_set_id,omitempty"`
   514  	AmfPointer  uint32 `protobuf:"varint,4,opt,name=amf_pointer,json=amfPointer,proto3" json:"amf_pointer,omitempty"`
   515  }
   516  
   517  func (m *Guami) Reset()         { *m = Guami{} }
   518  func (m *Guami) String() string { return proto.CompactTextString(m) }
   519  func (*Guami) ProtoMessage()    {}
   520  func (*Guami) Descriptor() ([]byte, []int) {
   521  	return fileDescriptor_4b9d0257bd7c07d7, []int{5}
   522  }
   523  func (m *Guami) XXX_Unmarshal(b []byte) error {
   524  	return m.Unmarshal(b)
   525  }
   526  func (m *Guami) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   527  	if deterministic {
   528  		return xxx_messageInfo_Guami.Marshal(b, m, deterministic)
   529  	} else {
   530  		b = b[:cap(b)]
   531  		n, err := m.MarshalToSizedBuffer(b)
   532  		if err != nil {
   533  			return nil, err
   534  		}
   535  		return b[:n], nil
   536  	}
   537  }
   538  func (m *Guami) XXX_Merge(src proto.Message) {
   539  	xxx_messageInfo_Guami.Merge(m, src)
   540  }
   541  func (m *Guami) XXX_Size() int {
   542  	return m.Size()
   543  }
   544  func (m *Guami) XXX_DiscardUnknown() {
   545  	xxx_messageInfo_Guami.DiscardUnknown(m)
   546  }
   547  
   548  var xxx_messageInfo_Guami proto.InternalMessageInfo
   549  
   550  func (m *Guami) GetPlmnid() uint32 {
   551  	if m != nil {
   552  		return m.Plmnid
   553  	}
   554  	return 0
   555  }
   556  
   557  func (m *Guami) GetAmfRegionId() uint32 {
   558  	if m != nil {
   559  		return m.AmfRegionId
   560  	}
   561  	return 0
   562  }
   563  
   564  func (m *Guami) GetAmfSetId() uint32 {
   565  	if m != nil {
   566  		return m.AmfSetId
   567  	}
   568  	return 0
   569  }
   570  
   571  func (m *Guami) GetAmfPointer() uint32 {
   572  	if m != nil {
   573  		return m.AmfPointer
   574  	}
   575  	return 0
   576  }
   577  
   578  type UeMetrics struct {
   579  	// Latency (in nanoseconds) of the most recent hand-over
   580  	HoLatency int64 `protobuf:"varint,1,opt,name=ho_latency,json=hoLatency,proto3" json:"ho_latency,omitempty"`
   581  	// Handover report timestamp (in nanoseconds since epoch)
   582  	HoReportTimestamp int64 `protobuf:"varint,2,opt,name=ho_report_timestamp,json=hoReportTimestamp,proto3" json:"ho_report_timestamp,omitempty"`
   583  	// flag to indicate the first measurement
   584  	IsFirst bool `protobuf:"varint,3,opt,name=is_first,json=isFirst,proto3" json:"is_first,omitempty"`
   585  }
   586  
   587  func (m *UeMetrics) Reset()         { *m = UeMetrics{} }
   588  func (m *UeMetrics) String() string { return proto.CompactTextString(m) }
   589  func (*UeMetrics) ProtoMessage()    {}
   590  func (*UeMetrics) Descriptor() ([]byte, []int) {
   591  	return fileDescriptor_4b9d0257bd7c07d7, []int{6}
   592  }
   593  func (m *UeMetrics) XXX_Unmarshal(b []byte) error {
   594  	return m.Unmarshal(b)
   595  }
   596  func (m *UeMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   597  	if deterministic {
   598  		return xxx_messageInfo_UeMetrics.Marshal(b, m, deterministic)
   599  	} else {
   600  		b = b[:cap(b)]
   601  		n, err := m.MarshalToSizedBuffer(b)
   602  		if err != nil {
   603  			return nil, err
   604  		}
   605  		return b[:n], nil
   606  	}
   607  }
   608  func (m *UeMetrics) XXX_Merge(src proto.Message) {
   609  	xxx_messageInfo_UeMetrics.Merge(m, src)
   610  }
   611  func (m *UeMetrics) XXX_Size() int {
   612  	return m.Size()
   613  }
   614  func (m *UeMetrics) XXX_DiscardUnknown() {
   615  	xxx_messageInfo_UeMetrics.DiscardUnknown(m)
   616  }
   617  
   618  var xxx_messageInfo_UeMetrics proto.InternalMessageInfo
   619  
   620  func (m *UeMetrics) GetHoLatency() int64 {
   621  	if m != nil {
   622  		return m.HoLatency
   623  	}
   624  	return 0
   625  }
   626  
   627  func (m *UeMetrics) GetHoReportTimestamp() int64 {
   628  	if m != nil {
   629  		return m.HoReportTimestamp
   630  	}
   631  	return 0
   632  }
   633  
   634  func (m *UeMetrics) GetIsFirst() bool {
   635  	if m != nil {
   636  		return m.IsFirst
   637  	}
   638  	return false
   639  }
   640  
   641  type Cell struct {
   642  	NCGI      NCGI    `protobuf:"varint,1,opt,name=ecgi,proto3,casttype=NCGI" json:"ecgi,omitempty"`
   643  	Location  *Point  `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
   644  	Sector    *Sector `protobuf:"bytes,4,opt,name=sector,proto3" json:"sector,omitempty"`
   645  	Color     string  `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"`
   646  	MaxUEs    uint32  `protobuf:"varint,6,opt,name=max_ues,json=maxUes,proto3" json:"max_ues,omitempty"`
   647  	Neighbors []NCGI  `protobuf:"varint,7,rep,packed,name=neighbors,proto3,casttype=NCGI" json:"neighbors,omitempty"`
   648  	// The cell transmit power in decibels
   649  	TxPowerdB         float64            `protobuf:"fixed64,8,opt,name=tx_power_db,json=txPowerDb,proto3" json:"tx_power_db,omitempty"`
   650  	MeasurementParams *MeasurementParams `protobuf:"bytes,9,opt,name=measurement_params,json=measurementParams,proto3" json:"measurement_params,omitempty"`
   651  	// crntis maps a ue's name to its crnti
   652  	CrntiMap          map[CRNTI]IMSI `protobuf:"bytes,10,rep,name=crnti_map,json=crntiMap,proto3,castkey=CRNTI,castvalue=IMSI" json:"crnti_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   653  	CrntiIndex        uint32         `protobuf:"varint,11,opt,name=crnti_index,json=crntiIndex,proto3" json:"crnti_index,omitempty"`
   654  	Port              uint32         `protobuf:"varint,12,opt,name=port,proto3" json:"port,omitempty"`
   655  	Pci               uint32         `protobuf:"varint,13,opt,name=pci,proto3" json:"pci,omitempty"`
   656  	Earfcn            uint32         `protobuf:"varint,14,opt,name=earfcn,proto3" json:"earfcn,omitempty"`
   657  	CellType          CellType       `protobuf:"varint,15,opt,name=cell_type,json=cellType,proto3,enum=onos.ransim.types.CellType" json:"cell_type,omitempty"`
   658  	RrcIdleCount      uint32         `protobuf:"varint,16,opt,name=rrc_idle_count,json=rrcIdleCount,proto3" json:"rrc_idle_count,omitempty"`
   659  	RrcConnectedCount uint32         `protobuf:"varint,17,opt,name=rrc_connected_count,json=rrcConnectedCount,proto3" json:"rrc_connected_count,omitempty"`
   660  }
   661  
   662  func (m *Cell) Reset()         { *m = Cell{} }
   663  func (m *Cell) String() string { return proto.CompactTextString(m) }
   664  func (*Cell) ProtoMessage()    {}
   665  func (*Cell) Descriptor() ([]byte, []int) {
   666  	return fileDescriptor_4b9d0257bd7c07d7, []int{7}
   667  }
   668  func (m *Cell) XXX_Unmarshal(b []byte) error {
   669  	return m.Unmarshal(b)
   670  }
   671  func (m *Cell) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   672  	if deterministic {
   673  		return xxx_messageInfo_Cell.Marshal(b, m, deterministic)
   674  	} else {
   675  		b = b[:cap(b)]
   676  		n, err := m.MarshalToSizedBuffer(b)
   677  		if err != nil {
   678  			return nil, err
   679  		}
   680  		return b[:n], nil
   681  	}
   682  }
   683  func (m *Cell) XXX_Merge(src proto.Message) {
   684  	xxx_messageInfo_Cell.Merge(m, src)
   685  }
   686  func (m *Cell) XXX_Size() int {
   687  	return m.Size()
   688  }
   689  func (m *Cell) XXX_DiscardUnknown() {
   690  	xxx_messageInfo_Cell.DiscardUnknown(m)
   691  }
   692  
   693  var xxx_messageInfo_Cell proto.InternalMessageInfo
   694  
   695  func (m *Cell) GetNCGI() NCGI {
   696  	if m != nil {
   697  		return m.NCGI
   698  	}
   699  	return 0
   700  }
   701  
   702  func (m *Cell) GetLocation() *Point {
   703  	if m != nil {
   704  		return m.Location
   705  	}
   706  	return nil
   707  }
   708  
   709  func (m *Cell) GetSector() *Sector {
   710  	if m != nil {
   711  		return m.Sector
   712  	}
   713  	return nil
   714  }
   715  
   716  func (m *Cell) GetColor() string {
   717  	if m != nil {
   718  		return m.Color
   719  	}
   720  	return ""
   721  }
   722  
   723  func (m *Cell) GetMaxUEs() uint32 {
   724  	if m != nil {
   725  		return m.MaxUEs
   726  	}
   727  	return 0
   728  }
   729  
   730  func (m *Cell) GetNeighbors() []NCGI {
   731  	if m != nil {
   732  		return m.Neighbors
   733  	}
   734  	return nil
   735  }
   736  
   737  func (m *Cell) GetTxPowerdB() float64 {
   738  	if m != nil {
   739  		return m.TxPowerdB
   740  	}
   741  	return 0
   742  }
   743  
   744  func (m *Cell) GetMeasurementParams() *MeasurementParams {
   745  	if m != nil {
   746  		return m.MeasurementParams
   747  	}
   748  	return nil
   749  }
   750  
   751  func (m *Cell) GetCrntiMap() map[CRNTI]IMSI {
   752  	if m != nil {
   753  		return m.CrntiMap
   754  	}
   755  	return nil
   756  }
   757  
   758  func (m *Cell) GetCrntiIndex() uint32 {
   759  	if m != nil {
   760  		return m.CrntiIndex
   761  	}
   762  	return 0
   763  }
   764  
   765  func (m *Cell) GetPort() uint32 {
   766  	if m != nil {
   767  		return m.Port
   768  	}
   769  	return 0
   770  }
   771  
   772  func (m *Cell) GetPci() uint32 {
   773  	if m != nil {
   774  		return m.Pci
   775  	}
   776  	return 0
   777  }
   778  
   779  func (m *Cell) GetEarfcn() uint32 {
   780  	if m != nil {
   781  		return m.Earfcn
   782  	}
   783  	return 0
   784  }
   785  
   786  func (m *Cell) GetCellType() CellType {
   787  	if m != nil {
   788  		return m.CellType
   789  	}
   790  	return CellType_FEMTO
   791  }
   792  
   793  func (m *Cell) GetRrcIdleCount() uint32 {
   794  	if m != nil {
   795  		return m.RrcIdleCount
   796  	}
   797  	return 0
   798  }
   799  
   800  func (m *Cell) GetRrcConnectedCount() uint32 {
   801  	if m != nil {
   802  		return m.RrcConnectedCount
   803  	}
   804  	return 0
   805  }
   806  
   807  type MeasurementParams struct {
   808  	TimeToTrigger          int32          `protobuf:"varint,1,opt,name=time_to_trigger,json=timeToTrigger,proto3" json:"time_to_trigger,omitempty"`
   809  	FrequencyOffset        int32          `protobuf:"varint,2,opt,name=frequency_offset,json=frequencyOffset,proto3" json:"frequency_offset,omitempty"`
   810  	PcellIndividualOffset  int32          `protobuf:"varint,3,opt,name=pcell_individual_offset,json=pcellIndividualOffset,proto3" json:"pcell_individual_offset,omitempty"`
   811  	NcellIndividualOffsets map[NCGI]int32 `protobuf:"bytes,4,rep,name=ncell_individual_offsets,json=ncellIndividualOffsets,proto3,castkey=NCGI" json:"ncell_individual_offsets,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   812  	Hysteresis             int32          `protobuf:"varint,5,opt,name=hysteresis,proto3" json:"hysteresis,omitempty"`
   813  	EventA3Params          *EventA3Params `protobuf:"bytes,6,opt,name=event_a3_params,json=eventA3Params,proto3" json:"event_a3_params,omitempty"`
   814  }
   815  
   816  func (m *MeasurementParams) Reset()         { *m = MeasurementParams{} }
   817  func (m *MeasurementParams) String() string { return proto.CompactTextString(m) }
   818  func (*MeasurementParams) ProtoMessage()    {}
   819  func (*MeasurementParams) Descriptor() ([]byte, []int) {
   820  	return fileDescriptor_4b9d0257bd7c07d7, []int{8}
   821  }
   822  func (m *MeasurementParams) XXX_Unmarshal(b []byte) error {
   823  	return m.Unmarshal(b)
   824  }
   825  func (m *MeasurementParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   826  	if deterministic {
   827  		return xxx_messageInfo_MeasurementParams.Marshal(b, m, deterministic)
   828  	} else {
   829  		b = b[:cap(b)]
   830  		n, err := m.MarshalToSizedBuffer(b)
   831  		if err != nil {
   832  			return nil, err
   833  		}
   834  		return b[:n], nil
   835  	}
   836  }
   837  func (m *MeasurementParams) XXX_Merge(src proto.Message) {
   838  	xxx_messageInfo_MeasurementParams.Merge(m, src)
   839  }
   840  func (m *MeasurementParams) XXX_Size() int {
   841  	return m.Size()
   842  }
   843  func (m *MeasurementParams) XXX_DiscardUnknown() {
   844  	xxx_messageInfo_MeasurementParams.DiscardUnknown(m)
   845  }
   846  
   847  var xxx_messageInfo_MeasurementParams proto.InternalMessageInfo
   848  
   849  func (m *MeasurementParams) GetTimeToTrigger() int32 {
   850  	if m != nil {
   851  		return m.TimeToTrigger
   852  	}
   853  	return 0
   854  }
   855  
   856  func (m *MeasurementParams) GetFrequencyOffset() int32 {
   857  	if m != nil {
   858  		return m.FrequencyOffset
   859  	}
   860  	return 0
   861  }
   862  
   863  func (m *MeasurementParams) GetPcellIndividualOffset() int32 {
   864  	if m != nil {
   865  		return m.PcellIndividualOffset
   866  	}
   867  	return 0
   868  }
   869  
   870  func (m *MeasurementParams) GetNcellIndividualOffsets() map[NCGI]int32 {
   871  	if m != nil {
   872  		return m.NcellIndividualOffsets
   873  	}
   874  	return nil
   875  }
   876  
   877  func (m *MeasurementParams) GetHysteresis() int32 {
   878  	if m != nil {
   879  		return m.Hysteresis
   880  	}
   881  	return 0
   882  }
   883  
   884  func (m *MeasurementParams) GetEventA3Params() *EventA3Params {
   885  	if m != nil {
   886  		return m.EventA3Params
   887  	}
   888  	return nil
   889  }
   890  
   891  type EventA3Params struct {
   892  	A3Offset      int32 `protobuf:"varint,1,opt,name=a3_offset,json=a3Offset,proto3" json:"a3_offset,omitempty"`
   893  	ReportOnLeave bool  `protobuf:"varint,2,opt,name=report_on_leave,json=reportOnLeave,proto3" json:"report_on_leave,omitempty"`
   894  }
   895  
   896  func (m *EventA3Params) Reset()         { *m = EventA3Params{} }
   897  func (m *EventA3Params) String() string { return proto.CompactTextString(m) }
   898  func (*EventA3Params) ProtoMessage()    {}
   899  func (*EventA3Params) Descriptor() ([]byte, []int) {
   900  	return fileDescriptor_4b9d0257bd7c07d7, []int{9}
   901  }
   902  func (m *EventA3Params) XXX_Unmarshal(b []byte) error {
   903  	return m.Unmarshal(b)
   904  }
   905  func (m *EventA3Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   906  	if deterministic {
   907  		return xxx_messageInfo_EventA3Params.Marshal(b, m, deterministic)
   908  	} else {
   909  		b = b[:cap(b)]
   910  		n, err := m.MarshalToSizedBuffer(b)
   911  		if err != nil {
   912  			return nil, err
   913  		}
   914  		return b[:n], nil
   915  	}
   916  }
   917  func (m *EventA3Params) XXX_Merge(src proto.Message) {
   918  	xxx_messageInfo_EventA3Params.Merge(m, src)
   919  }
   920  func (m *EventA3Params) XXX_Size() int {
   921  	return m.Size()
   922  }
   923  func (m *EventA3Params) XXX_DiscardUnknown() {
   924  	xxx_messageInfo_EventA3Params.DiscardUnknown(m)
   925  }
   926  
   927  var xxx_messageInfo_EventA3Params proto.InternalMessageInfo
   928  
   929  func (m *EventA3Params) GetA3Offset() int32 {
   930  	if m != nil {
   931  		return m.A3Offset
   932  	}
   933  	return 0
   934  }
   935  
   936  func (m *EventA3Params) GetReportOnLeave() bool {
   937  	if m != nil {
   938  		return m.ReportOnLeave
   939  	}
   940  	return false
   941  }
   942  
   943  type Node struct {
   944  	GnbID         GnbID    `protobuf:"varint,1,opt,name=enbid,proto3,casttype=GnbID" json:"enbid,omitempty"`
   945  	Controllers   []string `protobuf:"bytes,2,rep,name=controllers,proto3" json:"controllers,omitempty"`
   946  	ServiceModels []string `protobuf:"bytes,3,rep,name=service_models,json=serviceModels,proto3" json:"service_models,omitempty"`
   947  	CellNCGIs     []NCGI   `protobuf:"varint,4,rep,packed,name=cell_ecgis,json=cellEcgis,proto3,casttype=NCGI" json:"cell_ecgis,omitempty"`
   948  	Status        string   `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
   949  }
   950  
   951  func (m *Node) Reset()         { *m = Node{} }
   952  func (m *Node) String() string { return proto.CompactTextString(m) }
   953  func (*Node) ProtoMessage()    {}
   954  func (*Node) Descriptor() ([]byte, []int) {
   955  	return fileDescriptor_4b9d0257bd7c07d7, []int{10}
   956  }
   957  func (m *Node) XXX_Unmarshal(b []byte) error {
   958  	return m.Unmarshal(b)
   959  }
   960  func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   961  	if deterministic {
   962  		return xxx_messageInfo_Node.Marshal(b, m, deterministic)
   963  	} else {
   964  		b = b[:cap(b)]
   965  		n, err := m.MarshalToSizedBuffer(b)
   966  		if err != nil {
   967  			return nil, err
   968  		}
   969  		return b[:n], nil
   970  	}
   971  }
   972  func (m *Node) XXX_Merge(src proto.Message) {
   973  	xxx_messageInfo_Node.Merge(m, src)
   974  }
   975  func (m *Node) XXX_Size() int {
   976  	return m.Size()
   977  }
   978  func (m *Node) XXX_DiscardUnknown() {
   979  	xxx_messageInfo_Node.DiscardUnknown(m)
   980  }
   981  
   982  var xxx_messageInfo_Node proto.InternalMessageInfo
   983  
   984  func (m *Node) GetGnbID() GnbID {
   985  	if m != nil {
   986  		return m.GnbID
   987  	}
   988  	return 0
   989  }
   990  
   991  func (m *Node) GetControllers() []string {
   992  	if m != nil {
   993  		return m.Controllers
   994  	}
   995  	return nil
   996  }
   997  
   998  func (m *Node) GetServiceModels() []string {
   999  	if m != nil {
  1000  		return m.ServiceModels
  1001  	}
  1002  	return nil
  1003  }
  1004  
  1005  func (m *Node) GetCellNCGIs() []NCGI {
  1006  	if m != nil {
  1007  		return m.CellNCGIs
  1008  	}
  1009  	return nil
  1010  }
  1011  
  1012  func (m *Node) GetStatus() string {
  1013  	if m != nil {
  1014  		return m.Status
  1015  	}
  1016  	return ""
  1017  }
  1018  
  1019  type MapLayout struct {
  1020  	// Map center latitude and longitude
  1021  	Center *Point `protobuf:"bytes,1,opt,name=center,proto3" json:"center,omitempty"`
  1022  	// The starting Zoom level
  1023  	Zoom float32 `protobuf:"fixed32,2,opt,name=zoom,proto3" json:"zoom,omitempty"`
  1024  	// Show map as faded on start
  1025  	Fade bool `protobuf:"varint,3,opt,name=fade,proto3" json:"fade,omitempty"`
  1026  	// Show routes on start
  1027  	ShowRoutes bool `protobuf:"varint,4,opt,name=show_routes,json=showRoutes,proto3" json:"show_routes,omitempty"`
  1028  	// Show power as circle on start
  1029  	ShowPower bool `protobuf:"varint,5,opt,name=show_power,json=showPower,proto3" json:"show_power,omitempty"`
  1030  	// Ratio of random locations diameter to tower grid width
  1031  	LocationsScale float32 `protobuf:"fixed32,9,opt,name=locations_scale,json=locationsScale,proto3" json:"locations_scale,omitempty"`
  1032  	// FIXME: These are deprecated; remove
  1033  	// Max number of UEs for complete simulation
  1034  	MinUes uint32 `protobuf:"varint,6,opt,name=min_ues,json=minUes,proto3" json:"min_ues,omitempty"`
  1035  	// Max number of UEs for complete simulation
  1036  	MaxUes uint32 `protobuf:"varint,7,opt,name=max_ues,json=maxUes,proto3" json:"max_ues,omitempty"`
  1037  	// the current number of routes
  1038  	CurrentRoutes uint32 `protobuf:"varint,8,opt,name=current_routes,json=currentRoutes,proto3" json:"current_routes,omitempty"`
  1039  }
  1040  
  1041  func (m *MapLayout) Reset()         { *m = MapLayout{} }
  1042  func (m *MapLayout) String() string { return proto.CompactTextString(m) }
  1043  func (*MapLayout) ProtoMessage()    {}
  1044  func (*MapLayout) Descriptor() ([]byte, []int) {
  1045  	return fileDescriptor_4b9d0257bd7c07d7, []int{11}
  1046  }
  1047  func (m *MapLayout) XXX_Unmarshal(b []byte) error {
  1048  	return m.Unmarshal(b)
  1049  }
  1050  func (m *MapLayout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1051  	if deterministic {
  1052  		return xxx_messageInfo_MapLayout.Marshal(b, m, deterministic)
  1053  	} else {
  1054  		b = b[:cap(b)]
  1055  		n, err := m.MarshalToSizedBuffer(b)
  1056  		if err != nil {
  1057  			return nil, err
  1058  		}
  1059  		return b[:n], nil
  1060  	}
  1061  }
  1062  func (m *MapLayout) XXX_Merge(src proto.Message) {
  1063  	xxx_messageInfo_MapLayout.Merge(m, src)
  1064  }
  1065  func (m *MapLayout) XXX_Size() int {
  1066  	return m.Size()
  1067  }
  1068  func (m *MapLayout) XXX_DiscardUnknown() {
  1069  	xxx_messageInfo_MapLayout.DiscardUnknown(m)
  1070  }
  1071  
  1072  var xxx_messageInfo_MapLayout proto.InternalMessageInfo
  1073  
  1074  func (m *MapLayout) GetCenter() *Point {
  1075  	if m != nil {
  1076  		return m.Center
  1077  	}
  1078  	return nil
  1079  }
  1080  
  1081  func (m *MapLayout) GetZoom() float32 {
  1082  	if m != nil {
  1083  		return m.Zoom
  1084  	}
  1085  	return 0
  1086  }
  1087  
  1088  func (m *MapLayout) GetFade() bool {
  1089  	if m != nil {
  1090  		return m.Fade
  1091  	}
  1092  	return false
  1093  }
  1094  
  1095  func (m *MapLayout) GetShowRoutes() bool {
  1096  	if m != nil {
  1097  		return m.ShowRoutes
  1098  	}
  1099  	return false
  1100  }
  1101  
  1102  func (m *MapLayout) GetShowPower() bool {
  1103  	if m != nil {
  1104  		return m.ShowPower
  1105  	}
  1106  	return false
  1107  }
  1108  
  1109  func (m *MapLayout) GetLocationsScale() float32 {
  1110  	if m != nil {
  1111  		return m.LocationsScale
  1112  	}
  1113  	return 0
  1114  }
  1115  
  1116  func (m *MapLayout) GetMinUes() uint32 {
  1117  	if m != nil {
  1118  		return m.MinUes
  1119  	}
  1120  	return 0
  1121  }
  1122  
  1123  func (m *MapLayout) GetMaxUes() uint32 {
  1124  	if m != nil {
  1125  		return m.MaxUes
  1126  	}
  1127  	return 0
  1128  }
  1129  
  1130  func (m *MapLayout) GetCurrentRoutes() uint32 {
  1131  	if m != nil {
  1132  		return m.CurrentRoutes
  1133  	}
  1134  	return 0
  1135  }
  1136  
  1137  func init() {
  1138  	proto.RegisterEnum("onos.ransim.types.CellType", CellType_name, CellType_value)
  1139  	proto.RegisterType((*Point)(nil), "onos.ransim.types.Point")
  1140  	proto.RegisterType((*Sector)(nil), "onos.ransim.types.Sector")
  1141  	proto.RegisterType((*Route)(nil), "onos.ransim.types.Route")
  1142  	proto.RegisterType((*Ue)(nil), "onos.ransim.types.Ue")
  1143  	proto.RegisterType((*UeIdentity)(nil), "onos.ransim.types.UeIdentity")
  1144  	proto.RegisterType((*Guami)(nil), "onos.ransim.types.Guami")
  1145  	proto.RegisterType((*UeMetrics)(nil), "onos.ransim.types.UeMetrics")
  1146  	proto.RegisterType((*Cell)(nil), "onos.ransim.types.Cell")
  1147  	proto.RegisterMapType((map[CRNTI]IMSI)(nil), "onos.ransim.types.Cell.CrntiMapEntry")
  1148  	proto.RegisterType((*MeasurementParams)(nil), "onos.ransim.types.MeasurementParams")
  1149  	proto.RegisterMapType((map[NCGI]int32)(nil), "onos.ransim.types.MeasurementParams.NcellIndividualOffsetsEntry")
  1150  	proto.RegisterType((*EventA3Params)(nil), "onos.ransim.types.EventA3Params")
  1151  	proto.RegisterType((*Node)(nil), "onos.ransim.types.Node")
  1152  	proto.RegisterType((*MapLayout)(nil), "onos.ransim.types.MapLayout")
  1153  }
  1154  
  1155  func init() { proto.RegisterFile("onos/ransim/types/types.proto", fileDescriptor_4b9d0257bd7c07d7) }
  1156  
  1157  var fileDescriptor_4b9d0257bd7c07d7 = []byte{
  1158  	// 1710 bytes of a gzipped FileDescriptorProto
  1159  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x57, 0xcd, 0x72, 0x1b, 0xb9,
  1160  	0x11, 0x36, 0xc5, 0x1f, 0x91, 0x2d, 0x8f, 0x7e, 0x60, 0xaf, 0x3d, 0x6b, 0xaf, 0x25, 0x15, 0x63,
  1161  	0x7b, 0x9d, 0xa4, 0x56, 0x8e, 0x25, 0x97, 0x6b, 0x2b, 0xb9, 0x44, 0x94, 0xb5, 0x0e, 0xab, 0x44,
  1162  	0x49, 0x01, 0xa9, 0xf3, 0x14, 0x34, 0x03, 0x92, 0x53, 0x99, 0x19, 0xcc, 0x02, 0x20, 0x2d, 0xee,
  1163  	0xd1, 0x95, 0x53, 0x4e, 0x39, 0xe5, 0x15, 0xf2, 0x14, 0x39, 0x27, 0xc7, 0x3d, 0xa6, 0x72, 0x90,
  1164  	0x53, 0xf2, 0x33, 0xe4, 0xb2, 0x97, 0xa4, 0xba, 0x07, 0x24, 0xa5, 0x35, 0xe3, 0xe4, 0xa2, 0x02,
  1165  	0xbe, 0xfe, 0xd0, 0xec, 0x41, 0x77, 0x7f, 0x0d, 0xc1, 0x23, 0x95, 0x29, 0xf3, 0x5c, 0x8b, 0xcc,
  1166  	0xc4, 0xe9, 0x73, 0x3b, 0xc9, 0xa5, 0x29, 0xfe, 0xee, 0xe4, 0x5a, 0x59, 0xc5, 0x36, 0xd0, 0xbc,
  1167  	0x53, 0x98, 0x77, 0xc8, 0xf0, 0xe0, 0xee, 0x40, 0x0d, 0x14, 0x59, 0x9f, 0xe3, 0xaa, 0x20, 0x36,
  1168  	0x7f, 0x0e, 0xd5, 0x53, 0x15, 0x67, 0x96, 0xad, 0x43, 0x39, 0x11, 0xd6, 0x2f, 0x6d, 0x97, 0x9e,
  1169  	0x95, 0x38, 0x2e, 0x09, 0xc9, 0x06, 0xfe, 0x92, 0x43, 0xb2, 0x41, 0xf3, 0x4f, 0x25, 0xa8, 0x75,
  1170  	0x65, 0x68, 0x95, 0x66, 0x3e, 0x2c, 0x8b, 0xef, 0xe2, 0x74, 0x64, 0x87, 0x74, 0xa4, 0xca, 0xa7,
  1171  	0x5b, 0x3c, 0x26, 0x74, 0x48, 0xc7, 0xaa, 0x1c, 0x97, 0xec, 0x25, 0xd4, 0x43, 0x99, 0x59, 0xad,
  1172  	0xe2, 0xc8, 0x2f, 0x6f, 0x97, 0x9e, 0xad, 0xec, 0xfa, 0x3b, 0x1f, 0xc5, 0xb7, 0x43, 0x61, 0xf0,
  1173  	0x19, 0x93, 0xdd, 0x83, 0xda, 0x50, 0xc6, 0x83, 0xa1, 0xf5, 0x2b, 0xe4, 0xca, 0xed, 0x18, 0x83,
  1174  	0x8a, 0x8d, 0x13, 0xeb, 0x57, 0x09, 0xa5, 0x75, 0xf3, 0x5f, 0x25, 0xa8, 0x72, 0x35, 0xb2, 0x92,
  1175  	0x7d, 0x09, 0x95, 0x4c, 0xa4, 0x92, 0x82, 0xaa, 0xb4, 0xee, 0x5c, 0x5d, 0x6e, 0x2d, 0x93, 0xa1,
  1176  	0xfd, 0xfa, 0x87, 0xcb, 0xad, 0x4a, 0xbb, 0xd3, 0x6d, 0x73, 0x22, 0xb0, 0x57, 0xd0, 0x78, 0x2b,
  1177  	0x26, 0x39, 0xfe, 0xa8, 0xf1, 0x97, 0xb6, 0xcb, 0x9f, 0x8c, 0x6a, 0x4e, 0x65, 0x77, 0xa1, 0x1a,
  1178  	0xaa, 0x44, 0x69, 0xfa, 0x92, 0x06, 0x2f, 0x36, 0xec, 0x21, 0x34, 0x4c, 0x2e, 0x65, 0x14, 0x88,
  1179  	0xf1, 0x80, 0xe2, 0xf5, 0x78, 0x9d, 0x80, 0xfd, 0xf1, 0x80, 0x6d, 0xc1, 0x4a, 0x61, 0x34, 0x36,
  1180  	0x92, 0x63, 0x0a, 0xdc, 0xe3, 0x40, 0x50, 0x17, 0x11, 0xbc, 0x4c, 0x2d, 0xc7, 0x52, 0x1b, 0xe9,
  1181  	0xd7, 0xb6, 0x4b, 0xcf, 0xea, 0x7c, 0xba, 0x65, 0x8f, 0x00, 0x32, 0x79, 0x61, 0x03, 0xfa, 0x71,
  1182  	0x7f, 0x99, 0x4e, 0x36, 0x10, 0xa1, 0xb8, 0x9a, 0x7f, 0xa9, 0xc2, 0xd2, 0x99, 0x64, 0x8f, 0xa1,
  1183  	0x12, 0xa7, 0x26, 0x76, 0x1f, 0xbd, 0x7e, 0xe5, 0xbe, 0x74, 0xfe, 0xc5, 0x68, 0xa5, 0x8b, 0x9b,
  1184  	0xe4, 0x92, 0x32, 0xd3, 0xe0, 0xb4, 0xc6, 0xd4, 0xe4, 0xca, 0xc4, 0x36, 0x56, 0x19, 0x85, 0xfd,
  1185  	0xc9, 0xd4, 0x4c, 0x99, 0xec, 0x01, 0xd4, 0xb5, 0xb2, 0x82, 0x4e, 0x15, 0x5f, 0x33, 0xdb, 0xb3,
  1186  	0xaf, 0xc0, 0x33, 0x52, 0x8f, 0xe3, 0x6c, 0x10, 0x58, 0xf5, 0x56, 0x6a, 0x0a, 0xba, 0xd2, 0xaa,
  1187  	0x63, 0x30, 0xc7, 0x07, 0x6f, 0xda, 0xfc, 0xb6, 0x33, 0xf7, 0xd0, 0xca, 0x5e, 0xc2, 0xbd, 0x1b,
  1188  	0xf4, 0xc0, 0x58, 0x2d, 0xb3, 0x81, 0x1d, 0xfa, 0x75, 0xaa, 0xbb, 0xbb, 0xd7, 0xd9, 0x5d, 0x67,
  1189  	0x63, 0xdb, 0x50, 0x23, 0xf6, 0x0b, 0xbf, 0xf1, 0x23, 0xef, 0x0e, 0x67, 0x5f, 0xc2, 0x5a, 0xb1,
  1190  	0x9a, 0x3b, 0x04, 0x72, 0xb8, 0x5a, 0xc0, 0x1f, 0xb9, 0xda, 0xf5, 0x57, 0x16, 0xba, 0xda, 0x9d,
  1191  	0xb9, 0xda, 0x9d, 0xbb, 0xba, 0x7d, 0xcd, 0xd5, 0xee, 0x47, 0xae, 0xf6, 0x7c, 0x6f, 0xa1, 0xab,
  1192  	0xbd, 0x99, 0xab, 0xbd, 0xb9, 0xab, 0xd5, 0x6b, 0xae, 0xf6, 0x66, 0xae, 0x9e, 0x41, 0x35, 0xd4,
  1193  	0x99, 0x8d, 0xfd, 0x35, 0xbc, 0xde, 0x16, 0xbb, 0xba, 0xdc, 0xaa, 0x1e, 0xf0, 0xe3, 0x1e, 0xe6,
  1194  	0xb4, 0x58, 0xf0, 0x82, 0x80, 0xb9, 0x10, 0x51, 0x1a, 0x5b, 0x2b, 0x23, 0x7f, 0x9d, 0x8a, 0x67,
  1195  	0xb6, 0x67, 0xaf, 0x60, 0x39, 0x95, 0x56, 0xc7, 0xa1, 0xf1, 0x37, 0x28, 0xb9, 0x5f, 0x2c, 0x48,
  1196  	0xee, 0x99, 0xec, 0x14, 0x1c, 0x3e, 0x25, 0x63, 0x35, 0x6b, 0x1d, 0x06, 0xc6, 0x0a, 0x2b, 0x7d,
  1197  	0xe6, 0x12, 0xac, 0xc3, 0x2e, 0xee, 0xd9, 0x7d, 0x58, 0xee, 0xc7, 0x63, 0x19, 0x7c, 0x1b, 0xfb,
  1198  	0x77, 0x8a, 0xc6, 0xc4, 0xed, 0x6f, 0x63, 0xf6, 0x02, 0x2a, 0x23, 0x19, 0x47, 0xfe, 0x5d, 0xfa,
  1199  	0xa9, 0x47, 0x0b, 0x7f, 0xaa, 0x1d, 0xc9, 0xcc, 0xc6, 0x76, 0xc2, 0x89, 0xda, 0xd4, 0x00, 0x73,
  1200  	0x8c, 0xed, 0x40, 0x75, 0x30, 0x12, 0x69, 0x51, 0xc7, 0x8b, 0x2b, 0xf1, 0x0d, 0xda, 0x79, 0x41,
  1201  	0x63, 0x2f, 0x61, 0x55, 0xa4, 0xfd, 0x60, 0x24, 0x83, 0x6c, 0x20, 0xf2, 0x20, 0x8e, 0xa8, 0xb4,
  1202  	0x2b, 0xad, 0xb5, 0x1f, 0x2e, 0xb7, 0x56, 0xf6, 0xd3, 0xfe, 0xd9, 0xe1, 0xf1, 0x40, 0xe4, 0xed,
  1203  	0xd7, 0x7c, 0x45, 0xa4, 0xfd, 0x33, 0x49, 0x9b, 0xa8, 0xf9, 0xae, 0x04, 0x55, 0x72, 0x83, 0x0a,
  1204  	0x93, 0x27, 0x69, 0x16, 0x47, 0xf4, 0x83, 0x1e, 0x77, 0x3b, 0xd6, 0x04, 0x0f, 0xfd, 0x6a, 0x39,
  1205  	0x88, 0x55, 0x36, 0x75, 0xeb, 0x91, 0x17, 0x4e, 0x58, 0x3b, 0x62, 0x5f, 0x00, 0x20, 0xc7, 0x48,
  1206  	0x1b, 0x38, 0x55, 0xf3, 0x78, 0x5d, 0xa4, 0xfd, 0xae, 0xb4, 0xed, 0x08, 0x3b, 0x1e, 0xad, 0xd4,
  1207  	0xb5, 0x52, 0x3b, 0x41, 0xc0, 0x03, 0xa7, 0x05, 0xd2, 0x1c, 0x41, 0x63, 0x76, 0xef, 0xd8, 0xe4,
  1208  	0x43, 0x15, 0x24, 0xc2, 0xca, 0x2c, 0x9c, 0x50, 0x2c, 0x65, 0xde, 0x18, 0xaa, 0xa3, 0x02, 0x60,
  1209  	0x3b, 0x70, 0x67, 0xa8, 0x02, 0x2d, 0x73, 0xa5, 0x6d, 0x60, 0xe3, 0x54, 0x1a, 0x2b, 0xd2, 0x9c,
  1210  	0x82, 0x2a, 0xf3, 0x8d, 0xa1, 0xe2, 0x64, 0xe9, 0x4d, 0x0d, 0xec, 0x73, 0xa8, 0xc7, 0x26, 0xe8,
  1211  	0xc7, 0xda, 0x58, 0x0a, 0xac, 0xce, 0x97, 0x63, 0xf3, 0x0d, 0x6e, 0x9b, 0xff, 0xae, 0x42, 0xe5,
  1212  	0x40, 0x26, 0x09, 0x2a, 0x86, 0x0c, 0x07, 0x37, 0x14, 0x03, 0x0b, 0x75, 0x56, 0xb0, 0x64, 0x45,
  1213  	0x75, 0x48, 0x54, 0x58, 0xf4, 0xf9, 0xff, 0x14, 0xee, 0x29, 0x93, 0xbd, 0x80, 0x9a, 0xa1, 0x21,
  1214  	0xe1, 0x14, 0xe5, 0xf3, 0x05, 0x67, 0x8a, 0x29, 0xc2, 0x1d, 0x71, 0x2e, 0xaa, 0xd5, 0xeb, 0xa2,
  1215  	0xfa, 0x13, 0x58, 0x4e, 0xc5, 0x45, 0x30, 0x92, 0x86, 0x64, 0xd1, 0x6b, 0xc1, 0xd5, 0xe5, 0x56,
  1216  	0xad, 0x23, 0x2e, 0xce, 0x0e, 0x0d, 0xaf, 0xa5, 0xe2, 0xe2, 0x4c, 0x1a, 0xf6, 0x14, 0x1a, 0x19,
  1217  	0x0e, 0x86, 0x73, 0xa5, 0x8d, 0xbf, 0xbc, 0x5d, 0xbe, 0xd1, 0x77, 0x73, 0x13, 0xfb, 0x0a, 0x56,
  1218  	0xec, 0x45, 0x90, 0x93, 0xc6, 0x44, 0xe7, 0x85, 0xba, 0xb4, 0xbc, 0xab, 0xcb, 0xad, 0x46, 0xef,
  1219  	0xe2, 0x14, 0xd1, 0xa8, 0xc5, 0x1b, 0xb6, 0x58, 0xbe, 0x3e, 0x67, 0x5d, 0x60, 0xa9, 0x14, 0x66,
  1220  	0xa4, 0x65, 0x2a, 0x33, 0x1b, 0xe4, 0x42, 0x8b, 0xd4, 0x90, 0xda, 0xac, 0xec, 0x3e, 0x5e, 0xf0,
  1221  	0x41, 0x9d, 0x39, 0xf9, 0x94, 0xb8, 0x7c, 0x23, 0xfd, 0x31, 0xc4, 0xce, 0xa0, 0x41, 0x4d, 0x1b,
  1222  	0xa4, 0x22, 0xf7, 0x81, 0x66, 0xce, 0x93, 0x05, 0xbe, 0x30, 0x43, 0x3b, 0x07, 0x48, 0xec, 0x88,
  1223  	0xfc, 0x30, 0xb3, 0x7a, 0xd2, 0xda, 0x78, 0xf7, 0xde, 0xf5, 0xfd, 0x1f, 0xde, 0x3b, 0x51, 0xaf,
  1224  	0x87, 0x8e, 0x81, 0xd5, 0x56, 0xb8, 0x8d, 0xb3, 0x48, 0x5e, 0x90, 0x8e, 0x79, 0x1c, 0x08, 0x6a,
  1225  	0x23, 0x82, 0xca, 0x8f, 0x25, 0x42, 0xb2, 0xe5, 0x71, 0x5a, 0xe3, 0x98, 0xce, 0xc3, 0x98, 0x94,
  1226  	0xca, 0xe3, 0xb8, 0xc4, 0x76, 0x90, 0x42, 0xf7, 0xc3, 0x8c, 0x34, 0xc9, 0xe3, 0x6e, 0xc7, 0xbe,
  1227  	0x86, 0x46, 0x28, 0x93, 0x24, 0xa0, 0xe1, 0x81, 0x7a, 0xb4, 0xba, 0xfb, 0xf0, 0xbf, 0x44, 0xdd,
  1228  	0x9b, 0xe4, 0x12, 0x47, 0x78, 0xb1, 0x62, 0x8f, 0x61, 0x15, 0x75, 0x24, 0x8e, 0x12, 0x19, 0x84,
  1229  	0x6a, 0x94, 0x59, 0x52, 0x28, 0x8f, 0xdf, 0xd6, 0x3a, 0x6c, 0x47, 0x89, 0x3c, 0x40, 0x0c, 0xeb,
  1230  	0x1b, 0x59, 0xa1, 0xca, 0x32, 0x19, 0x5a, 0x19, 0x39, 0xea, 0x06, 0x51, 0x37, 0xb4, 0x0e, 0x0f,
  1231  	0xa6, 0x16, 0xe2, 0x3f, 0xf8, 0x15, 0x78, 0x37, 0x2e, 0x07, 0x3f, 0xe5, 0x77, 0x72, 0xe2, 0x9a,
  1232  	0x18, 0x97, 0x58, 0x4f, 0x63, 0x91, 0x8c, 0x8a, 0x59, 0x57, 0xe1, 0xc5, 0xe6, 0x97, 0x4b, 0x5f,
  1233  	0x97, 0x9a, 0xff, 0x28, 0xc3, 0xc6, 0x47, 0xb9, 0x62, 0x4f, 0x61, 0x0d, 0x1b, 0x2b, 0xb0, 0x2a,
  1234  	0xb0, 0x3a, 0x1e, 0x0c, 0xa4, 0x76, 0xaf, 0x1a, 0x0f, 0xe1, 0x9e, 0xea, 0x15, 0x20, 0xfb, 0x29,
  1235  	0xac, 0xf7, 0xb5, 0xfc, 0x76, 0x84, 0x7d, 0x19, 0xa8, 0x7e, 0xdf, 0x48, 0xeb, 0x1e, 0x3a, 0x6b,
  1236  	0x33, 0xfc, 0x84, 0x60, 0xf6, 0x0a, 0xee, 0xe7, 0x74, 0x6d, 0x71, 0x16, 0xc5, 0xe3, 0x38, 0x1a,
  1237  	0x89, 0x64, 0x7a, 0xa2, 0x4c, 0x27, 0x3e, 0x23, 0x73, 0x7b, 0x66, 0x75, 0xe7, 0x7e, 0x5f, 0x02,
  1238  	0x3f, 0x5b, 0x7c, 0xd0, 0xf8, 0x15, 0xaa, 0x99, 0x5f, 0xff, 0x3f, 0xf5, 0xb7, 0x73, 0xbc, 0xc8,
  1239  	0xbd, 0x29, 0xca, 0xa9, 0xfe, 0xee, 0xbd, 0xeb, 0x90, 0x7b, 0xd9, 0x42, 0x1a, 0xdb, 0x04, 0x18,
  1240  	0x4e, 0x8c, 0x95, 0x5a, 0x9a, 0xd8, 0xb8, 0xb7, 0xd6, 0x35, 0x84, 0xfd, 0x06, 0xd6, 0xe4, 0x18,
  1241  	0x3b, 0x43, 0xec, 0x4d, 0x9b, 0xa3, 0x46, 0xcd, 0xb1, 0xbd, 0x20, 0xb8, 0x43, 0x64, 0xee, 0xef,
  1242  	0xb9, 0xc6, 0xf0, 0xe4, 0xf5, 0xed, 0x83, 0x36, 0x3c, 0xfc, 0x44, 0xa8, 0xd7, 0x93, 0x5b, 0x59,
  1243  	0x90, 0xdc, 0xea, 0xf5, 0xe4, 0xf6, 0xc0, 0xbb, 0xf1, 0x53, 0x38, 0xc8, 0xc4, 0xde, 0xf4, 0xda,
  1244  	0x8b, 0x8c, 0xd6, 0xc5, 0x9e, 0xbb, 0xe9, 0xa7, 0xb0, 0xe6, 0x44, 0x55, 0x65, 0x41, 0x22, 0xc5,
  1245  	0xb8, 0xf0, 0x58, 0xe7, 0x5e, 0x01, 0x9f, 0x64, 0x47, 0x08, 0x36, 0xff, 0x5a, 0x82, 0xca, 0xb1,
  1246  	0x8a, 0x24, 0x0e, 0x65, 0x99, 0x9d, 0x4f, 0xc7, 0x45, 0x31, 0x94, 0xdf, 0x64, 0xe7, 0xf4, 0xb4,
  1247  	0x2c, 0x16, 0xbc, 0x20, 0xb0, 0x6d, 0x58, 0x09, 0x15, 0xbe, 0x63, 0x93, 0x44, 0xea, 0xe2, 0x79,
  1248  	0xd9, 0xe0, 0xd7, 0x21, 0xf6, 0x04, 0x56, 0xe9, 0x65, 0x13, 0xca, 0x20, 0x55, 0x91, 0x4c, 0x8c,
  1249  	0x5f, 0x26, 0x92, 0xe7, 0xd0, 0x0e, 0x81, 0xec, 0x25, 0x00, 0xd5, 0x02, 0xca, 0x71, 0x91, 0xfe,
  1250  	0x4a, 0xeb, 0x33, 0x14, 0x2d, 0xec, 0x36, 0x4c, 0xa0, 0x99, 0x6b, 0x1d, 0x12, 0x0f, 0x91, 0x87,
  1251  	0x9d, 0x8c, 0xb3, 0x7b, 0x64, 0x9c, 0x9e, 0xba, 0x5d, 0xf3, 0xcf, 0x4b, 0xd0, 0xe8, 0x88, 0xfc,
  1252  	0x48, 0x4c, 0xd4, 0xc8, 0xb2, 0x5f, 0x40, 0x0d, 0x1f, 0xdb, 0xae, 0xd6, 0x3f, 0xa5, 0xed, 0x8e,
  1253  	0x87, 0x3a, 0xf2, 0x9d, 0x52, 0x29, 0x5d, 0xd3, 0x12, 0xa7, 0x35, 0x62, 0x7d, 0x11, 0x49, 0x37,
  1254  	0x69, 0x68, 0x4d, 0x0f, 0xde, 0xa1, 0x7a, 0x1b, 0x68, 0x7c, 0x79, 0x1b, 0x1a, 0x03, 0x75, 0x0e,
  1255  	0x08, 0xd1, 0x5b, 0x9c, 0x26, 0x1e, 0x11, 0x48, 0x8e, 0x29, 0xc8, 0x3a, 0x6f, 0x20, 0x42, 0xf2,
  1256  	0x8b, 0xcf, 0xa4, 0xe9, 0x34, 0x31, 0x81, 0x09, 0x45, 0x22, 0x49, 0x79, 0x97, 0xf8, 0xea, 0x0c,
  1257  	0xee, 0x22, 0x8a, 0x6f, 0x91, 0x34, 0xce, 0xe6, 0x13, 0x82, 0xd7, 0xd2, 0x38, 0xc3, 0xa9, 0x70,
  1258  	0x7f, 0x3e, 0x3a, 0x96, 0x9d, 0xa1, 0x18, 0x17, 0x4f, 0x60, 0x35, 0x1c, 0x69, 0x8d, 0x95, 0xeb,
  1259  	0xa2, 0xab, 0x93, 0xdd, 0x73, 0x68, 0x11, 0xe0, 0xcf, 0x0e, 0xa0, 0x3e, 0xd5, 0x33, 0xd6, 0x80,
  1260  	0xea, 0x37, 0x87, 0x9d, 0xde, 0xc9, 0xfa, 0x2d, 0xb6, 0x0a, 0x70, 0x78, 0xdc, 0x3b, 0xe4, 0xa7,
  1261  	0xbc, 0xdd, 0x3d, 0x5c, 0x2f, 0xb1, 0x0d, 0xf0, 0x4e, 0xce, 0x7a, 0xaf, 0x4f, 0x4e, 0x78, 0xd0,
  1262  	0xed, 0xec, 0x1f, 0x1d, 0xad, 0x2f, 0x21, 0xbb, 0xb3, 0x7f, 0xc0, 0x4f, 0xd6, 0xcb, 0x2d, 0xff,
  1263  	0x6f, 0x57, 0x9b, 0xa5, 0xef, 0xaf, 0x36, 0x4b, 0xff, 0xbc, 0xda, 0x2c, 0xfd, 0xf1, 0xc3, 0xe6,
  1264  	0xad, 0xef, 0x3f, 0x6c, 0xde, 0xfa, 0xfb, 0x87, 0xcd, 0x5b, 0xe7, 0x35, 0xfa, 0xe7, 0x6b, 0xef,
  1265  	0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xab, 0xac, 0xa5, 0x95, 0xc6, 0x0d, 0x00, 0x00,
  1266  }
  1267  
  1268  func (m *Point) Marshal() (dAtA []byte, err error) {
  1269  	size := m.Size()
  1270  	dAtA = make([]byte, size)
  1271  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1272  	if err != nil {
  1273  		return nil, err
  1274  	}
  1275  	return dAtA[:n], nil
  1276  }
  1277  
  1278  func (m *Point) MarshalTo(dAtA []byte) (int, error) {
  1279  	size := m.Size()
  1280  	return m.MarshalToSizedBuffer(dAtA[:size])
  1281  }
  1282  
  1283  func (m *Point) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1284  	i := len(dAtA)
  1285  	_ = i
  1286  	var l int
  1287  	_ = l
  1288  	if m.Lng != 0 {
  1289  		i -= 8
  1290  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Lng))))
  1291  		i--
  1292  		dAtA[i] = 0x11
  1293  	}
  1294  	if m.Lat != 0 {
  1295  		i -= 8
  1296  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Lat))))
  1297  		i--
  1298  		dAtA[i] = 0x9
  1299  	}
  1300  	return len(dAtA) - i, nil
  1301  }
  1302  
  1303  func (m *Sector) Marshal() (dAtA []byte, err error) {
  1304  	size := m.Size()
  1305  	dAtA = make([]byte, size)
  1306  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1307  	if err != nil {
  1308  		return nil, err
  1309  	}
  1310  	return dAtA[:n], nil
  1311  }
  1312  
  1313  func (m *Sector) MarshalTo(dAtA []byte) (int, error) {
  1314  	size := m.Size()
  1315  	return m.MarshalToSizedBuffer(dAtA[:size])
  1316  }
  1317  
  1318  func (m *Sector) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1319  	i := len(dAtA)
  1320  	_ = i
  1321  	var l int
  1322  	_ = l
  1323  	if m.Tilt != 0 {
  1324  		i = encodeVarintTypes(dAtA, i, uint64(m.Tilt))
  1325  		i--
  1326  		dAtA[i] = 0x28
  1327  	}
  1328  	if m.Height != 0 {
  1329  		i = encodeVarintTypes(dAtA, i, uint64(m.Height))
  1330  		i--
  1331  		dAtA[i] = 0x20
  1332  	}
  1333  	if m.Centroid != nil {
  1334  		{
  1335  			size, err := m.Centroid.MarshalToSizedBuffer(dAtA[:i])
  1336  			if err != nil {
  1337  				return 0, err
  1338  			}
  1339  			i -= size
  1340  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1341  		}
  1342  		i--
  1343  		dAtA[i] = 0x1a
  1344  	}
  1345  	if m.Arc != 0 {
  1346  		i = encodeVarintTypes(dAtA, i, uint64(m.Arc))
  1347  		i--
  1348  		dAtA[i] = 0x10
  1349  	}
  1350  	if m.Azimuth != 0 {
  1351  		i = encodeVarintTypes(dAtA, i, uint64(m.Azimuth))
  1352  		i--
  1353  		dAtA[i] = 0x8
  1354  	}
  1355  	return len(dAtA) - i, nil
  1356  }
  1357  
  1358  func (m *Route) Marshal() (dAtA []byte, err error) {
  1359  	size := m.Size()
  1360  	dAtA = make([]byte, size)
  1361  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1362  	if err != nil {
  1363  		return nil, err
  1364  	}
  1365  	return dAtA[:n], nil
  1366  }
  1367  
  1368  func (m *Route) MarshalTo(dAtA []byte) (int, error) {
  1369  	size := m.Size()
  1370  	return m.MarshalToSizedBuffer(dAtA[:size])
  1371  }
  1372  
  1373  func (m *Route) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1374  	i := len(dAtA)
  1375  	_ = i
  1376  	var l int
  1377  	_ = l
  1378  	if m.NextPoint != 0 {
  1379  		i = encodeVarintTypes(dAtA, i, uint64(m.NextPoint))
  1380  		i--
  1381  		dAtA[i] = 0x38
  1382  	}
  1383  	if m.Reverse {
  1384  		i--
  1385  		if m.Reverse {
  1386  			dAtA[i] = 1
  1387  		} else {
  1388  			dAtA[i] = 0
  1389  		}
  1390  		i--
  1391  		dAtA[i] = 0x30
  1392  	}
  1393  	if m.SpeedStdev != 0 {
  1394  		i = encodeVarintTypes(dAtA, i, uint64(m.SpeedStdev))
  1395  		i--
  1396  		dAtA[i] = 0x28
  1397  	}
  1398  	if m.SpeedAvg != 0 {
  1399  		i = encodeVarintTypes(dAtA, i, uint64(m.SpeedAvg))
  1400  		i--
  1401  		dAtA[i] = 0x20
  1402  	}
  1403  	if len(m.Color) > 0 {
  1404  		i -= len(m.Color)
  1405  		copy(dAtA[i:], m.Color)
  1406  		i = encodeVarintTypes(dAtA, i, uint64(len(m.Color)))
  1407  		i--
  1408  		dAtA[i] = 0x1a
  1409  	}
  1410  	if len(m.Waypoints) > 0 {
  1411  		for iNdEx := len(m.Waypoints) - 1; iNdEx >= 0; iNdEx-- {
  1412  			{
  1413  				size, err := m.Waypoints[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1414  				if err != nil {
  1415  					return 0, err
  1416  				}
  1417  				i -= size
  1418  				i = encodeVarintTypes(dAtA, i, uint64(size))
  1419  			}
  1420  			i--
  1421  			dAtA[i] = 0x12
  1422  		}
  1423  	}
  1424  	if m.RouteID != 0 {
  1425  		i = encodeVarintTypes(dAtA, i, uint64(m.RouteID))
  1426  		i--
  1427  		dAtA[i] = 0x8
  1428  	}
  1429  	return len(dAtA) - i, nil
  1430  }
  1431  
  1432  func (m *Ue) Marshal() (dAtA []byte, err error) {
  1433  	size := m.Size()
  1434  	dAtA = make([]byte, size)
  1435  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1436  	if err != nil {
  1437  		return nil, err
  1438  	}
  1439  	return dAtA[:n], nil
  1440  }
  1441  
  1442  func (m *Ue) MarshalTo(dAtA []byte) (int, error) {
  1443  	size := m.Size()
  1444  	return m.MarshalToSizedBuffer(dAtA[:size])
  1445  }
  1446  
  1447  func (m *Ue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1448  	i := len(dAtA)
  1449  	_ = i
  1450  	var l int
  1451  	_ = l
  1452  	if m.Ueid != nil {
  1453  		{
  1454  			size, err := m.Ueid.MarshalToSizedBuffer(dAtA[:i])
  1455  			if err != nil {
  1456  				return 0, err
  1457  			}
  1458  			i -= size
  1459  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1460  		}
  1461  		i--
  1462  		dAtA[i] = 0x1
  1463  		i--
  1464  		dAtA[i] = 0xa2
  1465  	}
  1466  	if m.FiveQi != 0 {
  1467  		i = encodeVarintTypes(dAtA, i, uint64(m.FiveQi))
  1468  		i--
  1469  		dAtA[i] = 0x1
  1470  		i--
  1471  		dAtA[i] = 0x98
  1472  	}
  1473  	if m.RrcState != 0 {
  1474  		i = encodeVarintTypes(dAtA, i, uint64(m.RrcState))
  1475  		i--
  1476  		dAtA[i] = 0x1
  1477  		i--
  1478  		dAtA[i] = 0x90
  1479  	}
  1480  	if m.Metrics != nil {
  1481  		{
  1482  			size, err := m.Metrics.MarshalToSizedBuffer(dAtA[:i])
  1483  			if err != nil {
  1484  				return 0, err
  1485  			}
  1486  			i -= size
  1487  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1488  		}
  1489  		i--
  1490  		dAtA[i] = 0x1
  1491  		i--
  1492  		dAtA[i] = 0x8a
  1493  	}
  1494  	if m.Admitted {
  1495  		i--
  1496  		if m.Admitted {
  1497  			dAtA[i] = 1
  1498  		} else {
  1499  			dAtA[i] = 0
  1500  		}
  1501  		i--
  1502  		dAtA[i] = 0x1
  1503  		i--
  1504  		dAtA[i] = 0x80
  1505  	}
  1506  	if m.CRNTI != 0 {
  1507  		i = encodeVarintTypes(dAtA, i, uint64(m.CRNTI))
  1508  		i--
  1509  		dAtA[i] = 0x78
  1510  	}
  1511  	if m.Tower3Strength != 0 {
  1512  		i -= 8
  1513  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Tower3Strength))))
  1514  		i--
  1515  		dAtA[i] = 0x71
  1516  	}
  1517  	if m.Tower3 != 0 {
  1518  		i = encodeVarintTypes(dAtA, i, uint64(m.Tower3))
  1519  		i--
  1520  		dAtA[i] = 0x68
  1521  	}
  1522  	if m.Tower2Strength != 0 {
  1523  		i -= 8
  1524  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Tower2Strength))))
  1525  		i--
  1526  		dAtA[i] = 0x61
  1527  	}
  1528  	if m.Tower2 != 0 {
  1529  		i = encodeVarintTypes(dAtA, i, uint64(m.Tower2))
  1530  		i--
  1531  		dAtA[i] = 0x58
  1532  	}
  1533  	if m.Tower1Strength != 0 {
  1534  		i -= 8
  1535  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Tower1Strength))))
  1536  		i--
  1537  		dAtA[i] = 0x51
  1538  	}
  1539  	if m.Tower1 != 0 {
  1540  		i = encodeVarintTypes(dAtA, i, uint64(m.Tower1))
  1541  		i--
  1542  		dAtA[i] = 0x48
  1543  	}
  1544  	if m.ServingTowerStrength != 0 {
  1545  		i -= 8
  1546  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.ServingTowerStrength))))
  1547  		i--
  1548  		dAtA[i] = 0x41
  1549  	}
  1550  	if m.ServingTower != 0 {
  1551  		i = encodeVarintTypes(dAtA, i, uint64(m.ServingTower))
  1552  		i--
  1553  		dAtA[i] = 0x38
  1554  	}
  1555  	if m.Rotation != 0 {
  1556  		i = encodeVarintTypes(dAtA, i, uint64(m.Rotation))
  1557  		i--
  1558  		dAtA[i] = 0x28
  1559  	}
  1560  	if m.Position != nil {
  1561  		{
  1562  			size, err := m.Position.MarshalToSizedBuffer(dAtA[:i])
  1563  			if err != nil {
  1564  				return 0, err
  1565  			}
  1566  			i -= size
  1567  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1568  		}
  1569  		i--
  1570  		dAtA[i] = 0x22
  1571  	}
  1572  	if len(m.Type) > 0 {
  1573  		i -= len(m.Type)
  1574  		copy(dAtA[i:], m.Type)
  1575  		i = encodeVarintTypes(dAtA, i, uint64(len(m.Type)))
  1576  		i--
  1577  		dAtA[i] = 0x12
  1578  	}
  1579  	if m.IMSI != 0 {
  1580  		i = encodeVarintTypes(dAtA, i, uint64(m.IMSI))
  1581  		i--
  1582  		dAtA[i] = 0x8
  1583  	}
  1584  	return len(dAtA) - i, nil
  1585  }
  1586  
  1587  func (m *UeIdentity) Marshal() (dAtA []byte, err error) {
  1588  	size := m.Size()
  1589  	dAtA = make([]byte, size)
  1590  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1591  	if err != nil {
  1592  		return nil, err
  1593  	}
  1594  	return dAtA[:n], nil
  1595  }
  1596  
  1597  func (m *UeIdentity) MarshalTo(dAtA []byte) (int, error) {
  1598  	size := m.Size()
  1599  	return m.MarshalToSizedBuffer(dAtA[:size])
  1600  }
  1601  
  1602  func (m *UeIdentity) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1603  	i := len(dAtA)
  1604  	_ = i
  1605  	var l int
  1606  	_ = l
  1607  	if m.AmfUeNgapId != 0 {
  1608  		i = encodeVarintTypes(dAtA, i, uint64(m.AmfUeNgapId))
  1609  		i--
  1610  		dAtA[i] = 0x10
  1611  	}
  1612  	if m.Guami != nil {
  1613  		{
  1614  			size, err := m.Guami.MarshalToSizedBuffer(dAtA[:i])
  1615  			if err != nil {
  1616  				return 0, err
  1617  			}
  1618  			i -= size
  1619  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1620  		}
  1621  		i--
  1622  		dAtA[i] = 0xa
  1623  	}
  1624  	return len(dAtA) - i, nil
  1625  }
  1626  
  1627  func (m *Guami) Marshal() (dAtA []byte, err error) {
  1628  	size := m.Size()
  1629  	dAtA = make([]byte, size)
  1630  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1631  	if err != nil {
  1632  		return nil, err
  1633  	}
  1634  	return dAtA[:n], nil
  1635  }
  1636  
  1637  func (m *Guami) MarshalTo(dAtA []byte) (int, error) {
  1638  	size := m.Size()
  1639  	return m.MarshalToSizedBuffer(dAtA[:size])
  1640  }
  1641  
  1642  func (m *Guami) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1643  	i := len(dAtA)
  1644  	_ = i
  1645  	var l int
  1646  	_ = l
  1647  	if m.AmfPointer != 0 {
  1648  		i = encodeVarintTypes(dAtA, i, uint64(m.AmfPointer))
  1649  		i--
  1650  		dAtA[i] = 0x20
  1651  	}
  1652  	if m.AmfSetId != 0 {
  1653  		i = encodeVarintTypes(dAtA, i, uint64(m.AmfSetId))
  1654  		i--
  1655  		dAtA[i] = 0x18
  1656  	}
  1657  	if m.AmfRegionId != 0 {
  1658  		i = encodeVarintTypes(dAtA, i, uint64(m.AmfRegionId))
  1659  		i--
  1660  		dAtA[i] = 0x10
  1661  	}
  1662  	if m.Plmnid != 0 {
  1663  		i = encodeVarintTypes(dAtA, i, uint64(m.Plmnid))
  1664  		i--
  1665  		dAtA[i] = 0x8
  1666  	}
  1667  	return len(dAtA) - i, nil
  1668  }
  1669  
  1670  func (m *UeMetrics) Marshal() (dAtA []byte, err error) {
  1671  	size := m.Size()
  1672  	dAtA = make([]byte, size)
  1673  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1674  	if err != nil {
  1675  		return nil, err
  1676  	}
  1677  	return dAtA[:n], nil
  1678  }
  1679  
  1680  func (m *UeMetrics) MarshalTo(dAtA []byte) (int, error) {
  1681  	size := m.Size()
  1682  	return m.MarshalToSizedBuffer(dAtA[:size])
  1683  }
  1684  
  1685  func (m *UeMetrics) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1686  	i := len(dAtA)
  1687  	_ = i
  1688  	var l int
  1689  	_ = l
  1690  	if m.IsFirst {
  1691  		i--
  1692  		if m.IsFirst {
  1693  			dAtA[i] = 1
  1694  		} else {
  1695  			dAtA[i] = 0
  1696  		}
  1697  		i--
  1698  		dAtA[i] = 0x18
  1699  	}
  1700  	if m.HoReportTimestamp != 0 {
  1701  		i = encodeVarintTypes(dAtA, i, uint64(m.HoReportTimestamp))
  1702  		i--
  1703  		dAtA[i] = 0x10
  1704  	}
  1705  	if m.HoLatency != 0 {
  1706  		i = encodeVarintTypes(dAtA, i, uint64(m.HoLatency))
  1707  		i--
  1708  		dAtA[i] = 0x8
  1709  	}
  1710  	return len(dAtA) - i, nil
  1711  }
  1712  
  1713  func (m *Cell) Marshal() (dAtA []byte, err error) {
  1714  	size := m.Size()
  1715  	dAtA = make([]byte, size)
  1716  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1717  	if err != nil {
  1718  		return nil, err
  1719  	}
  1720  	return dAtA[:n], nil
  1721  }
  1722  
  1723  func (m *Cell) MarshalTo(dAtA []byte) (int, error) {
  1724  	size := m.Size()
  1725  	return m.MarshalToSizedBuffer(dAtA[:size])
  1726  }
  1727  
  1728  func (m *Cell) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1729  	i := len(dAtA)
  1730  	_ = i
  1731  	var l int
  1732  	_ = l
  1733  	if m.RrcConnectedCount != 0 {
  1734  		i = encodeVarintTypes(dAtA, i, uint64(m.RrcConnectedCount))
  1735  		i--
  1736  		dAtA[i] = 0x1
  1737  		i--
  1738  		dAtA[i] = 0x88
  1739  	}
  1740  	if m.RrcIdleCount != 0 {
  1741  		i = encodeVarintTypes(dAtA, i, uint64(m.RrcIdleCount))
  1742  		i--
  1743  		dAtA[i] = 0x1
  1744  		i--
  1745  		dAtA[i] = 0x80
  1746  	}
  1747  	if m.CellType != 0 {
  1748  		i = encodeVarintTypes(dAtA, i, uint64(m.CellType))
  1749  		i--
  1750  		dAtA[i] = 0x78
  1751  	}
  1752  	if m.Earfcn != 0 {
  1753  		i = encodeVarintTypes(dAtA, i, uint64(m.Earfcn))
  1754  		i--
  1755  		dAtA[i] = 0x70
  1756  	}
  1757  	if m.Pci != 0 {
  1758  		i = encodeVarintTypes(dAtA, i, uint64(m.Pci))
  1759  		i--
  1760  		dAtA[i] = 0x68
  1761  	}
  1762  	if m.Port != 0 {
  1763  		i = encodeVarintTypes(dAtA, i, uint64(m.Port))
  1764  		i--
  1765  		dAtA[i] = 0x60
  1766  	}
  1767  	if m.CrntiIndex != 0 {
  1768  		i = encodeVarintTypes(dAtA, i, uint64(m.CrntiIndex))
  1769  		i--
  1770  		dAtA[i] = 0x58
  1771  	}
  1772  	if len(m.CrntiMap) > 0 {
  1773  		for k := range m.CrntiMap {
  1774  			v := m.CrntiMap[k]
  1775  			baseI := i
  1776  			i = encodeVarintTypes(dAtA, i, uint64(v))
  1777  			i--
  1778  			dAtA[i] = 0x10
  1779  			i = encodeVarintTypes(dAtA, i, uint64(k))
  1780  			i--
  1781  			dAtA[i] = 0x8
  1782  			i = encodeVarintTypes(dAtA, i, uint64(baseI-i))
  1783  			i--
  1784  			dAtA[i] = 0x52
  1785  		}
  1786  	}
  1787  	if m.MeasurementParams != nil {
  1788  		{
  1789  			size, err := m.MeasurementParams.MarshalToSizedBuffer(dAtA[:i])
  1790  			if err != nil {
  1791  				return 0, err
  1792  			}
  1793  			i -= size
  1794  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1795  		}
  1796  		i--
  1797  		dAtA[i] = 0x4a
  1798  	}
  1799  	if m.TxPowerdB != 0 {
  1800  		i -= 8
  1801  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.TxPowerdB))))
  1802  		i--
  1803  		dAtA[i] = 0x41
  1804  	}
  1805  	if len(m.Neighbors) > 0 {
  1806  		dAtA8 := make([]byte, len(m.Neighbors)*10)
  1807  		var j7 int
  1808  		for _, num := range m.Neighbors {
  1809  			for num >= 1<<7 {
  1810  				dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80)
  1811  				num >>= 7
  1812  				j7++
  1813  			}
  1814  			dAtA8[j7] = uint8(num)
  1815  			j7++
  1816  		}
  1817  		i -= j7
  1818  		copy(dAtA[i:], dAtA8[:j7])
  1819  		i = encodeVarintTypes(dAtA, i, uint64(j7))
  1820  		i--
  1821  		dAtA[i] = 0x3a
  1822  	}
  1823  	if m.MaxUEs != 0 {
  1824  		i = encodeVarintTypes(dAtA, i, uint64(m.MaxUEs))
  1825  		i--
  1826  		dAtA[i] = 0x30
  1827  	}
  1828  	if len(m.Color) > 0 {
  1829  		i -= len(m.Color)
  1830  		copy(dAtA[i:], m.Color)
  1831  		i = encodeVarintTypes(dAtA, i, uint64(len(m.Color)))
  1832  		i--
  1833  		dAtA[i] = 0x2a
  1834  	}
  1835  	if m.Sector != nil {
  1836  		{
  1837  			size, err := m.Sector.MarshalToSizedBuffer(dAtA[:i])
  1838  			if err != nil {
  1839  				return 0, err
  1840  			}
  1841  			i -= size
  1842  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1843  		}
  1844  		i--
  1845  		dAtA[i] = 0x22
  1846  	}
  1847  	if m.Location != nil {
  1848  		{
  1849  			size, err := m.Location.MarshalToSizedBuffer(dAtA[:i])
  1850  			if err != nil {
  1851  				return 0, err
  1852  			}
  1853  			i -= size
  1854  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1855  		}
  1856  		i--
  1857  		dAtA[i] = 0x1a
  1858  	}
  1859  	if m.NCGI != 0 {
  1860  		i = encodeVarintTypes(dAtA, i, uint64(m.NCGI))
  1861  		i--
  1862  		dAtA[i] = 0x8
  1863  	}
  1864  	return len(dAtA) - i, nil
  1865  }
  1866  
  1867  func (m *MeasurementParams) Marshal() (dAtA []byte, err error) {
  1868  	size := m.Size()
  1869  	dAtA = make([]byte, size)
  1870  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1871  	if err != nil {
  1872  		return nil, err
  1873  	}
  1874  	return dAtA[:n], nil
  1875  }
  1876  
  1877  func (m *MeasurementParams) MarshalTo(dAtA []byte) (int, error) {
  1878  	size := m.Size()
  1879  	return m.MarshalToSizedBuffer(dAtA[:size])
  1880  }
  1881  
  1882  func (m *MeasurementParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1883  	i := len(dAtA)
  1884  	_ = i
  1885  	var l int
  1886  	_ = l
  1887  	if m.EventA3Params != nil {
  1888  		{
  1889  			size, err := m.EventA3Params.MarshalToSizedBuffer(dAtA[:i])
  1890  			if err != nil {
  1891  				return 0, err
  1892  			}
  1893  			i -= size
  1894  			i = encodeVarintTypes(dAtA, i, uint64(size))
  1895  		}
  1896  		i--
  1897  		dAtA[i] = 0x32
  1898  	}
  1899  	if m.Hysteresis != 0 {
  1900  		i = encodeVarintTypes(dAtA, i, uint64(m.Hysteresis))
  1901  		i--
  1902  		dAtA[i] = 0x28
  1903  	}
  1904  	if len(m.NcellIndividualOffsets) > 0 {
  1905  		for k := range m.NcellIndividualOffsets {
  1906  			v := m.NcellIndividualOffsets[k]
  1907  			baseI := i
  1908  			i = encodeVarintTypes(dAtA, i, uint64(v))
  1909  			i--
  1910  			dAtA[i] = 0x10
  1911  			i = encodeVarintTypes(dAtA, i, uint64(k))
  1912  			i--
  1913  			dAtA[i] = 0x8
  1914  			i = encodeVarintTypes(dAtA, i, uint64(baseI-i))
  1915  			i--
  1916  			dAtA[i] = 0x22
  1917  		}
  1918  	}
  1919  	if m.PcellIndividualOffset != 0 {
  1920  		i = encodeVarintTypes(dAtA, i, uint64(m.PcellIndividualOffset))
  1921  		i--
  1922  		dAtA[i] = 0x18
  1923  	}
  1924  	if m.FrequencyOffset != 0 {
  1925  		i = encodeVarintTypes(dAtA, i, uint64(m.FrequencyOffset))
  1926  		i--
  1927  		dAtA[i] = 0x10
  1928  	}
  1929  	if m.TimeToTrigger != 0 {
  1930  		i = encodeVarintTypes(dAtA, i, uint64(m.TimeToTrigger))
  1931  		i--
  1932  		dAtA[i] = 0x8
  1933  	}
  1934  	return len(dAtA) - i, nil
  1935  }
  1936  
  1937  func (m *EventA3Params) Marshal() (dAtA []byte, err error) {
  1938  	size := m.Size()
  1939  	dAtA = make([]byte, size)
  1940  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1941  	if err != nil {
  1942  		return nil, err
  1943  	}
  1944  	return dAtA[:n], nil
  1945  }
  1946  
  1947  func (m *EventA3Params) MarshalTo(dAtA []byte) (int, error) {
  1948  	size := m.Size()
  1949  	return m.MarshalToSizedBuffer(dAtA[:size])
  1950  }
  1951  
  1952  func (m *EventA3Params) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1953  	i := len(dAtA)
  1954  	_ = i
  1955  	var l int
  1956  	_ = l
  1957  	if m.ReportOnLeave {
  1958  		i--
  1959  		if m.ReportOnLeave {
  1960  			dAtA[i] = 1
  1961  		} else {
  1962  			dAtA[i] = 0
  1963  		}
  1964  		i--
  1965  		dAtA[i] = 0x10
  1966  	}
  1967  	if m.A3Offset != 0 {
  1968  		i = encodeVarintTypes(dAtA, i, uint64(m.A3Offset))
  1969  		i--
  1970  		dAtA[i] = 0x8
  1971  	}
  1972  	return len(dAtA) - i, nil
  1973  }
  1974  
  1975  func (m *Node) Marshal() (dAtA []byte, err error) {
  1976  	size := m.Size()
  1977  	dAtA = make([]byte, size)
  1978  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1979  	if err != nil {
  1980  		return nil, err
  1981  	}
  1982  	return dAtA[:n], nil
  1983  }
  1984  
  1985  func (m *Node) MarshalTo(dAtA []byte) (int, error) {
  1986  	size := m.Size()
  1987  	return m.MarshalToSizedBuffer(dAtA[:size])
  1988  }
  1989  
  1990  func (m *Node) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1991  	i := len(dAtA)
  1992  	_ = i
  1993  	var l int
  1994  	_ = l
  1995  	if len(m.Status) > 0 {
  1996  		i -= len(m.Status)
  1997  		copy(dAtA[i:], m.Status)
  1998  		i = encodeVarintTypes(dAtA, i, uint64(len(m.Status)))
  1999  		i--
  2000  		dAtA[i] = 0x2a
  2001  	}
  2002  	if len(m.CellNCGIs) > 0 {
  2003  		dAtA13 := make([]byte, len(m.CellNCGIs)*10)
  2004  		var j12 int
  2005  		for _, num := range m.CellNCGIs {
  2006  			for num >= 1<<7 {
  2007  				dAtA13[j12] = uint8(uint64(num)&0x7f | 0x80)
  2008  				num >>= 7
  2009  				j12++
  2010  			}
  2011  			dAtA13[j12] = uint8(num)
  2012  			j12++
  2013  		}
  2014  		i -= j12
  2015  		copy(dAtA[i:], dAtA13[:j12])
  2016  		i = encodeVarintTypes(dAtA, i, uint64(j12))
  2017  		i--
  2018  		dAtA[i] = 0x22
  2019  	}
  2020  	if len(m.ServiceModels) > 0 {
  2021  		for iNdEx := len(m.ServiceModels) - 1; iNdEx >= 0; iNdEx-- {
  2022  			i -= len(m.ServiceModels[iNdEx])
  2023  			copy(dAtA[i:], m.ServiceModels[iNdEx])
  2024  			i = encodeVarintTypes(dAtA, i, uint64(len(m.ServiceModels[iNdEx])))
  2025  			i--
  2026  			dAtA[i] = 0x1a
  2027  		}
  2028  	}
  2029  	if len(m.Controllers) > 0 {
  2030  		for iNdEx := len(m.Controllers) - 1; iNdEx >= 0; iNdEx-- {
  2031  			i -= len(m.Controllers[iNdEx])
  2032  			copy(dAtA[i:], m.Controllers[iNdEx])
  2033  			i = encodeVarintTypes(dAtA, i, uint64(len(m.Controllers[iNdEx])))
  2034  			i--
  2035  			dAtA[i] = 0x12
  2036  		}
  2037  	}
  2038  	if m.GnbID != 0 {
  2039  		i = encodeVarintTypes(dAtA, i, uint64(m.GnbID))
  2040  		i--
  2041  		dAtA[i] = 0x8
  2042  	}
  2043  	return len(dAtA) - i, nil
  2044  }
  2045  
  2046  func (m *MapLayout) Marshal() (dAtA []byte, err error) {
  2047  	size := m.Size()
  2048  	dAtA = make([]byte, size)
  2049  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2050  	if err != nil {
  2051  		return nil, err
  2052  	}
  2053  	return dAtA[:n], nil
  2054  }
  2055  
  2056  func (m *MapLayout) MarshalTo(dAtA []byte) (int, error) {
  2057  	size := m.Size()
  2058  	return m.MarshalToSizedBuffer(dAtA[:size])
  2059  }
  2060  
  2061  func (m *MapLayout) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2062  	i := len(dAtA)
  2063  	_ = i
  2064  	var l int
  2065  	_ = l
  2066  	if m.LocationsScale != 0 {
  2067  		i -= 4
  2068  		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.LocationsScale))))
  2069  		i--
  2070  		dAtA[i] = 0x4d
  2071  	}
  2072  	if m.CurrentRoutes != 0 {
  2073  		i = encodeVarintTypes(dAtA, i, uint64(m.CurrentRoutes))
  2074  		i--
  2075  		dAtA[i] = 0x40
  2076  	}
  2077  	if m.MaxUes != 0 {
  2078  		i = encodeVarintTypes(dAtA, i, uint64(m.MaxUes))
  2079  		i--
  2080  		dAtA[i] = 0x38
  2081  	}
  2082  	if m.MinUes != 0 {
  2083  		i = encodeVarintTypes(dAtA, i, uint64(m.MinUes))
  2084  		i--
  2085  		dAtA[i] = 0x30
  2086  	}
  2087  	if m.ShowPower {
  2088  		i--
  2089  		if m.ShowPower {
  2090  			dAtA[i] = 1
  2091  		} else {
  2092  			dAtA[i] = 0
  2093  		}
  2094  		i--
  2095  		dAtA[i] = 0x28
  2096  	}
  2097  	if m.ShowRoutes {
  2098  		i--
  2099  		if m.ShowRoutes {
  2100  			dAtA[i] = 1
  2101  		} else {
  2102  			dAtA[i] = 0
  2103  		}
  2104  		i--
  2105  		dAtA[i] = 0x20
  2106  	}
  2107  	if m.Fade {
  2108  		i--
  2109  		if m.Fade {
  2110  			dAtA[i] = 1
  2111  		} else {
  2112  			dAtA[i] = 0
  2113  		}
  2114  		i--
  2115  		dAtA[i] = 0x18
  2116  	}
  2117  	if m.Zoom != 0 {
  2118  		i -= 4
  2119  		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Zoom))))
  2120  		i--
  2121  		dAtA[i] = 0x15
  2122  	}
  2123  	if m.Center != nil {
  2124  		{
  2125  			size, err := m.Center.MarshalToSizedBuffer(dAtA[:i])
  2126  			if err != nil {
  2127  				return 0, err
  2128  			}
  2129  			i -= size
  2130  			i = encodeVarintTypes(dAtA, i, uint64(size))
  2131  		}
  2132  		i--
  2133  		dAtA[i] = 0xa
  2134  	}
  2135  	return len(dAtA) - i, nil
  2136  }
  2137  
  2138  func encodeVarintTypes(dAtA []byte, offset int, v uint64) int {
  2139  	offset -= sovTypes(v)
  2140  	base := offset
  2141  	for v >= 1<<7 {
  2142  		dAtA[offset] = uint8(v&0x7f | 0x80)
  2143  		v >>= 7
  2144  		offset++
  2145  	}
  2146  	dAtA[offset] = uint8(v)
  2147  	return base
  2148  }
  2149  func (m *Point) Size() (n int) {
  2150  	if m == nil {
  2151  		return 0
  2152  	}
  2153  	var l int
  2154  	_ = l
  2155  	if m.Lat != 0 {
  2156  		n += 9
  2157  	}
  2158  	if m.Lng != 0 {
  2159  		n += 9
  2160  	}
  2161  	return n
  2162  }
  2163  
  2164  func (m *Sector) Size() (n int) {
  2165  	if m == nil {
  2166  		return 0
  2167  	}
  2168  	var l int
  2169  	_ = l
  2170  	if m.Azimuth != 0 {
  2171  		n += 1 + sovTypes(uint64(m.Azimuth))
  2172  	}
  2173  	if m.Arc != 0 {
  2174  		n += 1 + sovTypes(uint64(m.Arc))
  2175  	}
  2176  	if m.Centroid != nil {
  2177  		l = m.Centroid.Size()
  2178  		n += 1 + l + sovTypes(uint64(l))
  2179  	}
  2180  	if m.Height != 0 {
  2181  		n += 1 + sovTypes(uint64(m.Height))
  2182  	}
  2183  	if m.Tilt != 0 {
  2184  		n += 1 + sovTypes(uint64(m.Tilt))
  2185  	}
  2186  	return n
  2187  }
  2188  
  2189  func (m *Route) Size() (n int) {
  2190  	if m == nil {
  2191  		return 0
  2192  	}
  2193  	var l int
  2194  	_ = l
  2195  	if m.RouteID != 0 {
  2196  		n += 1 + sovTypes(uint64(m.RouteID))
  2197  	}
  2198  	if len(m.Waypoints) > 0 {
  2199  		for _, e := range m.Waypoints {
  2200  			l = e.Size()
  2201  			n += 1 + l + sovTypes(uint64(l))
  2202  		}
  2203  	}
  2204  	l = len(m.Color)
  2205  	if l > 0 {
  2206  		n += 1 + l + sovTypes(uint64(l))
  2207  	}
  2208  	if m.SpeedAvg != 0 {
  2209  		n += 1 + sovTypes(uint64(m.SpeedAvg))
  2210  	}
  2211  	if m.SpeedStdev != 0 {
  2212  		n += 1 + sovTypes(uint64(m.SpeedStdev))
  2213  	}
  2214  	if m.Reverse {
  2215  		n += 2
  2216  	}
  2217  	if m.NextPoint != 0 {
  2218  		n += 1 + sovTypes(uint64(m.NextPoint))
  2219  	}
  2220  	return n
  2221  }
  2222  
  2223  func (m *Ue) Size() (n int) {
  2224  	if m == nil {
  2225  		return 0
  2226  	}
  2227  	var l int
  2228  	_ = l
  2229  	if m.IMSI != 0 {
  2230  		n += 1 + sovTypes(uint64(m.IMSI))
  2231  	}
  2232  	l = len(m.Type)
  2233  	if l > 0 {
  2234  		n += 1 + l + sovTypes(uint64(l))
  2235  	}
  2236  	if m.Position != nil {
  2237  		l = m.Position.Size()
  2238  		n += 1 + l + sovTypes(uint64(l))
  2239  	}
  2240  	if m.Rotation != 0 {
  2241  		n += 1 + sovTypes(uint64(m.Rotation))
  2242  	}
  2243  	if m.ServingTower != 0 {
  2244  		n += 1 + sovTypes(uint64(m.ServingTower))
  2245  	}
  2246  	if m.ServingTowerStrength != 0 {
  2247  		n += 9
  2248  	}
  2249  	if m.Tower1 != 0 {
  2250  		n += 1 + sovTypes(uint64(m.Tower1))
  2251  	}
  2252  	if m.Tower1Strength != 0 {
  2253  		n += 9
  2254  	}
  2255  	if m.Tower2 != 0 {
  2256  		n += 1 + sovTypes(uint64(m.Tower2))
  2257  	}
  2258  	if m.Tower2Strength != 0 {
  2259  		n += 9
  2260  	}
  2261  	if m.Tower3 != 0 {
  2262  		n += 1 + sovTypes(uint64(m.Tower3))
  2263  	}
  2264  	if m.Tower3Strength != 0 {
  2265  		n += 9
  2266  	}
  2267  	if m.CRNTI != 0 {
  2268  		n += 1 + sovTypes(uint64(m.CRNTI))
  2269  	}
  2270  	if m.Admitted {
  2271  		n += 3
  2272  	}
  2273  	if m.Metrics != nil {
  2274  		l = m.Metrics.Size()
  2275  		n += 2 + l + sovTypes(uint64(l))
  2276  	}
  2277  	if m.RrcState != 0 {
  2278  		n += 2 + sovTypes(uint64(m.RrcState))
  2279  	}
  2280  	if m.FiveQi != 0 {
  2281  		n += 2 + sovTypes(uint64(m.FiveQi))
  2282  	}
  2283  	if m.Ueid != nil {
  2284  		l = m.Ueid.Size()
  2285  		n += 2 + l + sovTypes(uint64(l))
  2286  	}
  2287  	return n
  2288  }
  2289  
  2290  func (m *UeIdentity) Size() (n int) {
  2291  	if m == nil {
  2292  		return 0
  2293  	}
  2294  	var l int
  2295  	_ = l
  2296  	if m.Guami != nil {
  2297  		l = m.Guami.Size()
  2298  		n += 1 + l + sovTypes(uint64(l))
  2299  	}
  2300  	if m.AmfUeNgapId != 0 {
  2301  		n += 1 + sovTypes(uint64(m.AmfUeNgapId))
  2302  	}
  2303  	return n
  2304  }
  2305  
  2306  func (m *Guami) Size() (n int) {
  2307  	if m == nil {
  2308  		return 0
  2309  	}
  2310  	var l int
  2311  	_ = l
  2312  	if m.Plmnid != 0 {
  2313  		n += 1 + sovTypes(uint64(m.Plmnid))
  2314  	}
  2315  	if m.AmfRegionId != 0 {
  2316  		n += 1 + sovTypes(uint64(m.AmfRegionId))
  2317  	}
  2318  	if m.AmfSetId != 0 {
  2319  		n += 1 + sovTypes(uint64(m.AmfSetId))
  2320  	}
  2321  	if m.AmfPointer != 0 {
  2322  		n += 1 + sovTypes(uint64(m.AmfPointer))
  2323  	}
  2324  	return n
  2325  }
  2326  
  2327  func (m *UeMetrics) Size() (n int) {
  2328  	if m == nil {
  2329  		return 0
  2330  	}
  2331  	var l int
  2332  	_ = l
  2333  	if m.HoLatency != 0 {
  2334  		n += 1 + sovTypes(uint64(m.HoLatency))
  2335  	}
  2336  	if m.HoReportTimestamp != 0 {
  2337  		n += 1 + sovTypes(uint64(m.HoReportTimestamp))
  2338  	}
  2339  	if m.IsFirst {
  2340  		n += 2
  2341  	}
  2342  	return n
  2343  }
  2344  
  2345  func (m *Cell) Size() (n int) {
  2346  	if m == nil {
  2347  		return 0
  2348  	}
  2349  	var l int
  2350  	_ = l
  2351  	if m.NCGI != 0 {
  2352  		n += 1 + sovTypes(uint64(m.NCGI))
  2353  	}
  2354  	if m.Location != nil {
  2355  		l = m.Location.Size()
  2356  		n += 1 + l + sovTypes(uint64(l))
  2357  	}
  2358  	if m.Sector != nil {
  2359  		l = m.Sector.Size()
  2360  		n += 1 + l + sovTypes(uint64(l))
  2361  	}
  2362  	l = len(m.Color)
  2363  	if l > 0 {
  2364  		n += 1 + l + sovTypes(uint64(l))
  2365  	}
  2366  	if m.MaxUEs != 0 {
  2367  		n += 1 + sovTypes(uint64(m.MaxUEs))
  2368  	}
  2369  	if len(m.Neighbors) > 0 {
  2370  		l = 0
  2371  		for _, e := range m.Neighbors {
  2372  			l += sovTypes(uint64(e))
  2373  		}
  2374  		n += 1 + sovTypes(uint64(l)) + l
  2375  	}
  2376  	if m.TxPowerdB != 0 {
  2377  		n += 9
  2378  	}
  2379  	if m.MeasurementParams != nil {
  2380  		l = m.MeasurementParams.Size()
  2381  		n += 1 + l + sovTypes(uint64(l))
  2382  	}
  2383  	if len(m.CrntiMap) > 0 {
  2384  		for k, v := range m.CrntiMap {
  2385  			_ = k
  2386  			_ = v
  2387  			mapEntrySize := 1 + sovTypes(uint64(k)) + 1 + sovTypes(uint64(v))
  2388  			n += mapEntrySize + 1 + sovTypes(uint64(mapEntrySize))
  2389  		}
  2390  	}
  2391  	if m.CrntiIndex != 0 {
  2392  		n += 1 + sovTypes(uint64(m.CrntiIndex))
  2393  	}
  2394  	if m.Port != 0 {
  2395  		n += 1 + sovTypes(uint64(m.Port))
  2396  	}
  2397  	if m.Pci != 0 {
  2398  		n += 1 + sovTypes(uint64(m.Pci))
  2399  	}
  2400  	if m.Earfcn != 0 {
  2401  		n += 1 + sovTypes(uint64(m.Earfcn))
  2402  	}
  2403  	if m.CellType != 0 {
  2404  		n += 1 + sovTypes(uint64(m.CellType))
  2405  	}
  2406  	if m.RrcIdleCount != 0 {
  2407  		n += 2 + sovTypes(uint64(m.RrcIdleCount))
  2408  	}
  2409  	if m.RrcConnectedCount != 0 {
  2410  		n += 2 + sovTypes(uint64(m.RrcConnectedCount))
  2411  	}
  2412  	return n
  2413  }
  2414  
  2415  func (m *MeasurementParams) Size() (n int) {
  2416  	if m == nil {
  2417  		return 0
  2418  	}
  2419  	var l int
  2420  	_ = l
  2421  	if m.TimeToTrigger != 0 {
  2422  		n += 1 + sovTypes(uint64(m.TimeToTrigger))
  2423  	}
  2424  	if m.FrequencyOffset != 0 {
  2425  		n += 1 + sovTypes(uint64(m.FrequencyOffset))
  2426  	}
  2427  	if m.PcellIndividualOffset != 0 {
  2428  		n += 1 + sovTypes(uint64(m.PcellIndividualOffset))
  2429  	}
  2430  	if len(m.NcellIndividualOffsets) > 0 {
  2431  		for k, v := range m.NcellIndividualOffsets {
  2432  			_ = k
  2433  			_ = v
  2434  			mapEntrySize := 1 + sovTypes(uint64(k)) + 1 + sovTypes(uint64(v))
  2435  			n += mapEntrySize + 1 + sovTypes(uint64(mapEntrySize))
  2436  		}
  2437  	}
  2438  	if m.Hysteresis != 0 {
  2439  		n += 1 + sovTypes(uint64(m.Hysteresis))
  2440  	}
  2441  	if m.EventA3Params != nil {
  2442  		l = m.EventA3Params.Size()
  2443  		n += 1 + l + sovTypes(uint64(l))
  2444  	}
  2445  	return n
  2446  }
  2447  
  2448  func (m *EventA3Params) Size() (n int) {
  2449  	if m == nil {
  2450  		return 0
  2451  	}
  2452  	var l int
  2453  	_ = l
  2454  	if m.A3Offset != 0 {
  2455  		n += 1 + sovTypes(uint64(m.A3Offset))
  2456  	}
  2457  	if m.ReportOnLeave {
  2458  		n += 2
  2459  	}
  2460  	return n
  2461  }
  2462  
  2463  func (m *Node) Size() (n int) {
  2464  	if m == nil {
  2465  		return 0
  2466  	}
  2467  	var l int
  2468  	_ = l
  2469  	if m.GnbID != 0 {
  2470  		n += 1 + sovTypes(uint64(m.GnbID))
  2471  	}
  2472  	if len(m.Controllers) > 0 {
  2473  		for _, s := range m.Controllers {
  2474  			l = len(s)
  2475  			n += 1 + l + sovTypes(uint64(l))
  2476  		}
  2477  	}
  2478  	if len(m.ServiceModels) > 0 {
  2479  		for _, s := range m.ServiceModels {
  2480  			l = len(s)
  2481  			n += 1 + l + sovTypes(uint64(l))
  2482  		}
  2483  	}
  2484  	if len(m.CellNCGIs) > 0 {
  2485  		l = 0
  2486  		for _, e := range m.CellNCGIs {
  2487  			l += sovTypes(uint64(e))
  2488  		}
  2489  		n += 1 + sovTypes(uint64(l)) + l
  2490  	}
  2491  	l = len(m.Status)
  2492  	if l > 0 {
  2493  		n += 1 + l + sovTypes(uint64(l))
  2494  	}
  2495  	return n
  2496  }
  2497  
  2498  func (m *MapLayout) Size() (n int) {
  2499  	if m == nil {
  2500  		return 0
  2501  	}
  2502  	var l int
  2503  	_ = l
  2504  	if m.Center != nil {
  2505  		l = m.Center.Size()
  2506  		n += 1 + l + sovTypes(uint64(l))
  2507  	}
  2508  	if m.Zoom != 0 {
  2509  		n += 5
  2510  	}
  2511  	if m.Fade {
  2512  		n += 2
  2513  	}
  2514  	if m.ShowRoutes {
  2515  		n += 2
  2516  	}
  2517  	if m.ShowPower {
  2518  		n += 2
  2519  	}
  2520  	if m.MinUes != 0 {
  2521  		n += 1 + sovTypes(uint64(m.MinUes))
  2522  	}
  2523  	if m.MaxUes != 0 {
  2524  		n += 1 + sovTypes(uint64(m.MaxUes))
  2525  	}
  2526  	if m.CurrentRoutes != 0 {
  2527  		n += 1 + sovTypes(uint64(m.CurrentRoutes))
  2528  	}
  2529  	if m.LocationsScale != 0 {
  2530  		n += 5
  2531  	}
  2532  	return n
  2533  }
  2534  
  2535  func sovTypes(x uint64) (n int) {
  2536  	return (math_bits.Len64(x|1) + 6) / 7
  2537  }
  2538  func sozTypes(x uint64) (n int) {
  2539  	return sovTypes(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  2540  }
  2541  func (m *Point) Unmarshal(dAtA []byte) error {
  2542  	l := len(dAtA)
  2543  	iNdEx := 0
  2544  	for iNdEx < l {
  2545  		preIndex := iNdEx
  2546  		var wire uint64
  2547  		for shift := uint(0); ; shift += 7 {
  2548  			if shift >= 64 {
  2549  				return ErrIntOverflowTypes
  2550  			}
  2551  			if iNdEx >= l {
  2552  				return io.ErrUnexpectedEOF
  2553  			}
  2554  			b := dAtA[iNdEx]
  2555  			iNdEx++
  2556  			wire |= uint64(b&0x7F) << shift
  2557  			if b < 0x80 {
  2558  				break
  2559  			}
  2560  		}
  2561  		fieldNum := int32(wire >> 3)
  2562  		wireType := int(wire & 0x7)
  2563  		if wireType == 4 {
  2564  			return fmt.Errorf("proto: Point: wiretype end group for non-group")
  2565  		}
  2566  		if fieldNum <= 0 {
  2567  			return fmt.Errorf("proto: Point: illegal tag %d (wire type %d)", fieldNum, wire)
  2568  		}
  2569  		switch fieldNum {
  2570  		case 1:
  2571  			if wireType != 1 {
  2572  				return fmt.Errorf("proto: wrong wireType = %d for field Lat", wireType)
  2573  			}
  2574  			var v uint64
  2575  			if (iNdEx + 8) > l {
  2576  				return io.ErrUnexpectedEOF
  2577  			}
  2578  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2579  			iNdEx += 8
  2580  			m.Lat = float64(math.Float64frombits(v))
  2581  		case 2:
  2582  			if wireType != 1 {
  2583  				return fmt.Errorf("proto: wrong wireType = %d for field Lng", wireType)
  2584  			}
  2585  			var v uint64
  2586  			if (iNdEx + 8) > l {
  2587  				return io.ErrUnexpectedEOF
  2588  			}
  2589  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2590  			iNdEx += 8
  2591  			m.Lng = float64(math.Float64frombits(v))
  2592  		default:
  2593  			iNdEx = preIndex
  2594  			skippy, err := skipTypes(dAtA[iNdEx:])
  2595  			if err != nil {
  2596  				return err
  2597  			}
  2598  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2599  				return ErrInvalidLengthTypes
  2600  			}
  2601  			if (iNdEx + skippy) > l {
  2602  				return io.ErrUnexpectedEOF
  2603  			}
  2604  			iNdEx += skippy
  2605  		}
  2606  	}
  2607  
  2608  	if iNdEx > l {
  2609  		return io.ErrUnexpectedEOF
  2610  	}
  2611  	return nil
  2612  }
  2613  func (m *Sector) Unmarshal(dAtA []byte) error {
  2614  	l := len(dAtA)
  2615  	iNdEx := 0
  2616  	for iNdEx < l {
  2617  		preIndex := iNdEx
  2618  		var wire uint64
  2619  		for shift := uint(0); ; shift += 7 {
  2620  			if shift >= 64 {
  2621  				return ErrIntOverflowTypes
  2622  			}
  2623  			if iNdEx >= l {
  2624  				return io.ErrUnexpectedEOF
  2625  			}
  2626  			b := dAtA[iNdEx]
  2627  			iNdEx++
  2628  			wire |= uint64(b&0x7F) << shift
  2629  			if b < 0x80 {
  2630  				break
  2631  			}
  2632  		}
  2633  		fieldNum := int32(wire >> 3)
  2634  		wireType := int(wire & 0x7)
  2635  		if wireType == 4 {
  2636  			return fmt.Errorf("proto: Sector: wiretype end group for non-group")
  2637  		}
  2638  		if fieldNum <= 0 {
  2639  			return fmt.Errorf("proto: Sector: illegal tag %d (wire type %d)", fieldNum, wire)
  2640  		}
  2641  		switch fieldNum {
  2642  		case 1:
  2643  			if wireType != 0 {
  2644  				return fmt.Errorf("proto: wrong wireType = %d for field Azimuth", wireType)
  2645  			}
  2646  			m.Azimuth = 0
  2647  			for shift := uint(0); ; shift += 7 {
  2648  				if shift >= 64 {
  2649  					return ErrIntOverflowTypes
  2650  				}
  2651  				if iNdEx >= l {
  2652  					return io.ErrUnexpectedEOF
  2653  				}
  2654  				b := dAtA[iNdEx]
  2655  				iNdEx++
  2656  				m.Azimuth |= int32(b&0x7F) << shift
  2657  				if b < 0x80 {
  2658  					break
  2659  				}
  2660  			}
  2661  		case 2:
  2662  			if wireType != 0 {
  2663  				return fmt.Errorf("proto: wrong wireType = %d for field Arc", wireType)
  2664  			}
  2665  			m.Arc = 0
  2666  			for shift := uint(0); ; shift += 7 {
  2667  				if shift >= 64 {
  2668  					return ErrIntOverflowTypes
  2669  				}
  2670  				if iNdEx >= l {
  2671  					return io.ErrUnexpectedEOF
  2672  				}
  2673  				b := dAtA[iNdEx]
  2674  				iNdEx++
  2675  				m.Arc |= int32(b&0x7F) << shift
  2676  				if b < 0x80 {
  2677  					break
  2678  				}
  2679  			}
  2680  		case 3:
  2681  			if wireType != 2 {
  2682  				return fmt.Errorf("proto: wrong wireType = %d for field Centroid", wireType)
  2683  			}
  2684  			var msglen int
  2685  			for shift := uint(0); ; shift += 7 {
  2686  				if shift >= 64 {
  2687  					return ErrIntOverflowTypes
  2688  				}
  2689  				if iNdEx >= l {
  2690  					return io.ErrUnexpectedEOF
  2691  				}
  2692  				b := dAtA[iNdEx]
  2693  				iNdEx++
  2694  				msglen |= int(b&0x7F) << shift
  2695  				if b < 0x80 {
  2696  					break
  2697  				}
  2698  			}
  2699  			if msglen < 0 {
  2700  				return ErrInvalidLengthTypes
  2701  			}
  2702  			postIndex := iNdEx + msglen
  2703  			if postIndex < 0 {
  2704  				return ErrInvalidLengthTypes
  2705  			}
  2706  			if postIndex > l {
  2707  				return io.ErrUnexpectedEOF
  2708  			}
  2709  			if m.Centroid == nil {
  2710  				m.Centroid = &Point{}
  2711  			}
  2712  			if err := m.Centroid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2713  				return err
  2714  			}
  2715  			iNdEx = postIndex
  2716  		case 4:
  2717  			if wireType != 0 {
  2718  				return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  2719  			}
  2720  			m.Height = 0
  2721  			for shift := uint(0); ; shift += 7 {
  2722  				if shift >= 64 {
  2723  					return ErrIntOverflowTypes
  2724  				}
  2725  				if iNdEx >= l {
  2726  					return io.ErrUnexpectedEOF
  2727  				}
  2728  				b := dAtA[iNdEx]
  2729  				iNdEx++
  2730  				m.Height |= int32(b&0x7F) << shift
  2731  				if b < 0x80 {
  2732  					break
  2733  				}
  2734  			}
  2735  		case 5:
  2736  			if wireType != 0 {
  2737  				return fmt.Errorf("proto: wrong wireType = %d for field Tilt", wireType)
  2738  			}
  2739  			m.Tilt = 0
  2740  			for shift := uint(0); ; shift += 7 {
  2741  				if shift >= 64 {
  2742  					return ErrIntOverflowTypes
  2743  				}
  2744  				if iNdEx >= l {
  2745  					return io.ErrUnexpectedEOF
  2746  				}
  2747  				b := dAtA[iNdEx]
  2748  				iNdEx++
  2749  				m.Tilt |= int32(b&0x7F) << shift
  2750  				if b < 0x80 {
  2751  					break
  2752  				}
  2753  			}
  2754  		default:
  2755  			iNdEx = preIndex
  2756  			skippy, err := skipTypes(dAtA[iNdEx:])
  2757  			if err != nil {
  2758  				return err
  2759  			}
  2760  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2761  				return ErrInvalidLengthTypes
  2762  			}
  2763  			if (iNdEx + skippy) > l {
  2764  				return io.ErrUnexpectedEOF
  2765  			}
  2766  			iNdEx += skippy
  2767  		}
  2768  	}
  2769  
  2770  	if iNdEx > l {
  2771  		return io.ErrUnexpectedEOF
  2772  	}
  2773  	return nil
  2774  }
  2775  func (m *Route) Unmarshal(dAtA []byte) error {
  2776  	l := len(dAtA)
  2777  	iNdEx := 0
  2778  	for iNdEx < l {
  2779  		preIndex := iNdEx
  2780  		var wire uint64
  2781  		for shift := uint(0); ; shift += 7 {
  2782  			if shift >= 64 {
  2783  				return ErrIntOverflowTypes
  2784  			}
  2785  			if iNdEx >= l {
  2786  				return io.ErrUnexpectedEOF
  2787  			}
  2788  			b := dAtA[iNdEx]
  2789  			iNdEx++
  2790  			wire |= uint64(b&0x7F) << shift
  2791  			if b < 0x80 {
  2792  				break
  2793  			}
  2794  		}
  2795  		fieldNum := int32(wire >> 3)
  2796  		wireType := int(wire & 0x7)
  2797  		if wireType == 4 {
  2798  			return fmt.Errorf("proto: Route: wiretype end group for non-group")
  2799  		}
  2800  		if fieldNum <= 0 {
  2801  			return fmt.Errorf("proto: Route: illegal tag %d (wire type %d)", fieldNum, wire)
  2802  		}
  2803  		switch fieldNum {
  2804  		case 1:
  2805  			if wireType != 0 {
  2806  				return fmt.Errorf("proto: wrong wireType = %d for field RouteID", wireType)
  2807  			}
  2808  			m.RouteID = 0
  2809  			for shift := uint(0); ; shift += 7 {
  2810  				if shift >= 64 {
  2811  					return ErrIntOverflowTypes
  2812  				}
  2813  				if iNdEx >= l {
  2814  					return io.ErrUnexpectedEOF
  2815  				}
  2816  				b := dAtA[iNdEx]
  2817  				iNdEx++
  2818  				m.RouteID |= IMSI(b&0x7F) << shift
  2819  				if b < 0x80 {
  2820  					break
  2821  				}
  2822  			}
  2823  		case 2:
  2824  			if wireType != 2 {
  2825  				return fmt.Errorf("proto: wrong wireType = %d for field Waypoints", wireType)
  2826  			}
  2827  			var msglen int
  2828  			for shift := uint(0); ; shift += 7 {
  2829  				if shift >= 64 {
  2830  					return ErrIntOverflowTypes
  2831  				}
  2832  				if iNdEx >= l {
  2833  					return io.ErrUnexpectedEOF
  2834  				}
  2835  				b := dAtA[iNdEx]
  2836  				iNdEx++
  2837  				msglen |= int(b&0x7F) << shift
  2838  				if b < 0x80 {
  2839  					break
  2840  				}
  2841  			}
  2842  			if msglen < 0 {
  2843  				return ErrInvalidLengthTypes
  2844  			}
  2845  			postIndex := iNdEx + msglen
  2846  			if postIndex < 0 {
  2847  				return ErrInvalidLengthTypes
  2848  			}
  2849  			if postIndex > l {
  2850  				return io.ErrUnexpectedEOF
  2851  			}
  2852  			m.Waypoints = append(m.Waypoints, &Point{})
  2853  			if err := m.Waypoints[len(m.Waypoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2854  				return err
  2855  			}
  2856  			iNdEx = postIndex
  2857  		case 3:
  2858  			if wireType != 2 {
  2859  				return fmt.Errorf("proto: wrong wireType = %d for field Color", wireType)
  2860  			}
  2861  			var stringLen uint64
  2862  			for shift := uint(0); ; shift += 7 {
  2863  				if shift >= 64 {
  2864  					return ErrIntOverflowTypes
  2865  				}
  2866  				if iNdEx >= l {
  2867  					return io.ErrUnexpectedEOF
  2868  				}
  2869  				b := dAtA[iNdEx]
  2870  				iNdEx++
  2871  				stringLen |= uint64(b&0x7F) << shift
  2872  				if b < 0x80 {
  2873  					break
  2874  				}
  2875  			}
  2876  			intStringLen := int(stringLen)
  2877  			if intStringLen < 0 {
  2878  				return ErrInvalidLengthTypes
  2879  			}
  2880  			postIndex := iNdEx + intStringLen
  2881  			if postIndex < 0 {
  2882  				return ErrInvalidLengthTypes
  2883  			}
  2884  			if postIndex > l {
  2885  				return io.ErrUnexpectedEOF
  2886  			}
  2887  			m.Color = string(dAtA[iNdEx:postIndex])
  2888  			iNdEx = postIndex
  2889  		case 4:
  2890  			if wireType != 0 {
  2891  				return fmt.Errorf("proto: wrong wireType = %d for field SpeedAvg", wireType)
  2892  			}
  2893  			m.SpeedAvg = 0
  2894  			for shift := uint(0); ; shift += 7 {
  2895  				if shift >= 64 {
  2896  					return ErrIntOverflowTypes
  2897  				}
  2898  				if iNdEx >= l {
  2899  					return io.ErrUnexpectedEOF
  2900  				}
  2901  				b := dAtA[iNdEx]
  2902  				iNdEx++
  2903  				m.SpeedAvg |= uint32(b&0x7F) << shift
  2904  				if b < 0x80 {
  2905  					break
  2906  				}
  2907  			}
  2908  		case 5:
  2909  			if wireType != 0 {
  2910  				return fmt.Errorf("proto: wrong wireType = %d for field SpeedStdev", wireType)
  2911  			}
  2912  			m.SpeedStdev = 0
  2913  			for shift := uint(0); ; shift += 7 {
  2914  				if shift >= 64 {
  2915  					return ErrIntOverflowTypes
  2916  				}
  2917  				if iNdEx >= l {
  2918  					return io.ErrUnexpectedEOF
  2919  				}
  2920  				b := dAtA[iNdEx]
  2921  				iNdEx++
  2922  				m.SpeedStdev |= uint32(b&0x7F) << shift
  2923  				if b < 0x80 {
  2924  					break
  2925  				}
  2926  			}
  2927  		case 6:
  2928  			if wireType != 0 {
  2929  				return fmt.Errorf("proto: wrong wireType = %d for field Reverse", wireType)
  2930  			}
  2931  			var v int
  2932  			for shift := uint(0); ; shift += 7 {
  2933  				if shift >= 64 {
  2934  					return ErrIntOverflowTypes
  2935  				}
  2936  				if iNdEx >= l {
  2937  					return io.ErrUnexpectedEOF
  2938  				}
  2939  				b := dAtA[iNdEx]
  2940  				iNdEx++
  2941  				v |= int(b&0x7F) << shift
  2942  				if b < 0x80 {
  2943  					break
  2944  				}
  2945  			}
  2946  			m.Reverse = bool(v != 0)
  2947  		case 7:
  2948  			if wireType != 0 {
  2949  				return fmt.Errorf("proto: wrong wireType = %d for field NextPoint", wireType)
  2950  			}
  2951  			m.NextPoint = 0
  2952  			for shift := uint(0); ; shift += 7 {
  2953  				if shift >= 64 {
  2954  					return ErrIntOverflowTypes
  2955  				}
  2956  				if iNdEx >= l {
  2957  					return io.ErrUnexpectedEOF
  2958  				}
  2959  				b := dAtA[iNdEx]
  2960  				iNdEx++
  2961  				m.NextPoint |= uint32(b&0x7F) << shift
  2962  				if b < 0x80 {
  2963  					break
  2964  				}
  2965  			}
  2966  		default:
  2967  			iNdEx = preIndex
  2968  			skippy, err := skipTypes(dAtA[iNdEx:])
  2969  			if err != nil {
  2970  				return err
  2971  			}
  2972  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2973  				return ErrInvalidLengthTypes
  2974  			}
  2975  			if (iNdEx + skippy) > l {
  2976  				return io.ErrUnexpectedEOF
  2977  			}
  2978  			iNdEx += skippy
  2979  		}
  2980  	}
  2981  
  2982  	if iNdEx > l {
  2983  		return io.ErrUnexpectedEOF
  2984  	}
  2985  	return nil
  2986  }
  2987  func (m *Ue) Unmarshal(dAtA []byte) error {
  2988  	l := len(dAtA)
  2989  	iNdEx := 0
  2990  	for iNdEx < l {
  2991  		preIndex := iNdEx
  2992  		var wire uint64
  2993  		for shift := uint(0); ; shift += 7 {
  2994  			if shift >= 64 {
  2995  				return ErrIntOverflowTypes
  2996  			}
  2997  			if iNdEx >= l {
  2998  				return io.ErrUnexpectedEOF
  2999  			}
  3000  			b := dAtA[iNdEx]
  3001  			iNdEx++
  3002  			wire |= uint64(b&0x7F) << shift
  3003  			if b < 0x80 {
  3004  				break
  3005  			}
  3006  		}
  3007  		fieldNum := int32(wire >> 3)
  3008  		wireType := int(wire & 0x7)
  3009  		if wireType == 4 {
  3010  			return fmt.Errorf("proto: Ue: wiretype end group for non-group")
  3011  		}
  3012  		if fieldNum <= 0 {
  3013  			return fmt.Errorf("proto: Ue: illegal tag %d (wire type %d)", fieldNum, wire)
  3014  		}
  3015  		switch fieldNum {
  3016  		case 1:
  3017  			if wireType != 0 {
  3018  				return fmt.Errorf("proto: wrong wireType = %d for field IMSI", wireType)
  3019  			}
  3020  			m.IMSI = 0
  3021  			for shift := uint(0); ; shift += 7 {
  3022  				if shift >= 64 {
  3023  					return ErrIntOverflowTypes
  3024  				}
  3025  				if iNdEx >= l {
  3026  					return io.ErrUnexpectedEOF
  3027  				}
  3028  				b := dAtA[iNdEx]
  3029  				iNdEx++
  3030  				m.IMSI |= IMSI(b&0x7F) << shift
  3031  				if b < 0x80 {
  3032  					break
  3033  				}
  3034  			}
  3035  		case 2:
  3036  			if wireType != 2 {
  3037  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  3038  			}
  3039  			var stringLen uint64
  3040  			for shift := uint(0); ; shift += 7 {
  3041  				if shift >= 64 {
  3042  					return ErrIntOverflowTypes
  3043  				}
  3044  				if iNdEx >= l {
  3045  					return io.ErrUnexpectedEOF
  3046  				}
  3047  				b := dAtA[iNdEx]
  3048  				iNdEx++
  3049  				stringLen |= uint64(b&0x7F) << shift
  3050  				if b < 0x80 {
  3051  					break
  3052  				}
  3053  			}
  3054  			intStringLen := int(stringLen)
  3055  			if intStringLen < 0 {
  3056  				return ErrInvalidLengthTypes
  3057  			}
  3058  			postIndex := iNdEx + intStringLen
  3059  			if postIndex < 0 {
  3060  				return ErrInvalidLengthTypes
  3061  			}
  3062  			if postIndex > l {
  3063  				return io.ErrUnexpectedEOF
  3064  			}
  3065  			m.Type = string(dAtA[iNdEx:postIndex])
  3066  			iNdEx = postIndex
  3067  		case 4:
  3068  			if wireType != 2 {
  3069  				return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType)
  3070  			}
  3071  			var msglen int
  3072  			for shift := uint(0); ; shift += 7 {
  3073  				if shift >= 64 {
  3074  					return ErrIntOverflowTypes
  3075  				}
  3076  				if iNdEx >= l {
  3077  					return io.ErrUnexpectedEOF
  3078  				}
  3079  				b := dAtA[iNdEx]
  3080  				iNdEx++
  3081  				msglen |= int(b&0x7F) << shift
  3082  				if b < 0x80 {
  3083  					break
  3084  				}
  3085  			}
  3086  			if msglen < 0 {
  3087  				return ErrInvalidLengthTypes
  3088  			}
  3089  			postIndex := iNdEx + msglen
  3090  			if postIndex < 0 {
  3091  				return ErrInvalidLengthTypes
  3092  			}
  3093  			if postIndex > l {
  3094  				return io.ErrUnexpectedEOF
  3095  			}
  3096  			if m.Position == nil {
  3097  				m.Position = &Point{}
  3098  			}
  3099  			if err := m.Position.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3100  				return err
  3101  			}
  3102  			iNdEx = postIndex
  3103  		case 5:
  3104  			if wireType != 0 {
  3105  				return fmt.Errorf("proto: wrong wireType = %d for field Rotation", wireType)
  3106  			}
  3107  			m.Rotation = 0
  3108  			for shift := uint(0); ; shift += 7 {
  3109  				if shift >= 64 {
  3110  					return ErrIntOverflowTypes
  3111  				}
  3112  				if iNdEx >= l {
  3113  					return io.ErrUnexpectedEOF
  3114  				}
  3115  				b := dAtA[iNdEx]
  3116  				iNdEx++
  3117  				m.Rotation |= uint32(b&0x7F) << shift
  3118  				if b < 0x80 {
  3119  					break
  3120  				}
  3121  			}
  3122  		case 7:
  3123  			if wireType != 0 {
  3124  				return fmt.Errorf("proto: wrong wireType = %d for field ServingTower", wireType)
  3125  			}
  3126  			m.ServingTower = 0
  3127  			for shift := uint(0); ; shift += 7 {
  3128  				if shift >= 64 {
  3129  					return ErrIntOverflowTypes
  3130  				}
  3131  				if iNdEx >= l {
  3132  					return io.ErrUnexpectedEOF
  3133  				}
  3134  				b := dAtA[iNdEx]
  3135  				iNdEx++
  3136  				m.ServingTower |= NCGI(b&0x7F) << shift
  3137  				if b < 0x80 {
  3138  					break
  3139  				}
  3140  			}
  3141  		case 8:
  3142  			if wireType != 1 {
  3143  				return fmt.Errorf("proto: wrong wireType = %d for field ServingTowerStrength", wireType)
  3144  			}
  3145  			var v uint64
  3146  			if (iNdEx + 8) > l {
  3147  				return io.ErrUnexpectedEOF
  3148  			}
  3149  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  3150  			iNdEx += 8
  3151  			m.ServingTowerStrength = float64(math.Float64frombits(v))
  3152  		case 9:
  3153  			if wireType != 0 {
  3154  				return fmt.Errorf("proto: wrong wireType = %d for field Tower1", wireType)
  3155  			}
  3156  			m.Tower1 = 0
  3157  			for shift := uint(0); ; shift += 7 {
  3158  				if shift >= 64 {
  3159  					return ErrIntOverflowTypes
  3160  				}
  3161  				if iNdEx >= l {
  3162  					return io.ErrUnexpectedEOF
  3163  				}
  3164  				b := dAtA[iNdEx]
  3165  				iNdEx++
  3166  				m.Tower1 |= NCGI(b&0x7F) << shift
  3167  				if b < 0x80 {
  3168  					break
  3169  				}
  3170  			}
  3171  		case 10:
  3172  			if wireType != 1 {
  3173  				return fmt.Errorf("proto: wrong wireType = %d for field Tower1Strength", wireType)
  3174  			}
  3175  			var v uint64
  3176  			if (iNdEx + 8) > l {
  3177  				return io.ErrUnexpectedEOF
  3178  			}
  3179  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  3180  			iNdEx += 8
  3181  			m.Tower1Strength = float64(math.Float64frombits(v))
  3182  		case 11:
  3183  			if wireType != 0 {
  3184  				return fmt.Errorf("proto: wrong wireType = %d for field Tower2", wireType)
  3185  			}
  3186  			m.Tower2 = 0
  3187  			for shift := uint(0); ; shift += 7 {
  3188  				if shift >= 64 {
  3189  					return ErrIntOverflowTypes
  3190  				}
  3191  				if iNdEx >= l {
  3192  					return io.ErrUnexpectedEOF
  3193  				}
  3194  				b := dAtA[iNdEx]
  3195  				iNdEx++
  3196  				m.Tower2 |= NCGI(b&0x7F) << shift
  3197  				if b < 0x80 {
  3198  					break
  3199  				}
  3200  			}
  3201  		case 12:
  3202  			if wireType != 1 {
  3203  				return fmt.Errorf("proto: wrong wireType = %d for field Tower2Strength", wireType)
  3204  			}
  3205  			var v uint64
  3206  			if (iNdEx + 8) > l {
  3207  				return io.ErrUnexpectedEOF
  3208  			}
  3209  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  3210  			iNdEx += 8
  3211  			m.Tower2Strength = float64(math.Float64frombits(v))
  3212  		case 13:
  3213  			if wireType != 0 {
  3214  				return fmt.Errorf("proto: wrong wireType = %d for field Tower3", wireType)
  3215  			}
  3216  			m.Tower3 = 0
  3217  			for shift := uint(0); ; shift += 7 {
  3218  				if shift >= 64 {
  3219  					return ErrIntOverflowTypes
  3220  				}
  3221  				if iNdEx >= l {
  3222  					return io.ErrUnexpectedEOF
  3223  				}
  3224  				b := dAtA[iNdEx]
  3225  				iNdEx++
  3226  				m.Tower3 |= NCGI(b&0x7F) << shift
  3227  				if b < 0x80 {
  3228  					break
  3229  				}
  3230  			}
  3231  		case 14:
  3232  			if wireType != 1 {
  3233  				return fmt.Errorf("proto: wrong wireType = %d for field Tower3Strength", wireType)
  3234  			}
  3235  			var v uint64
  3236  			if (iNdEx + 8) > l {
  3237  				return io.ErrUnexpectedEOF
  3238  			}
  3239  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  3240  			iNdEx += 8
  3241  			m.Tower3Strength = float64(math.Float64frombits(v))
  3242  		case 15:
  3243  			if wireType != 0 {
  3244  				return fmt.Errorf("proto: wrong wireType = %d for field CRNTI", wireType)
  3245  			}
  3246  			m.CRNTI = 0
  3247  			for shift := uint(0); ; shift += 7 {
  3248  				if shift >= 64 {
  3249  					return ErrIntOverflowTypes
  3250  				}
  3251  				if iNdEx >= l {
  3252  					return io.ErrUnexpectedEOF
  3253  				}
  3254  				b := dAtA[iNdEx]
  3255  				iNdEx++
  3256  				m.CRNTI |= CRNTI(b&0x7F) << shift
  3257  				if b < 0x80 {
  3258  					break
  3259  				}
  3260  			}
  3261  		case 16:
  3262  			if wireType != 0 {
  3263  				return fmt.Errorf("proto: wrong wireType = %d for field Admitted", wireType)
  3264  			}
  3265  			var v int
  3266  			for shift := uint(0); ; shift += 7 {
  3267  				if shift >= 64 {
  3268  					return ErrIntOverflowTypes
  3269  				}
  3270  				if iNdEx >= l {
  3271  					return io.ErrUnexpectedEOF
  3272  				}
  3273  				b := dAtA[iNdEx]
  3274  				iNdEx++
  3275  				v |= int(b&0x7F) << shift
  3276  				if b < 0x80 {
  3277  					break
  3278  				}
  3279  			}
  3280  			m.Admitted = bool(v != 0)
  3281  		case 17:
  3282  			if wireType != 2 {
  3283  				return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType)
  3284  			}
  3285  			var msglen int
  3286  			for shift := uint(0); ; shift += 7 {
  3287  				if shift >= 64 {
  3288  					return ErrIntOverflowTypes
  3289  				}
  3290  				if iNdEx >= l {
  3291  					return io.ErrUnexpectedEOF
  3292  				}
  3293  				b := dAtA[iNdEx]
  3294  				iNdEx++
  3295  				msglen |= int(b&0x7F) << shift
  3296  				if b < 0x80 {
  3297  					break
  3298  				}
  3299  			}
  3300  			if msglen < 0 {
  3301  				return ErrInvalidLengthTypes
  3302  			}
  3303  			postIndex := iNdEx + msglen
  3304  			if postIndex < 0 {
  3305  				return ErrInvalidLengthTypes
  3306  			}
  3307  			if postIndex > l {
  3308  				return io.ErrUnexpectedEOF
  3309  			}
  3310  			if m.Metrics == nil {
  3311  				m.Metrics = &UeMetrics{}
  3312  			}
  3313  			if err := m.Metrics.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3314  				return err
  3315  			}
  3316  			iNdEx = postIndex
  3317  		case 18:
  3318  			if wireType != 0 {
  3319  				return fmt.Errorf("proto: wrong wireType = %d for field RrcState", wireType)
  3320  			}
  3321  			m.RrcState = 0
  3322  			for shift := uint(0); ; shift += 7 {
  3323  				if shift >= 64 {
  3324  					return ErrIntOverflowTypes
  3325  				}
  3326  				if iNdEx >= l {
  3327  					return io.ErrUnexpectedEOF
  3328  				}
  3329  				b := dAtA[iNdEx]
  3330  				iNdEx++
  3331  				m.RrcState |= uint32(b&0x7F) << shift
  3332  				if b < 0x80 {
  3333  					break
  3334  				}
  3335  			}
  3336  		case 19:
  3337  			if wireType != 0 {
  3338  				return fmt.Errorf("proto: wrong wireType = %d for field FiveQi", wireType)
  3339  			}
  3340  			m.FiveQi = 0
  3341  			for shift := uint(0); ; shift += 7 {
  3342  				if shift >= 64 {
  3343  					return ErrIntOverflowTypes
  3344  				}
  3345  				if iNdEx >= l {
  3346  					return io.ErrUnexpectedEOF
  3347  				}
  3348  				b := dAtA[iNdEx]
  3349  				iNdEx++
  3350  				m.FiveQi |= int32(b&0x7F) << shift
  3351  				if b < 0x80 {
  3352  					break
  3353  				}
  3354  			}
  3355  		case 20:
  3356  			if wireType != 2 {
  3357  				return fmt.Errorf("proto: wrong wireType = %d for field Ueid", wireType)
  3358  			}
  3359  			var msglen int
  3360  			for shift := uint(0); ; shift += 7 {
  3361  				if shift >= 64 {
  3362  					return ErrIntOverflowTypes
  3363  				}
  3364  				if iNdEx >= l {
  3365  					return io.ErrUnexpectedEOF
  3366  				}
  3367  				b := dAtA[iNdEx]
  3368  				iNdEx++
  3369  				msglen |= int(b&0x7F) << shift
  3370  				if b < 0x80 {
  3371  					break
  3372  				}
  3373  			}
  3374  			if msglen < 0 {
  3375  				return ErrInvalidLengthTypes
  3376  			}
  3377  			postIndex := iNdEx + msglen
  3378  			if postIndex < 0 {
  3379  				return ErrInvalidLengthTypes
  3380  			}
  3381  			if postIndex > l {
  3382  				return io.ErrUnexpectedEOF
  3383  			}
  3384  			if m.Ueid == nil {
  3385  				m.Ueid = &UeIdentity{}
  3386  			}
  3387  			if err := m.Ueid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3388  				return err
  3389  			}
  3390  			iNdEx = postIndex
  3391  		default:
  3392  			iNdEx = preIndex
  3393  			skippy, err := skipTypes(dAtA[iNdEx:])
  3394  			if err != nil {
  3395  				return err
  3396  			}
  3397  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3398  				return ErrInvalidLengthTypes
  3399  			}
  3400  			if (iNdEx + skippy) > l {
  3401  				return io.ErrUnexpectedEOF
  3402  			}
  3403  			iNdEx += skippy
  3404  		}
  3405  	}
  3406  
  3407  	if iNdEx > l {
  3408  		return io.ErrUnexpectedEOF
  3409  	}
  3410  	return nil
  3411  }
  3412  func (m *UeIdentity) Unmarshal(dAtA []byte) error {
  3413  	l := len(dAtA)
  3414  	iNdEx := 0
  3415  	for iNdEx < l {
  3416  		preIndex := iNdEx
  3417  		var wire uint64
  3418  		for shift := uint(0); ; shift += 7 {
  3419  			if shift >= 64 {
  3420  				return ErrIntOverflowTypes
  3421  			}
  3422  			if iNdEx >= l {
  3423  				return io.ErrUnexpectedEOF
  3424  			}
  3425  			b := dAtA[iNdEx]
  3426  			iNdEx++
  3427  			wire |= uint64(b&0x7F) << shift
  3428  			if b < 0x80 {
  3429  				break
  3430  			}
  3431  		}
  3432  		fieldNum := int32(wire >> 3)
  3433  		wireType := int(wire & 0x7)
  3434  		if wireType == 4 {
  3435  			return fmt.Errorf("proto: UeIdentity: wiretype end group for non-group")
  3436  		}
  3437  		if fieldNum <= 0 {
  3438  			return fmt.Errorf("proto: UeIdentity: illegal tag %d (wire type %d)", fieldNum, wire)
  3439  		}
  3440  		switch fieldNum {
  3441  		case 1:
  3442  			if wireType != 2 {
  3443  				return fmt.Errorf("proto: wrong wireType = %d for field Guami", wireType)
  3444  			}
  3445  			var msglen int
  3446  			for shift := uint(0); ; shift += 7 {
  3447  				if shift >= 64 {
  3448  					return ErrIntOverflowTypes
  3449  				}
  3450  				if iNdEx >= l {
  3451  					return io.ErrUnexpectedEOF
  3452  				}
  3453  				b := dAtA[iNdEx]
  3454  				iNdEx++
  3455  				msglen |= int(b&0x7F) << shift
  3456  				if b < 0x80 {
  3457  					break
  3458  				}
  3459  			}
  3460  			if msglen < 0 {
  3461  				return ErrInvalidLengthTypes
  3462  			}
  3463  			postIndex := iNdEx + msglen
  3464  			if postIndex < 0 {
  3465  				return ErrInvalidLengthTypes
  3466  			}
  3467  			if postIndex > l {
  3468  				return io.ErrUnexpectedEOF
  3469  			}
  3470  			if m.Guami == nil {
  3471  				m.Guami = &Guami{}
  3472  			}
  3473  			if err := m.Guami.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3474  				return err
  3475  			}
  3476  			iNdEx = postIndex
  3477  		case 2:
  3478  			if wireType != 0 {
  3479  				return fmt.Errorf("proto: wrong wireType = %d for field AmfUeNgapId", wireType)
  3480  			}
  3481  			m.AmfUeNgapId = 0
  3482  			for shift := uint(0); ; shift += 7 {
  3483  				if shift >= 64 {
  3484  					return ErrIntOverflowTypes
  3485  				}
  3486  				if iNdEx >= l {
  3487  					return io.ErrUnexpectedEOF
  3488  				}
  3489  				b := dAtA[iNdEx]
  3490  				iNdEx++
  3491  				m.AmfUeNgapId |= AmfUENgapID(b&0x7F) << shift
  3492  				if b < 0x80 {
  3493  					break
  3494  				}
  3495  			}
  3496  		default:
  3497  			iNdEx = preIndex
  3498  			skippy, err := skipTypes(dAtA[iNdEx:])
  3499  			if err != nil {
  3500  				return err
  3501  			}
  3502  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3503  				return ErrInvalidLengthTypes
  3504  			}
  3505  			if (iNdEx + skippy) > l {
  3506  				return io.ErrUnexpectedEOF
  3507  			}
  3508  			iNdEx += skippy
  3509  		}
  3510  	}
  3511  
  3512  	if iNdEx > l {
  3513  		return io.ErrUnexpectedEOF
  3514  	}
  3515  	return nil
  3516  }
  3517  func (m *Guami) Unmarshal(dAtA []byte) error {
  3518  	l := len(dAtA)
  3519  	iNdEx := 0
  3520  	for iNdEx < l {
  3521  		preIndex := iNdEx
  3522  		var wire uint64
  3523  		for shift := uint(0); ; shift += 7 {
  3524  			if shift >= 64 {
  3525  				return ErrIntOverflowTypes
  3526  			}
  3527  			if iNdEx >= l {
  3528  				return io.ErrUnexpectedEOF
  3529  			}
  3530  			b := dAtA[iNdEx]
  3531  			iNdEx++
  3532  			wire |= uint64(b&0x7F) << shift
  3533  			if b < 0x80 {
  3534  				break
  3535  			}
  3536  		}
  3537  		fieldNum := int32(wire >> 3)
  3538  		wireType := int(wire & 0x7)
  3539  		if wireType == 4 {
  3540  			return fmt.Errorf("proto: Guami: wiretype end group for non-group")
  3541  		}
  3542  		if fieldNum <= 0 {
  3543  			return fmt.Errorf("proto: Guami: illegal tag %d (wire type %d)", fieldNum, wire)
  3544  		}
  3545  		switch fieldNum {
  3546  		case 1:
  3547  			if wireType != 0 {
  3548  				return fmt.Errorf("proto: wrong wireType = %d for field Plmnid", wireType)
  3549  			}
  3550  			m.Plmnid = 0
  3551  			for shift := uint(0); ; shift += 7 {
  3552  				if shift >= 64 {
  3553  					return ErrIntOverflowTypes
  3554  				}
  3555  				if iNdEx >= l {
  3556  					return io.ErrUnexpectedEOF
  3557  				}
  3558  				b := dAtA[iNdEx]
  3559  				iNdEx++
  3560  				m.Plmnid |= uint32(b&0x7F) << shift
  3561  				if b < 0x80 {
  3562  					break
  3563  				}
  3564  			}
  3565  		case 2:
  3566  			if wireType != 0 {
  3567  				return fmt.Errorf("proto: wrong wireType = %d for field AmfRegionId", wireType)
  3568  			}
  3569  			m.AmfRegionId = 0
  3570  			for shift := uint(0); ; shift += 7 {
  3571  				if shift >= 64 {
  3572  					return ErrIntOverflowTypes
  3573  				}
  3574  				if iNdEx >= l {
  3575  					return io.ErrUnexpectedEOF
  3576  				}
  3577  				b := dAtA[iNdEx]
  3578  				iNdEx++
  3579  				m.AmfRegionId |= uint32(b&0x7F) << shift
  3580  				if b < 0x80 {
  3581  					break
  3582  				}
  3583  			}
  3584  		case 3:
  3585  			if wireType != 0 {
  3586  				return fmt.Errorf("proto: wrong wireType = %d for field AmfSetId", wireType)
  3587  			}
  3588  			m.AmfSetId = 0
  3589  			for shift := uint(0); ; shift += 7 {
  3590  				if shift >= 64 {
  3591  					return ErrIntOverflowTypes
  3592  				}
  3593  				if iNdEx >= l {
  3594  					return io.ErrUnexpectedEOF
  3595  				}
  3596  				b := dAtA[iNdEx]
  3597  				iNdEx++
  3598  				m.AmfSetId |= uint32(b&0x7F) << shift
  3599  				if b < 0x80 {
  3600  					break
  3601  				}
  3602  			}
  3603  		case 4:
  3604  			if wireType != 0 {
  3605  				return fmt.Errorf("proto: wrong wireType = %d for field AmfPointer", wireType)
  3606  			}
  3607  			m.AmfPointer = 0
  3608  			for shift := uint(0); ; shift += 7 {
  3609  				if shift >= 64 {
  3610  					return ErrIntOverflowTypes
  3611  				}
  3612  				if iNdEx >= l {
  3613  					return io.ErrUnexpectedEOF
  3614  				}
  3615  				b := dAtA[iNdEx]
  3616  				iNdEx++
  3617  				m.AmfPointer |= uint32(b&0x7F) << shift
  3618  				if b < 0x80 {
  3619  					break
  3620  				}
  3621  			}
  3622  		default:
  3623  			iNdEx = preIndex
  3624  			skippy, err := skipTypes(dAtA[iNdEx:])
  3625  			if err != nil {
  3626  				return err
  3627  			}
  3628  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3629  				return ErrInvalidLengthTypes
  3630  			}
  3631  			if (iNdEx + skippy) > l {
  3632  				return io.ErrUnexpectedEOF
  3633  			}
  3634  			iNdEx += skippy
  3635  		}
  3636  	}
  3637  
  3638  	if iNdEx > l {
  3639  		return io.ErrUnexpectedEOF
  3640  	}
  3641  	return nil
  3642  }
  3643  func (m *UeMetrics) Unmarshal(dAtA []byte) error {
  3644  	l := len(dAtA)
  3645  	iNdEx := 0
  3646  	for iNdEx < l {
  3647  		preIndex := iNdEx
  3648  		var wire uint64
  3649  		for shift := uint(0); ; shift += 7 {
  3650  			if shift >= 64 {
  3651  				return ErrIntOverflowTypes
  3652  			}
  3653  			if iNdEx >= l {
  3654  				return io.ErrUnexpectedEOF
  3655  			}
  3656  			b := dAtA[iNdEx]
  3657  			iNdEx++
  3658  			wire |= uint64(b&0x7F) << shift
  3659  			if b < 0x80 {
  3660  				break
  3661  			}
  3662  		}
  3663  		fieldNum := int32(wire >> 3)
  3664  		wireType := int(wire & 0x7)
  3665  		if wireType == 4 {
  3666  			return fmt.Errorf("proto: UeMetrics: wiretype end group for non-group")
  3667  		}
  3668  		if fieldNum <= 0 {
  3669  			return fmt.Errorf("proto: UeMetrics: illegal tag %d (wire type %d)", fieldNum, wire)
  3670  		}
  3671  		switch fieldNum {
  3672  		case 1:
  3673  			if wireType != 0 {
  3674  				return fmt.Errorf("proto: wrong wireType = %d for field HoLatency", wireType)
  3675  			}
  3676  			m.HoLatency = 0
  3677  			for shift := uint(0); ; shift += 7 {
  3678  				if shift >= 64 {
  3679  					return ErrIntOverflowTypes
  3680  				}
  3681  				if iNdEx >= l {
  3682  					return io.ErrUnexpectedEOF
  3683  				}
  3684  				b := dAtA[iNdEx]
  3685  				iNdEx++
  3686  				m.HoLatency |= int64(b&0x7F) << shift
  3687  				if b < 0x80 {
  3688  					break
  3689  				}
  3690  			}
  3691  		case 2:
  3692  			if wireType != 0 {
  3693  				return fmt.Errorf("proto: wrong wireType = %d for field HoReportTimestamp", wireType)
  3694  			}
  3695  			m.HoReportTimestamp = 0
  3696  			for shift := uint(0); ; shift += 7 {
  3697  				if shift >= 64 {
  3698  					return ErrIntOverflowTypes
  3699  				}
  3700  				if iNdEx >= l {
  3701  					return io.ErrUnexpectedEOF
  3702  				}
  3703  				b := dAtA[iNdEx]
  3704  				iNdEx++
  3705  				m.HoReportTimestamp |= int64(b&0x7F) << shift
  3706  				if b < 0x80 {
  3707  					break
  3708  				}
  3709  			}
  3710  		case 3:
  3711  			if wireType != 0 {
  3712  				return fmt.Errorf("proto: wrong wireType = %d for field IsFirst", wireType)
  3713  			}
  3714  			var v int
  3715  			for shift := uint(0); ; shift += 7 {
  3716  				if shift >= 64 {
  3717  					return ErrIntOverflowTypes
  3718  				}
  3719  				if iNdEx >= l {
  3720  					return io.ErrUnexpectedEOF
  3721  				}
  3722  				b := dAtA[iNdEx]
  3723  				iNdEx++
  3724  				v |= int(b&0x7F) << shift
  3725  				if b < 0x80 {
  3726  					break
  3727  				}
  3728  			}
  3729  			m.IsFirst = bool(v != 0)
  3730  		default:
  3731  			iNdEx = preIndex
  3732  			skippy, err := skipTypes(dAtA[iNdEx:])
  3733  			if err != nil {
  3734  				return err
  3735  			}
  3736  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3737  				return ErrInvalidLengthTypes
  3738  			}
  3739  			if (iNdEx + skippy) > l {
  3740  				return io.ErrUnexpectedEOF
  3741  			}
  3742  			iNdEx += skippy
  3743  		}
  3744  	}
  3745  
  3746  	if iNdEx > l {
  3747  		return io.ErrUnexpectedEOF
  3748  	}
  3749  	return nil
  3750  }
  3751  func (m *Cell) Unmarshal(dAtA []byte) error {
  3752  	l := len(dAtA)
  3753  	iNdEx := 0
  3754  	for iNdEx < l {
  3755  		preIndex := iNdEx
  3756  		var wire uint64
  3757  		for shift := uint(0); ; shift += 7 {
  3758  			if shift >= 64 {
  3759  				return ErrIntOverflowTypes
  3760  			}
  3761  			if iNdEx >= l {
  3762  				return io.ErrUnexpectedEOF
  3763  			}
  3764  			b := dAtA[iNdEx]
  3765  			iNdEx++
  3766  			wire |= uint64(b&0x7F) << shift
  3767  			if b < 0x80 {
  3768  				break
  3769  			}
  3770  		}
  3771  		fieldNum := int32(wire >> 3)
  3772  		wireType := int(wire & 0x7)
  3773  		if wireType == 4 {
  3774  			return fmt.Errorf("proto: Cell: wiretype end group for non-group")
  3775  		}
  3776  		if fieldNum <= 0 {
  3777  			return fmt.Errorf("proto: Cell: illegal tag %d (wire type %d)", fieldNum, wire)
  3778  		}
  3779  		switch fieldNum {
  3780  		case 1:
  3781  			if wireType != 0 {
  3782  				return fmt.Errorf("proto: wrong wireType = %d for field NCGI", wireType)
  3783  			}
  3784  			m.NCGI = 0
  3785  			for shift := uint(0); ; shift += 7 {
  3786  				if shift >= 64 {
  3787  					return ErrIntOverflowTypes
  3788  				}
  3789  				if iNdEx >= l {
  3790  					return io.ErrUnexpectedEOF
  3791  				}
  3792  				b := dAtA[iNdEx]
  3793  				iNdEx++
  3794  				m.NCGI |= NCGI(b&0x7F) << shift
  3795  				if b < 0x80 {
  3796  					break
  3797  				}
  3798  			}
  3799  		case 3:
  3800  			if wireType != 2 {
  3801  				return fmt.Errorf("proto: wrong wireType = %d for field Location", wireType)
  3802  			}
  3803  			var msglen int
  3804  			for shift := uint(0); ; shift += 7 {
  3805  				if shift >= 64 {
  3806  					return ErrIntOverflowTypes
  3807  				}
  3808  				if iNdEx >= l {
  3809  					return io.ErrUnexpectedEOF
  3810  				}
  3811  				b := dAtA[iNdEx]
  3812  				iNdEx++
  3813  				msglen |= int(b&0x7F) << shift
  3814  				if b < 0x80 {
  3815  					break
  3816  				}
  3817  			}
  3818  			if msglen < 0 {
  3819  				return ErrInvalidLengthTypes
  3820  			}
  3821  			postIndex := iNdEx + msglen
  3822  			if postIndex < 0 {
  3823  				return ErrInvalidLengthTypes
  3824  			}
  3825  			if postIndex > l {
  3826  				return io.ErrUnexpectedEOF
  3827  			}
  3828  			if m.Location == nil {
  3829  				m.Location = &Point{}
  3830  			}
  3831  			if err := m.Location.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3832  				return err
  3833  			}
  3834  			iNdEx = postIndex
  3835  		case 4:
  3836  			if wireType != 2 {
  3837  				return fmt.Errorf("proto: wrong wireType = %d for field Sector", wireType)
  3838  			}
  3839  			var msglen int
  3840  			for shift := uint(0); ; shift += 7 {
  3841  				if shift >= 64 {
  3842  					return ErrIntOverflowTypes
  3843  				}
  3844  				if iNdEx >= l {
  3845  					return io.ErrUnexpectedEOF
  3846  				}
  3847  				b := dAtA[iNdEx]
  3848  				iNdEx++
  3849  				msglen |= int(b&0x7F) << shift
  3850  				if b < 0x80 {
  3851  					break
  3852  				}
  3853  			}
  3854  			if msglen < 0 {
  3855  				return ErrInvalidLengthTypes
  3856  			}
  3857  			postIndex := iNdEx + msglen
  3858  			if postIndex < 0 {
  3859  				return ErrInvalidLengthTypes
  3860  			}
  3861  			if postIndex > l {
  3862  				return io.ErrUnexpectedEOF
  3863  			}
  3864  			if m.Sector == nil {
  3865  				m.Sector = &Sector{}
  3866  			}
  3867  			if err := m.Sector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3868  				return err
  3869  			}
  3870  			iNdEx = postIndex
  3871  		case 5:
  3872  			if wireType != 2 {
  3873  				return fmt.Errorf("proto: wrong wireType = %d for field Color", wireType)
  3874  			}
  3875  			var stringLen uint64
  3876  			for shift := uint(0); ; shift += 7 {
  3877  				if shift >= 64 {
  3878  					return ErrIntOverflowTypes
  3879  				}
  3880  				if iNdEx >= l {
  3881  					return io.ErrUnexpectedEOF
  3882  				}
  3883  				b := dAtA[iNdEx]
  3884  				iNdEx++
  3885  				stringLen |= uint64(b&0x7F) << shift
  3886  				if b < 0x80 {
  3887  					break
  3888  				}
  3889  			}
  3890  			intStringLen := int(stringLen)
  3891  			if intStringLen < 0 {
  3892  				return ErrInvalidLengthTypes
  3893  			}
  3894  			postIndex := iNdEx + intStringLen
  3895  			if postIndex < 0 {
  3896  				return ErrInvalidLengthTypes
  3897  			}
  3898  			if postIndex > l {
  3899  				return io.ErrUnexpectedEOF
  3900  			}
  3901  			m.Color = string(dAtA[iNdEx:postIndex])
  3902  			iNdEx = postIndex
  3903  		case 6:
  3904  			if wireType != 0 {
  3905  				return fmt.Errorf("proto: wrong wireType = %d for field MaxUEs", wireType)
  3906  			}
  3907  			m.MaxUEs = 0
  3908  			for shift := uint(0); ; shift += 7 {
  3909  				if shift >= 64 {
  3910  					return ErrIntOverflowTypes
  3911  				}
  3912  				if iNdEx >= l {
  3913  					return io.ErrUnexpectedEOF
  3914  				}
  3915  				b := dAtA[iNdEx]
  3916  				iNdEx++
  3917  				m.MaxUEs |= uint32(b&0x7F) << shift
  3918  				if b < 0x80 {
  3919  					break
  3920  				}
  3921  			}
  3922  		case 7:
  3923  			if wireType == 0 {
  3924  				var v NCGI
  3925  				for shift := uint(0); ; shift += 7 {
  3926  					if shift >= 64 {
  3927  						return ErrIntOverflowTypes
  3928  					}
  3929  					if iNdEx >= l {
  3930  						return io.ErrUnexpectedEOF
  3931  					}
  3932  					b := dAtA[iNdEx]
  3933  					iNdEx++
  3934  					v |= NCGI(b&0x7F) << shift
  3935  					if b < 0x80 {
  3936  						break
  3937  					}
  3938  				}
  3939  				m.Neighbors = append(m.Neighbors, v)
  3940  			} else if wireType == 2 {
  3941  				var packedLen int
  3942  				for shift := uint(0); ; shift += 7 {
  3943  					if shift >= 64 {
  3944  						return ErrIntOverflowTypes
  3945  					}
  3946  					if iNdEx >= l {
  3947  						return io.ErrUnexpectedEOF
  3948  					}
  3949  					b := dAtA[iNdEx]
  3950  					iNdEx++
  3951  					packedLen |= int(b&0x7F) << shift
  3952  					if b < 0x80 {
  3953  						break
  3954  					}
  3955  				}
  3956  				if packedLen < 0 {
  3957  					return ErrInvalidLengthTypes
  3958  				}
  3959  				postIndex := iNdEx + packedLen
  3960  				if postIndex < 0 {
  3961  					return ErrInvalidLengthTypes
  3962  				}
  3963  				if postIndex > l {
  3964  					return io.ErrUnexpectedEOF
  3965  				}
  3966  				var elementCount int
  3967  				var count int
  3968  				for _, integer := range dAtA[iNdEx:postIndex] {
  3969  					if integer < 128 {
  3970  						count++
  3971  					}
  3972  				}
  3973  				elementCount = count
  3974  				if elementCount != 0 && len(m.Neighbors) == 0 {
  3975  					m.Neighbors = make([]NCGI, 0, elementCount)
  3976  				}
  3977  				for iNdEx < postIndex {
  3978  					var v NCGI
  3979  					for shift := uint(0); ; shift += 7 {
  3980  						if shift >= 64 {
  3981  							return ErrIntOverflowTypes
  3982  						}
  3983  						if iNdEx >= l {
  3984  							return io.ErrUnexpectedEOF
  3985  						}
  3986  						b := dAtA[iNdEx]
  3987  						iNdEx++
  3988  						v |= NCGI(b&0x7F) << shift
  3989  						if b < 0x80 {
  3990  							break
  3991  						}
  3992  					}
  3993  					m.Neighbors = append(m.Neighbors, v)
  3994  				}
  3995  			} else {
  3996  				return fmt.Errorf("proto: wrong wireType = %d for field Neighbors", wireType)
  3997  			}
  3998  		case 8:
  3999  			if wireType != 1 {
  4000  				return fmt.Errorf("proto: wrong wireType = %d for field TxPowerdB", wireType)
  4001  			}
  4002  			var v uint64
  4003  			if (iNdEx + 8) > l {
  4004  				return io.ErrUnexpectedEOF
  4005  			}
  4006  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  4007  			iNdEx += 8
  4008  			m.TxPowerdB = float64(math.Float64frombits(v))
  4009  		case 9:
  4010  			if wireType != 2 {
  4011  				return fmt.Errorf("proto: wrong wireType = %d for field MeasurementParams", wireType)
  4012  			}
  4013  			var msglen int
  4014  			for shift := uint(0); ; shift += 7 {
  4015  				if shift >= 64 {
  4016  					return ErrIntOverflowTypes
  4017  				}
  4018  				if iNdEx >= l {
  4019  					return io.ErrUnexpectedEOF
  4020  				}
  4021  				b := dAtA[iNdEx]
  4022  				iNdEx++
  4023  				msglen |= int(b&0x7F) << shift
  4024  				if b < 0x80 {
  4025  					break
  4026  				}
  4027  			}
  4028  			if msglen < 0 {
  4029  				return ErrInvalidLengthTypes
  4030  			}
  4031  			postIndex := iNdEx + msglen
  4032  			if postIndex < 0 {
  4033  				return ErrInvalidLengthTypes
  4034  			}
  4035  			if postIndex > l {
  4036  				return io.ErrUnexpectedEOF
  4037  			}
  4038  			if m.MeasurementParams == nil {
  4039  				m.MeasurementParams = &MeasurementParams{}
  4040  			}
  4041  			if err := m.MeasurementParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4042  				return err
  4043  			}
  4044  			iNdEx = postIndex
  4045  		case 10:
  4046  			if wireType != 2 {
  4047  				return fmt.Errorf("proto: wrong wireType = %d for field CrntiMap", wireType)
  4048  			}
  4049  			var msglen int
  4050  			for shift := uint(0); ; shift += 7 {
  4051  				if shift >= 64 {
  4052  					return ErrIntOverflowTypes
  4053  				}
  4054  				if iNdEx >= l {
  4055  					return io.ErrUnexpectedEOF
  4056  				}
  4057  				b := dAtA[iNdEx]
  4058  				iNdEx++
  4059  				msglen |= int(b&0x7F) << shift
  4060  				if b < 0x80 {
  4061  					break
  4062  				}
  4063  			}
  4064  			if msglen < 0 {
  4065  				return ErrInvalidLengthTypes
  4066  			}
  4067  			postIndex := iNdEx + msglen
  4068  			if postIndex < 0 {
  4069  				return ErrInvalidLengthTypes
  4070  			}
  4071  			if postIndex > l {
  4072  				return io.ErrUnexpectedEOF
  4073  			}
  4074  			if m.CrntiMap == nil {
  4075  				m.CrntiMap = make(map[CRNTI]IMSI)
  4076  			}
  4077  			var mapkey uint32
  4078  			var mapvalue uint64
  4079  			for iNdEx < postIndex {
  4080  				entryPreIndex := iNdEx
  4081  				var wire uint64
  4082  				for shift := uint(0); ; shift += 7 {
  4083  					if shift >= 64 {
  4084  						return ErrIntOverflowTypes
  4085  					}
  4086  					if iNdEx >= l {
  4087  						return io.ErrUnexpectedEOF
  4088  					}
  4089  					b := dAtA[iNdEx]
  4090  					iNdEx++
  4091  					wire |= uint64(b&0x7F) << shift
  4092  					if b < 0x80 {
  4093  						break
  4094  					}
  4095  				}
  4096  				fieldNum := int32(wire >> 3)
  4097  				if fieldNum == 1 {
  4098  					for shift := uint(0); ; shift += 7 {
  4099  						if shift >= 64 {
  4100  							return ErrIntOverflowTypes
  4101  						}
  4102  						if iNdEx >= l {
  4103  							return io.ErrUnexpectedEOF
  4104  						}
  4105  						b := dAtA[iNdEx]
  4106  						iNdEx++
  4107  						mapkey |= uint32(b&0x7F) << shift
  4108  						if b < 0x80 {
  4109  							break
  4110  						}
  4111  					}
  4112  				} else if fieldNum == 2 {
  4113  					for shift := uint(0); ; shift += 7 {
  4114  						if shift >= 64 {
  4115  							return ErrIntOverflowTypes
  4116  						}
  4117  						if iNdEx >= l {
  4118  							return io.ErrUnexpectedEOF
  4119  						}
  4120  						b := dAtA[iNdEx]
  4121  						iNdEx++
  4122  						mapvalue |= uint64(b&0x7F) << shift
  4123  						if b < 0x80 {
  4124  							break
  4125  						}
  4126  					}
  4127  				} else {
  4128  					iNdEx = entryPreIndex
  4129  					skippy, err := skipTypes(dAtA[iNdEx:])
  4130  					if err != nil {
  4131  						return err
  4132  					}
  4133  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  4134  						return ErrInvalidLengthTypes
  4135  					}
  4136  					if (iNdEx + skippy) > postIndex {
  4137  						return io.ErrUnexpectedEOF
  4138  					}
  4139  					iNdEx += skippy
  4140  				}
  4141  			}
  4142  			m.CrntiMap[CRNTI(mapkey)] = ((IMSI)(mapvalue))
  4143  			iNdEx = postIndex
  4144  		case 11:
  4145  			if wireType != 0 {
  4146  				return fmt.Errorf("proto: wrong wireType = %d for field CrntiIndex", wireType)
  4147  			}
  4148  			m.CrntiIndex = 0
  4149  			for shift := uint(0); ; shift += 7 {
  4150  				if shift >= 64 {
  4151  					return ErrIntOverflowTypes
  4152  				}
  4153  				if iNdEx >= l {
  4154  					return io.ErrUnexpectedEOF
  4155  				}
  4156  				b := dAtA[iNdEx]
  4157  				iNdEx++
  4158  				m.CrntiIndex |= uint32(b&0x7F) << shift
  4159  				if b < 0x80 {
  4160  					break
  4161  				}
  4162  			}
  4163  		case 12:
  4164  			if wireType != 0 {
  4165  				return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
  4166  			}
  4167  			m.Port = 0
  4168  			for shift := uint(0); ; shift += 7 {
  4169  				if shift >= 64 {
  4170  					return ErrIntOverflowTypes
  4171  				}
  4172  				if iNdEx >= l {
  4173  					return io.ErrUnexpectedEOF
  4174  				}
  4175  				b := dAtA[iNdEx]
  4176  				iNdEx++
  4177  				m.Port |= uint32(b&0x7F) << shift
  4178  				if b < 0x80 {
  4179  					break
  4180  				}
  4181  			}
  4182  		case 13:
  4183  			if wireType != 0 {
  4184  				return fmt.Errorf("proto: wrong wireType = %d for field Pci", wireType)
  4185  			}
  4186  			m.Pci = 0
  4187  			for shift := uint(0); ; shift += 7 {
  4188  				if shift >= 64 {
  4189  					return ErrIntOverflowTypes
  4190  				}
  4191  				if iNdEx >= l {
  4192  					return io.ErrUnexpectedEOF
  4193  				}
  4194  				b := dAtA[iNdEx]
  4195  				iNdEx++
  4196  				m.Pci |= uint32(b&0x7F) << shift
  4197  				if b < 0x80 {
  4198  					break
  4199  				}
  4200  			}
  4201  		case 14:
  4202  			if wireType != 0 {
  4203  				return fmt.Errorf("proto: wrong wireType = %d for field Earfcn", wireType)
  4204  			}
  4205  			m.Earfcn = 0
  4206  			for shift := uint(0); ; shift += 7 {
  4207  				if shift >= 64 {
  4208  					return ErrIntOverflowTypes
  4209  				}
  4210  				if iNdEx >= l {
  4211  					return io.ErrUnexpectedEOF
  4212  				}
  4213  				b := dAtA[iNdEx]
  4214  				iNdEx++
  4215  				m.Earfcn |= uint32(b&0x7F) << shift
  4216  				if b < 0x80 {
  4217  					break
  4218  				}
  4219  			}
  4220  		case 15:
  4221  			if wireType != 0 {
  4222  				return fmt.Errorf("proto: wrong wireType = %d for field CellType", wireType)
  4223  			}
  4224  			m.CellType = 0
  4225  			for shift := uint(0); ; shift += 7 {
  4226  				if shift >= 64 {
  4227  					return ErrIntOverflowTypes
  4228  				}
  4229  				if iNdEx >= l {
  4230  					return io.ErrUnexpectedEOF
  4231  				}
  4232  				b := dAtA[iNdEx]
  4233  				iNdEx++
  4234  				m.CellType |= CellType(b&0x7F) << shift
  4235  				if b < 0x80 {
  4236  					break
  4237  				}
  4238  			}
  4239  		case 16:
  4240  			if wireType != 0 {
  4241  				return fmt.Errorf("proto: wrong wireType = %d for field RrcIdleCount", wireType)
  4242  			}
  4243  			m.RrcIdleCount = 0
  4244  			for shift := uint(0); ; shift += 7 {
  4245  				if shift >= 64 {
  4246  					return ErrIntOverflowTypes
  4247  				}
  4248  				if iNdEx >= l {
  4249  					return io.ErrUnexpectedEOF
  4250  				}
  4251  				b := dAtA[iNdEx]
  4252  				iNdEx++
  4253  				m.RrcIdleCount |= uint32(b&0x7F) << shift
  4254  				if b < 0x80 {
  4255  					break
  4256  				}
  4257  			}
  4258  		case 17:
  4259  			if wireType != 0 {
  4260  				return fmt.Errorf("proto: wrong wireType = %d for field RrcConnectedCount", wireType)
  4261  			}
  4262  			m.RrcConnectedCount = 0
  4263  			for shift := uint(0); ; shift += 7 {
  4264  				if shift >= 64 {
  4265  					return ErrIntOverflowTypes
  4266  				}
  4267  				if iNdEx >= l {
  4268  					return io.ErrUnexpectedEOF
  4269  				}
  4270  				b := dAtA[iNdEx]
  4271  				iNdEx++
  4272  				m.RrcConnectedCount |= uint32(b&0x7F) << shift
  4273  				if b < 0x80 {
  4274  					break
  4275  				}
  4276  			}
  4277  		default:
  4278  			iNdEx = preIndex
  4279  			skippy, err := skipTypes(dAtA[iNdEx:])
  4280  			if err != nil {
  4281  				return err
  4282  			}
  4283  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4284  				return ErrInvalidLengthTypes
  4285  			}
  4286  			if (iNdEx + skippy) > l {
  4287  				return io.ErrUnexpectedEOF
  4288  			}
  4289  			iNdEx += skippy
  4290  		}
  4291  	}
  4292  
  4293  	if iNdEx > l {
  4294  		return io.ErrUnexpectedEOF
  4295  	}
  4296  	return nil
  4297  }
  4298  func (m *MeasurementParams) Unmarshal(dAtA []byte) error {
  4299  	l := len(dAtA)
  4300  	iNdEx := 0
  4301  	for iNdEx < l {
  4302  		preIndex := iNdEx
  4303  		var wire uint64
  4304  		for shift := uint(0); ; shift += 7 {
  4305  			if shift >= 64 {
  4306  				return ErrIntOverflowTypes
  4307  			}
  4308  			if iNdEx >= l {
  4309  				return io.ErrUnexpectedEOF
  4310  			}
  4311  			b := dAtA[iNdEx]
  4312  			iNdEx++
  4313  			wire |= uint64(b&0x7F) << shift
  4314  			if b < 0x80 {
  4315  				break
  4316  			}
  4317  		}
  4318  		fieldNum := int32(wire >> 3)
  4319  		wireType := int(wire & 0x7)
  4320  		if wireType == 4 {
  4321  			return fmt.Errorf("proto: MeasurementParams: wiretype end group for non-group")
  4322  		}
  4323  		if fieldNum <= 0 {
  4324  			return fmt.Errorf("proto: MeasurementParams: illegal tag %d (wire type %d)", fieldNum, wire)
  4325  		}
  4326  		switch fieldNum {
  4327  		case 1:
  4328  			if wireType != 0 {
  4329  				return fmt.Errorf("proto: wrong wireType = %d for field TimeToTrigger", wireType)
  4330  			}
  4331  			m.TimeToTrigger = 0
  4332  			for shift := uint(0); ; shift += 7 {
  4333  				if shift >= 64 {
  4334  					return ErrIntOverflowTypes
  4335  				}
  4336  				if iNdEx >= l {
  4337  					return io.ErrUnexpectedEOF
  4338  				}
  4339  				b := dAtA[iNdEx]
  4340  				iNdEx++
  4341  				m.TimeToTrigger |= int32(b&0x7F) << shift
  4342  				if b < 0x80 {
  4343  					break
  4344  				}
  4345  			}
  4346  		case 2:
  4347  			if wireType != 0 {
  4348  				return fmt.Errorf("proto: wrong wireType = %d for field FrequencyOffset", wireType)
  4349  			}
  4350  			m.FrequencyOffset = 0
  4351  			for shift := uint(0); ; shift += 7 {
  4352  				if shift >= 64 {
  4353  					return ErrIntOverflowTypes
  4354  				}
  4355  				if iNdEx >= l {
  4356  					return io.ErrUnexpectedEOF
  4357  				}
  4358  				b := dAtA[iNdEx]
  4359  				iNdEx++
  4360  				m.FrequencyOffset |= int32(b&0x7F) << shift
  4361  				if b < 0x80 {
  4362  					break
  4363  				}
  4364  			}
  4365  		case 3:
  4366  			if wireType != 0 {
  4367  				return fmt.Errorf("proto: wrong wireType = %d for field PcellIndividualOffset", wireType)
  4368  			}
  4369  			m.PcellIndividualOffset = 0
  4370  			for shift := uint(0); ; shift += 7 {
  4371  				if shift >= 64 {
  4372  					return ErrIntOverflowTypes
  4373  				}
  4374  				if iNdEx >= l {
  4375  					return io.ErrUnexpectedEOF
  4376  				}
  4377  				b := dAtA[iNdEx]
  4378  				iNdEx++
  4379  				m.PcellIndividualOffset |= int32(b&0x7F) << shift
  4380  				if b < 0x80 {
  4381  					break
  4382  				}
  4383  			}
  4384  		case 4:
  4385  			if wireType != 2 {
  4386  				return fmt.Errorf("proto: wrong wireType = %d for field NcellIndividualOffsets", wireType)
  4387  			}
  4388  			var msglen int
  4389  			for shift := uint(0); ; shift += 7 {
  4390  				if shift >= 64 {
  4391  					return ErrIntOverflowTypes
  4392  				}
  4393  				if iNdEx >= l {
  4394  					return io.ErrUnexpectedEOF
  4395  				}
  4396  				b := dAtA[iNdEx]
  4397  				iNdEx++
  4398  				msglen |= int(b&0x7F) << shift
  4399  				if b < 0x80 {
  4400  					break
  4401  				}
  4402  			}
  4403  			if msglen < 0 {
  4404  				return ErrInvalidLengthTypes
  4405  			}
  4406  			postIndex := iNdEx + msglen
  4407  			if postIndex < 0 {
  4408  				return ErrInvalidLengthTypes
  4409  			}
  4410  			if postIndex > l {
  4411  				return io.ErrUnexpectedEOF
  4412  			}
  4413  			if m.NcellIndividualOffsets == nil {
  4414  				m.NcellIndividualOffsets = make(map[NCGI]int32)
  4415  			}
  4416  			var mapkey uint64
  4417  			var mapvalue int32
  4418  			for iNdEx < postIndex {
  4419  				entryPreIndex := iNdEx
  4420  				var wire uint64
  4421  				for shift := uint(0); ; shift += 7 {
  4422  					if shift >= 64 {
  4423  						return ErrIntOverflowTypes
  4424  					}
  4425  					if iNdEx >= l {
  4426  						return io.ErrUnexpectedEOF
  4427  					}
  4428  					b := dAtA[iNdEx]
  4429  					iNdEx++
  4430  					wire |= uint64(b&0x7F) << shift
  4431  					if b < 0x80 {
  4432  						break
  4433  					}
  4434  				}
  4435  				fieldNum := int32(wire >> 3)
  4436  				if fieldNum == 1 {
  4437  					for shift := uint(0); ; shift += 7 {
  4438  						if shift >= 64 {
  4439  							return ErrIntOverflowTypes
  4440  						}
  4441  						if iNdEx >= l {
  4442  							return io.ErrUnexpectedEOF
  4443  						}
  4444  						b := dAtA[iNdEx]
  4445  						iNdEx++
  4446  						mapkey |= uint64(b&0x7F) << shift
  4447  						if b < 0x80 {
  4448  							break
  4449  						}
  4450  					}
  4451  				} else if fieldNum == 2 {
  4452  					for shift := uint(0); ; shift += 7 {
  4453  						if shift >= 64 {
  4454  							return ErrIntOverflowTypes
  4455  						}
  4456  						if iNdEx >= l {
  4457  							return io.ErrUnexpectedEOF
  4458  						}
  4459  						b := dAtA[iNdEx]
  4460  						iNdEx++
  4461  						mapvalue |= int32(b&0x7F) << shift
  4462  						if b < 0x80 {
  4463  							break
  4464  						}
  4465  					}
  4466  				} else {
  4467  					iNdEx = entryPreIndex
  4468  					skippy, err := skipTypes(dAtA[iNdEx:])
  4469  					if err != nil {
  4470  						return err
  4471  					}
  4472  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  4473  						return ErrInvalidLengthTypes
  4474  					}
  4475  					if (iNdEx + skippy) > postIndex {
  4476  						return io.ErrUnexpectedEOF
  4477  					}
  4478  					iNdEx += skippy
  4479  				}
  4480  			}
  4481  			m.NcellIndividualOffsets[NCGI(mapkey)] = mapvalue
  4482  			iNdEx = postIndex
  4483  		case 5:
  4484  			if wireType != 0 {
  4485  				return fmt.Errorf("proto: wrong wireType = %d for field Hysteresis", wireType)
  4486  			}
  4487  			m.Hysteresis = 0
  4488  			for shift := uint(0); ; shift += 7 {
  4489  				if shift >= 64 {
  4490  					return ErrIntOverflowTypes
  4491  				}
  4492  				if iNdEx >= l {
  4493  					return io.ErrUnexpectedEOF
  4494  				}
  4495  				b := dAtA[iNdEx]
  4496  				iNdEx++
  4497  				m.Hysteresis |= int32(b&0x7F) << shift
  4498  				if b < 0x80 {
  4499  					break
  4500  				}
  4501  			}
  4502  		case 6:
  4503  			if wireType != 2 {
  4504  				return fmt.Errorf("proto: wrong wireType = %d for field EventA3Params", wireType)
  4505  			}
  4506  			var msglen int
  4507  			for shift := uint(0); ; shift += 7 {
  4508  				if shift >= 64 {
  4509  					return ErrIntOverflowTypes
  4510  				}
  4511  				if iNdEx >= l {
  4512  					return io.ErrUnexpectedEOF
  4513  				}
  4514  				b := dAtA[iNdEx]
  4515  				iNdEx++
  4516  				msglen |= int(b&0x7F) << shift
  4517  				if b < 0x80 {
  4518  					break
  4519  				}
  4520  			}
  4521  			if msglen < 0 {
  4522  				return ErrInvalidLengthTypes
  4523  			}
  4524  			postIndex := iNdEx + msglen
  4525  			if postIndex < 0 {
  4526  				return ErrInvalidLengthTypes
  4527  			}
  4528  			if postIndex > l {
  4529  				return io.ErrUnexpectedEOF
  4530  			}
  4531  			if m.EventA3Params == nil {
  4532  				m.EventA3Params = &EventA3Params{}
  4533  			}
  4534  			if err := m.EventA3Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4535  				return err
  4536  			}
  4537  			iNdEx = postIndex
  4538  		default:
  4539  			iNdEx = preIndex
  4540  			skippy, err := skipTypes(dAtA[iNdEx:])
  4541  			if err != nil {
  4542  				return err
  4543  			}
  4544  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4545  				return ErrInvalidLengthTypes
  4546  			}
  4547  			if (iNdEx + skippy) > l {
  4548  				return io.ErrUnexpectedEOF
  4549  			}
  4550  			iNdEx += skippy
  4551  		}
  4552  	}
  4553  
  4554  	if iNdEx > l {
  4555  		return io.ErrUnexpectedEOF
  4556  	}
  4557  	return nil
  4558  }
  4559  func (m *EventA3Params) Unmarshal(dAtA []byte) error {
  4560  	l := len(dAtA)
  4561  	iNdEx := 0
  4562  	for iNdEx < l {
  4563  		preIndex := iNdEx
  4564  		var wire uint64
  4565  		for shift := uint(0); ; shift += 7 {
  4566  			if shift >= 64 {
  4567  				return ErrIntOverflowTypes
  4568  			}
  4569  			if iNdEx >= l {
  4570  				return io.ErrUnexpectedEOF
  4571  			}
  4572  			b := dAtA[iNdEx]
  4573  			iNdEx++
  4574  			wire |= uint64(b&0x7F) << shift
  4575  			if b < 0x80 {
  4576  				break
  4577  			}
  4578  		}
  4579  		fieldNum := int32(wire >> 3)
  4580  		wireType := int(wire & 0x7)
  4581  		if wireType == 4 {
  4582  			return fmt.Errorf("proto: EventA3Params: wiretype end group for non-group")
  4583  		}
  4584  		if fieldNum <= 0 {
  4585  			return fmt.Errorf("proto: EventA3Params: illegal tag %d (wire type %d)", fieldNum, wire)
  4586  		}
  4587  		switch fieldNum {
  4588  		case 1:
  4589  			if wireType != 0 {
  4590  				return fmt.Errorf("proto: wrong wireType = %d for field A3Offset", wireType)
  4591  			}
  4592  			m.A3Offset = 0
  4593  			for shift := uint(0); ; shift += 7 {
  4594  				if shift >= 64 {
  4595  					return ErrIntOverflowTypes
  4596  				}
  4597  				if iNdEx >= l {
  4598  					return io.ErrUnexpectedEOF
  4599  				}
  4600  				b := dAtA[iNdEx]
  4601  				iNdEx++
  4602  				m.A3Offset |= int32(b&0x7F) << shift
  4603  				if b < 0x80 {
  4604  					break
  4605  				}
  4606  			}
  4607  		case 2:
  4608  			if wireType != 0 {
  4609  				return fmt.Errorf("proto: wrong wireType = %d for field ReportOnLeave", wireType)
  4610  			}
  4611  			var v int
  4612  			for shift := uint(0); ; shift += 7 {
  4613  				if shift >= 64 {
  4614  					return ErrIntOverflowTypes
  4615  				}
  4616  				if iNdEx >= l {
  4617  					return io.ErrUnexpectedEOF
  4618  				}
  4619  				b := dAtA[iNdEx]
  4620  				iNdEx++
  4621  				v |= int(b&0x7F) << shift
  4622  				if b < 0x80 {
  4623  					break
  4624  				}
  4625  			}
  4626  			m.ReportOnLeave = bool(v != 0)
  4627  		default:
  4628  			iNdEx = preIndex
  4629  			skippy, err := skipTypes(dAtA[iNdEx:])
  4630  			if err != nil {
  4631  				return err
  4632  			}
  4633  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4634  				return ErrInvalidLengthTypes
  4635  			}
  4636  			if (iNdEx + skippy) > l {
  4637  				return io.ErrUnexpectedEOF
  4638  			}
  4639  			iNdEx += skippy
  4640  		}
  4641  	}
  4642  
  4643  	if iNdEx > l {
  4644  		return io.ErrUnexpectedEOF
  4645  	}
  4646  	return nil
  4647  }
  4648  func (m *Node) Unmarshal(dAtA []byte) error {
  4649  	l := len(dAtA)
  4650  	iNdEx := 0
  4651  	for iNdEx < l {
  4652  		preIndex := iNdEx
  4653  		var wire uint64
  4654  		for shift := uint(0); ; shift += 7 {
  4655  			if shift >= 64 {
  4656  				return ErrIntOverflowTypes
  4657  			}
  4658  			if iNdEx >= l {
  4659  				return io.ErrUnexpectedEOF
  4660  			}
  4661  			b := dAtA[iNdEx]
  4662  			iNdEx++
  4663  			wire |= uint64(b&0x7F) << shift
  4664  			if b < 0x80 {
  4665  				break
  4666  			}
  4667  		}
  4668  		fieldNum := int32(wire >> 3)
  4669  		wireType := int(wire & 0x7)
  4670  		if wireType == 4 {
  4671  			return fmt.Errorf("proto: Node: wiretype end group for non-group")
  4672  		}
  4673  		if fieldNum <= 0 {
  4674  			return fmt.Errorf("proto: Node: illegal tag %d (wire type %d)", fieldNum, wire)
  4675  		}
  4676  		switch fieldNum {
  4677  		case 1:
  4678  			if wireType != 0 {
  4679  				return fmt.Errorf("proto: wrong wireType = %d for field GnbID", wireType)
  4680  			}
  4681  			m.GnbID = 0
  4682  			for shift := uint(0); ; shift += 7 {
  4683  				if shift >= 64 {
  4684  					return ErrIntOverflowTypes
  4685  				}
  4686  				if iNdEx >= l {
  4687  					return io.ErrUnexpectedEOF
  4688  				}
  4689  				b := dAtA[iNdEx]
  4690  				iNdEx++
  4691  				m.GnbID |= GnbID(b&0x7F) << shift
  4692  				if b < 0x80 {
  4693  					break
  4694  				}
  4695  			}
  4696  		case 2:
  4697  			if wireType != 2 {
  4698  				return fmt.Errorf("proto: wrong wireType = %d for field Controllers", wireType)
  4699  			}
  4700  			var stringLen uint64
  4701  			for shift := uint(0); ; shift += 7 {
  4702  				if shift >= 64 {
  4703  					return ErrIntOverflowTypes
  4704  				}
  4705  				if iNdEx >= l {
  4706  					return io.ErrUnexpectedEOF
  4707  				}
  4708  				b := dAtA[iNdEx]
  4709  				iNdEx++
  4710  				stringLen |= uint64(b&0x7F) << shift
  4711  				if b < 0x80 {
  4712  					break
  4713  				}
  4714  			}
  4715  			intStringLen := int(stringLen)
  4716  			if intStringLen < 0 {
  4717  				return ErrInvalidLengthTypes
  4718  			}
  4719  			postIndex := iNdEx + intStringLen
  4720  			if postIndex < 0 {
  4721  				return ErrInvalidLengthTypes
  4722  			}
  4723  			if postIndex > l {
  4724  				return io.ErrUnexpectedEOF
  4725  			}
  4726  			m.Controllers = append(m.Controllers, string(dAtA[iNdEx:postIndex]))
  4727  			iNdEx = postIndex
  4728  		case 3:
  4729  			if wireType != 2 {
  4730  				return fmt.Errorf("proto: wrong wireType = %d for field ServiceModels", wireType)
  4731  			}
  4732  			var stringLen uint64
  4733  			for shift := uint(0); ; shift += 7 {
  4734  				if shift >= 64 {
  4735  					return ErrIntOverflowTypes
  4736  				}
  4737  				if iNdEx >= l {
  4738  					return io.ErrUnexpectedEOF
  4739  				}
  4740  				b := dAtA[iNdEx]
  4741  				iNdEx++
  4742  				stringLen |= uint64(b&0x7F) << shift
  4743  				if b < 0x80 {
  4744  					break
  4745  				}
  4746  			}
  4747  			intStringLen := int(stringLen)
  4748  			if intStringLen < 0 {
  4749  				return ErrInvalidLengthTypes
  4750  			}
  4751  			postIndex := iNdEx + intStringLen
  4752  			if postIndex < 0 {
  4753  				return ErrInvalidLengthTypes
  4754  			}
  4755  			if postIndex > l {
  4756  				return io.ErrUnexpectedEOF
  4757  			}
  4758  			m.ServiceModels = append(m.ServiceModels, string(dAtA[iNdEx:postIndex]))
  4759  			iNdEx = postIndex
  4760  		case 4:
  4761  			if wireType == 0 {
  4762  				var v NCGI
  4763  				for shift := uint(0); ; shift += 7 {
  4764  					if shift >= 64 {
  4765  						return ErrIntOverflowTypes
  4766  					}
  4767  					if iNdEx >= l {
  4768  						return io.ErrUnexpectedEOF
  4769  					}
  4770  					b := dAtA[iNdEx]
  4771  					iNdEx++
  4772  					v |= NCGI(b&0x7F) << shift
  4773  					if b < 0x80 {
  4774  						break
  4775  					}
  4776  				}
  4777  				m.CellNCGIs = append(m.CellNCGIs, v)
  4778  			} else if wireType == 2 {
  4779  				var packedLen int
  4780  				for shift := uint(0); ; shift += 7 {
  4781  					if shift >= 64 {
  4782  						return ErrIntOverflowTypes
  4783  					}
  4784  					if iNdEx >= l {
  4785  						return io.ErrUnexpectedEOF
  4786  					}
  4787  					b := dAtA[iNdEx]
  4788  					iNdEx++
  4789  					packedLen |= int(b&0x7F) << shift
  4790  					if b < 0x80 {
  4791  						break
  4792  					}
  4793  				}
  4794  				if packedLen < 0 {
  4795  					return ErrInvalidLengthTypes
  4796  				}
  4797  				postIndex := iNdEx + packedLen
  4798  				if postIndex < 0 {
  4799  					return ErrInvalidLengthTypes
  4800  				}
  4801  				if postIndex > l {
  4802  					return io.ErrUnexpectedEOF
  4803  				}
  4804  				var elementCount int
  4805  				var count int
  4806  				for _, integer := range dAtA[iNdEx:postIndex] {
  4807  					if integer < 128 {
  4808  						count++
  4809  					}
  4810  				}
  4811  				elementCount = count
  4812  				if elementCount != 0 && len(m.CellNCGIs) == 0 {
  4813  					m.CellNCGIs = make([]NCGI, 0, elementCount)
  4814  				}
  4815  				for iNdEx < postIndex {
  4816  					var v NCGI
  4817  					for shift := uint(0); ; shift += 7 {
  4818  						if shift >= 64 {
  4819  							return ErrIntOverflowTypes
  4820  						}
  4821  						if iNdEx >= l {
  4822  							return io.ErrUnexpectedEOF
  4823  						}
  4824  						b := dAtA[iNdEx]
  4825  						iNdEx++
  4826  						v |= NCGI(b&0x7F) << shift
  4827  						if b < 0x80 {
  4828  							break
  4829  						}
  4830  					}
  4831  					m.CellNCGIs = append(m.CellNCGIs, v)
  4832  				}
  4833  			} else {
  4834  				return fmt.Errorf("proto: wrong wireType = %d for field CellNCGIs", wireType)
  4835  			}
  4836  		case 5:
  4837  			if wireType != 2 {
  4838  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  4839  			}
  4840  			var stringLen uint64
  4841  			for shift := uint(0); ; shift += 7 {
  4842  				if shift >= 64 {
  4843  					return ErrIntOverflowTypes
  4844  				}
  4845  				if iNdEx >= l {
  4846  					return io.ErrUnexpectedEOF
  4847  				}
  4848  				b := dAtA[iNdEx]
  4849  				iNdEx++
  4850  				stringLen |= uint64(b&0x7F) << shift
  4851  				if b < 0x80 {
  4852  					break
  4853  				}
  4854  			}
  4855  			intStringLen := int(stringLen)
  4856  			if intStringLen < 0 {
  4857  				return ErrInvalidLengthTypes
  4858  			}
  4859  			postIndex := iNdEx + intStringLen
  4860  			if postIndex < 0 {
  4861  				return ErrInvalidLengthTypes
  4862  			}
  4863  			if postIndex > l {
  4864  				return io.ErrUnexpectedEOF
  4865  			}
  4866  			m.Status = string(dAtA[iNdEx:postIndex])
  4867  			iNdEx = postIndex
  4868  		default:
  4869  			iNdEx = preIndex
  4870  			skippy, err := skipTypes(dAtA[iNdEx:])
  4871  			if err != nil {
  4872  				return err
  4873  			}
  4874  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4875  				return ErrInvalidLengthTypes
  4876  			}
  4877  			if (iNdEx + skippy) > l {
  4878  				return io.ErrUnexpectedEOF
  4879  			}
  4880  			iNdEx += skippy
  4881  		}
  4882  	}
  4883  
  4884  	if iNdEx > l {
  4885  		return io.ErrUnexpectedEOF
  4886  	}
  4887  	return nil
  4888  }
  4889  func (m *MapLayout) Unmarshal(dAtA []byte) error {
  4890  	l := len(dAtA)
  4891  	iNdEx := 0
  4892  	for iNdEx < l {
  4893  		preIndex := iNdEx
  4894  		var wire uint64
  4895  		for shift := uint(0); ; shift += 7 {
  4896  			if shift >= 64 {
  4897  				return ErrIntOverflowTypes
  4898  			}
  4899  			if iNdEx >= l {
  4900  				return io.ErrUnexpectedEOF
  4901  			}
  4902  			b := dAtA[iNdEx]
  4903  			iNdEx++
  4904  			wire |= uint64(b&0x7F) << shift
  4905  			if b < 0x80 {
  4906  				break
  4907  			}
  4908  		}
  4909  		fieldNum := int32(wire >> 3)
  4910  		wireType := int(wire & 0x7)
  4911  		if wireType == 4 {
  4912  			return fmt.Errorf("proto: MapLayout: wiretype end group for non-group")
  4913  		}
  4914  		if fieldNum <= 0 {
  4915  			return fmt.Errorf("proto: MapLayout: illegal tag %d (wire type %d)", fieldNum, wire)
  4916  		}
  4917  		switch fieldNum {
  4918  		case 1:
  4919  			if wireType != 2 {
  4920  				return fmt.Errorf("proto: wrong wireType = %d for field Center", wireType)
  4921  			}
  4922  			var msglen int
  4923  			for shift := uint(0); ; shift += 7 {
  4924  				if shift >= 64 {
  4925  					return ErrIntOverflowTypes
  4926  				}
  4927  				if iNdEx >= l {
  4928  					return io.ErrUnexpectedEOF
  4929  				}
  4930  				b := dAtA[iNdEx]
  4931  				iNdEx++
  4932  				msglen |= int(b&0x7F) << shift
  4933  				if b < 0x80 {
  4934  					break
  4935  				}
  4936  			}
  4937  			if msglen < 0 {
  4938  				return ErrInvalidLengthTypes
  4939  			}
  4940  			postIndex := iNdEx + msglen
  4941  			if postIndex < 0 {
  4942  				return ErrInvalidLengthTypes
  4943  			}
  4944  			if postIndex > l {
  4945  				return io.ErrUnexpectedEOF
  4946  			}
  4947  			if m.Center == nil {
  4948  				m.Center = &Point{}
  4949  			}
  4950  			if err := m.Center.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4951  				return err
  4952  			}
  4953  			iNdEx = postIndex
  4954  		case 2:
  4955  			if wireType != 5 {
  4956  				return fmt.Errorf("proto: wrong wireType = %d for field Zoom", wireType)
  4957  			}
  4958  			var v uint32
  4959  			if (iNdEx + 4) > l {
  4960  				return io.ErrUnexpectedEOF
  4961  			}
  4962  			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  4963  			iNdEx += 4
  4964  			m.Zoom = float32(math.Float32frombits(v))
  4965  		case 3:
  4966  			if wireType != 0 {
  4967  				return fmt.Errorf("proto: wrong wireType = %d for field Fade", wireType)
  4968  			}
  4969  			var v int
  4970  			for shift := uint(0); ; shift += 7 {
  4971  				if shift >= 64 {
  4972  					return ErrIntOverflowTypes
  4973  				}
  4974  				if iNdEx >= l {
  4975  					return io.ErrUnexpectedEOF
  4976  				}
  4977  				b := dAtA[iNdEx]
  4978  				iNdEx++
  4979  				v |= int(b&0x7F) << shift
  4980  				if b < 0x80 {
  4981  					break
  4982  				}
  4983  			}
  4984  			m.Fade = bool(v != 0)
  4985  		case 4:
  4986  			if wireType != 0 {
  4987  				return fmt.Errorf("proto: wrong wireType = %d for field ShowRoutes", wireType)
  4988  			}
  4989  			var v int
  4990  			for shift := uint(0); ; shift += 7 {
  4991  				if shift >= 64 {
  4992  					return ErrIntOverflowTypes
  4993  				}
  4994  				if iNdEx >= l {
  4995  					return io.ErrUnexpectedEOF
  4996  				}
  4997  				b := dAtA[iNdEx]
  4998  				iNdEx++
  4999  				v |= int(b&0x7F) << shift
  5000  				if b < 0x80 {
  5001  					break
  5002  				}
  5003  			}
  5004  			m.ShowRoutes = bool(v != 0)
  5005  		case 5:
  5006  			if wireType != 0 {
  5007  				return fmt.Errorf("proto: wrong wireType = %d for field ShowPower", wireType)
  5008  			}
  5009  			var v int
  5010  			for shift := uint(0); ; shift += 7 {
  5011  				if shift >= 64 {
  5012  					return ErrIntOverflowTypes
  5013  				}
  5014  				if iNdEx >= l {
  5015  					return io.ErrUnexpectedEOF
  5016  				}
  5017  				b := dAtA[iNdEx]
  5018  				iNdEx++
  5019  				v |= int(b&0x7F) << shift
  5020  				if b < 0x80 {
  5021  					break
  5022  				}
  5023  			}
  5024  			m.ShowPower = bool(v != 0)
  5025  		case 6:
  5026  			if wireType != 0 {
  5027  				return fmt.Errorf("proto: wrong wireType = %d for field MinUes", wireType)
  5028  			}
  5029  			m.MinUes = 0
  5030  			for shift := uint(0); ; shift += 7 {
  5031  				if shift >= 64 {
  5032  					return ErrIntOverflowTypes
  5033  				}
  5034  				if iNdEx >= l {
  5035  					return io.ErrUnexpectedEOF
  5036  				}
  5037  				b := dAtA[iNdEx]
  5038  				iNdEx++
  5039  				m.MinUes |= uint32(b&0x7F) << shift
  5040  				if b < 0x80 {
  5041  					break
  5042  				}
  5043  			}
  5044  		case 7:
  5045  			if wireType != 0 {
  5046  				return fmt.Errorf("proto: wrong wireType = %d for field MaxUes", wireType)
  5047  			}
  5048  			m.MaxUes = 0
  5049  			for shift := uint(0); ; shift += 7 {
  5050  				if shift >= 64 {
  5051  					return ErrIntOverflowTypes
  5052  				}
  5053  				if iNdEx >= l {
  5054  					return io.ErrUnexpectedEOF
  5055  				}
  5056  				b := dAtA[iNdEx]
  5057  				iNdEx++
  5058  				m.MaxUes |= uint32(b&0x7F) << shift
  5059  				if b < 0x80 {
  5060  					break
  5061  				}
  5062  			}
  5063  		case 8:
  5064  			if wireType != 0 {
  5065  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentRoutes", wireType)
  5066  			}
  5067  			m.CurrentRoutes = 0
  5068  			for shift := uint(0); ; shift += 7 {
  5069  				if shift >= 64 {
  5070  					return ErrIntOverflowTypes
  5071  				}
  5072  				if iNdEx >= l {
  5073  					return io.ErrUnexpectedEOF
  5074  				}
  5075  				b := dAtA[iNdEx]
  5076  				iNdEx++
  5077  				m.CurrentRoutes |= uint32(b&0x7F) << shift
  5078  				if b < 0x80 {
  5079  					break
  5080  				}
  5081  			}
  5082  		case 9:
  5083  			if wireType != 5 {
  5084  				return fmt.Errorf("proto: wrong wireType = %d for field LocationsScale", wireType)
  5085  			}
  5086  			var v uint32
  5087  			if (iNdEx + 4) > l {
  5088  				return io.ErrUnexpectedEOF
  5089  			}
  5090  			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  5091  			iNdEx += 4
  5092  			m.LocationsScale = float32(math.Float32frombits(v))
  5093  		default:
  5094  			iNdEx = preIndex
  5095  			skippy, err := skipTypes(dAtA[iNdEx:])
  5096  			if err != nil {
  5097  				return err
  5098  			}
  5099  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5100  				return ErrInvalidLengthTypes
  5101  			}
  5102  			if (iNdEx + skippy) > l {
  5103  				return io.ErrUnexpectedEOF
  5104  			}
  5105  			iNdEx += skippy
  5106  		}
  5107  	}
  5108  
  5109  	if iNdEx > l {
  5110  		return io.ErrUnexpectedEOF
  5111  	}
  5112  	return nil
  5113  }
  5114  func skipTypes(dAtA []byte) (n int, err error) {
  5115  	l := len(dAtA)
  5116  	iNdEx := 0
  5117  	depth := 0
  5118  	for iNdEx < l {
  5119  		var wire uint64
  5120  		for shift := uint(0); ; shift += 7 {
  5121  			if shift >= 64 {
  5122  				return 0, ErrIntOverflowTypes
  5123  			}
  5124  			if iNdEx >= l {
  5125  				return 0, io.ErrUnexpectedEOF
  5126  			}
  5127  			b := dAtA[iNdEx]
  5128  			iNdEx++
  5129  			wire |= (uint64(b) & 0x7F) << shift
  5130  			if b < 0x80 {
  5131  				break
  5132  			}
  5133  		}
  5134  		wireType := int(wire & 0x7)
  5135  		switch wireType {
  5136  		case 0:
  5137  			for shift := uint(0); ; shift += 7 {
  5138  				if shift >= 64 {
  5139  					return 0, ErrIntOverflowTypes
  5140  				}
  5141  				if iNdEx >= l {
  5142  					return 0, io.ErrUnexpectedEOF
  5143  				}
  5144  				iNdEx++
  5145  				if dAtA[iNdEx-1] < 0x80 {
  5146  					break
  5147  				}
  5148  			}
  5149  		case 1:
  5150  			iNdEx += 8
  5151  		case 2:
  5152  			var length int
  5153  			for shift := uint(0); ; shift += 7 {
  5154  				if shift >= 64 {
  5155  					return 0, ErrIntOverflowTypes
  5156  				}
  5157  				if iNdEx >= l {
  5158  					return 0, io.ErrUnexpectedEOF
  5159  				}
  5160  				b := dAtA[iNdEx]
  5161  				iNdEx++
  5162  				length |= (int(b) & 0x7F) << shift
  5163  				if b < 0x80 {
  5164  					break
  5165  				}
  5166  			}
  5167  			if length < 0 {
  5168  				return 0, ErrInvalidLengthTypes
  5169  			}
  5170  			iNdEx += length
  5171  		case 3:
  5172  			depth++
  5173  		case 4:
  5174  			if depth == 0 {
  5175  				return 0, ErrUnexpectedEndOfGroupTypes
  5176  			}
  5177  			depth--
  5178  		case 5:
  5179  			iNdEx += 4
  5180  		default:
  5181  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  5182  		}
  5183  		if iNdEx < 0 {
  5184  			return 0, ErrInvalidLengthTypes
  5185  		}
  5186  		if depth == 0 {
  5187  			return iNdEx, nil
  5188  		}
  5189  	}
  5190  	return 0, io.ErrUnexpectedEOF
  5191  }
  5192  
  5193  var (
  5194  	ErrInvalidLengthTypes        = fmt.Errorf("proto: negative length found during unmarshaling")
  5195  	ErrIntOverflowTypes          = fmt.Errorf("proto: integer overflow")
  5196  	ErrUnexpectedEndOfGroupTypes = fmt.Errorf("proto: unexpected end of group")
  5197  )