blob: 2499fd1304c9a3f797dd8783aef90dab14ab70de [file] [log] [blame]
Don Newton98fd8812019-09-23 15:15:02 -04001// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: voltha_protos/device.proto
3
4package voltha
5
6import (
7 fmt "fmt"
8 proto "github.com/golang/protobuf/proto"
9 any "github.com/golang/protobuf/ptypes/any"
Maninder12b909f2020-10-23 14:23:36 +053010 common "github.com/opencord/voltha-protos/v4/go/common"
11 openflow_13 "github.com/opencord/voltha-protos/v4/go/openflow_13"
Don Newton98fd8812019-09-23 15:15:02 -040012 math "math"
13)
14
15// Reference imports to suppress errors if they are not otherwise used.
16var _ = proto.Marshal
17var _ = fmt.Errorf
18var _ = math.Inf
19
20// This is a compile-time assertion to ensure that this generated file
21// is compatible with the proto package it is being compiled against.
22// A compilation error at this line likely means your copy of the
23// proto package needs to be updated.
24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
25
26type PmConfig_PmType int32
27
28const (
29 PmConfig_COUNTER PmConfig_PmType = 0
30 PmConfig_GAUGE PmConfig_PmType = 1
31 PmConfig_STATE PmConfig_PmType = 2
32 PmConfig_CONTEXT PmConfig_PmType = 3
33)
34
35var PmConfig_PmType_name = map[int32]string{
36 0: "COUNTER",
37 1: "GAUGE",
38 2: "STATE",
39 3: "CONTEXT",
40}
41
42var PmConfig_PmType_value = map[string]int32{
43 "COUNTER": 0,
44 "GAUGE": 1,
45 "STATE": 2,
46 "CONTEXT": 3,
47}
48
49func (x PmConfig_PmType) String() string {
50 return proto.EnumName(PmConfig_PmType_name, int32(x))
51}
52
53func (PmConfig_PmType) EnumDescriptor() ([]byte, []int) {
54 return fileDescriptor_200940f73d155856, []int{2, 0}
55}
56
57type ImageDownload_ImageDownloadState int32
58
59const (
60 ImageDownload_DOWNLOAD_UNKNOWN ImageDownload_ImageDownloadState = 0
61 ImageDownload_DOWNLOAD_SUCCEEDED ImageDownload_ImageDownloadState = 1
62 ImageDownload_DOWNLOAD_REQUESTED ImageDownload_ImageDownloadState = 2
63 ImageDownload_DOWNLOAD_STARTED ImageDownload_ImageDownloadState = 3
64 ImageDownload_DOWNLOAD_FAILED ImageDownload_ImageDownloadState = 4
65 ImageDownload_DOWNLOAD_UNSUPPORTED ImageDownload_ImageDownloadState = 5
66 ImageDownload_DOWNLOAD_CANCELLED ImageDownload_ImageDownloadState = 6
67)
68
69var ImageDownload_ImageDownloadState_name = map[int32]string{
70 0: "DOWNLOAD_UNKNOWN",
71 1: "DOWNLOAD_SUCCEEDED",
72 2: "DOWNLOAD_REQUESTED",
73 3: "DOWNLOAD_STARTED",
74 4: "DOWNLOAD_FAILED",
75 5: "DOWNLOAD_UNSUPPORTED",
76 6: "DOWNLOAD_CANCELLED",
77}
78
79var ImageDownload_ImageDownloadState_value = map[string]int32{
80 "DOWNLOAD_UNKNOWN": 0,
81 "DOWNLOAD_SUCCEEDED": 1,
82 "DOWNLOAD_REQUESTED": 2,
83 "DOWNLOAD_STARTED": 3,
84 "DOWNLOAD_FAILED": 4,
85 "DOWNLOAD_UNSUPPORTED": 5,
86 "DOWNLOAD_CANCELLED": 6,
87}
88
89func (x ImageDownload_ImageDownloadState) String() string {
90 return proto.EnumName(ImageDownload_ImageDownloadState_name, int32(x))
91}
92
93func (ImageDownload_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
94 return fileDescriptor_200940f73d155856, []int{7, 0}
95}
96
97type ImageDownload_ImageDownloadFailureReason int32
98
99const (
100 ImageDownload_NO_ERROR ImageDownload_ImageDownloadFailureReason = 0
101 ImageDownload_INVALID_URL ImageDownload_ImageDownloadFailureReason = 1
102 ImageDownload_DEVICE_BUSY ImageDownload_ImageDownloadFailureReason = 2
103 ImageDownload_INSUFFICIENT_SPACE ImageDownload_ImageDownloadFailureReason = 3
104 ImageDownload_UNKNOWN_ERROR ImageDownload_ImageDownloadFailureReason = 4
105 ImageDownload_CANCELLED ImageDownload_ImageDownloadFailureReason = 5
106)
107
108var ImageDownload_ImageDownloadFailureReason_name = map[int32]string{
109 0: "NO_ERROR",
110 1: "INVALID_URL",
111 2: "DEVICE_BUSY",
112 3: "INSUFFICIENT_SPACE",
113 4: "UNKNOWN_ERROR",
114 5: "CANCELLED",
115}
116
117var ImageDownload_ImageDownloadFailureReason_value = map[string]int32{
118 "NO_ERROR": 0,
119 "INVALID_URL": 1,
120 "DEVICE_BUSY": 2,
121 "INSUFFICIENT_SPACE": 3,
122 "UNKNOWN_ERROR": 4,
123 "CANCELLED": 5,
124}
125
126func (x ImageDownload_ImageDownloadFailureReason) String() string {
127 return proto.EnumName(ImageDownload_ImageDownloadFailureReason_name, int32(x))
128}
129
130func (ImageDownload_ImageDownloadFailureReason) EnumDescriptor() ([]byte, []int) {
131 return fileDescriptor_200940f73d155856, []int{7, 1}
132}
133
134type ImageDownload_ImageActivateState int32
135
136const (
137 ImageDownload_IMAGE_UNKNOWN ImageDownload_ImageActivateState = 0
138 ImageDownload_IMAGE_INACTIVE ImageDownload_ImageActivateState = 1
139 ImageDownload_IMAGE_ACTIVATING ImageDownload_ImageActivateState = 2
140 ImageDownload_IMAGE_ACTIVE ImageDownload_ImageActivateState = 3
141 ImageDownload_IMAGE_REVERTING ImageDownload_ImageActivateState = 4
142 ImageDownload_IMAGE_REVERTED ImageDownload_ImageActivateState = 5
143)
144
145var ImageDownload_ImageActivateState_name = map[int32]string{
146 0: "IMAGE_UNKNOWN",
147 1: "IMAGE_INACTIVE",
148 2: "IMAGE_ACTIVATING",
149 3: "IMAGE_ACTIVE",
150 4: "IMAGE_REVERTING",
151 5: "IMAGE_REVERTED",
152}
153
154var ImageDownload_ImageActivateState_value = map[string]int32{
155 "IMAGE_UNKNOWN": 0,
156 "IMAGE_INACTIVE": 1,
157 "IMAGE_ACTIVATING": 2,
158 "IMAGE_ACTIVE": 3,
159 "IMAGE_REVERTING": 4,
160 "IMAGE_REVERTED": 5,
161}
162
163func (x ImageDownload_ImageActivateState) String() string {
164 return proto.EnumName(ImageDownload_ImageActivateState_name, int32(x))
165}
166
167func (ImageDownload_ImageActivateState) EnumDescriptor() ([]byte, []int) {
168 return fileDescriptor_200940f73d155856, []int{7, 2}
169}
170
171type Port_PortType int32
172
173const (
174 Port_UNKNOWN Port_PortType = 0
175 Port_ETHERNET_NNI Port_PortType = 1
176 Port_ETHERNET_UNI Port_PortType = 2
177 Port_PON_OLT Port_PortType = 3
178 Port_PON_ONU Port_PortType = 4
179 Port_VENET_OLT Port_PortType = 5
180 Port_VENET_ONU Port_PortType = 6
181)
182
183var Port_PortType_name = map[int32]string{
184 0: "UNKNOWN",
185 1: "ETHERNET_NNI",
186 2: "ETHERNET_UNI",
187 3: "PON_OLT",
188 4: "PON_ONU",
189 5: "VENET_OLT",
190 6: "VENET_ONU",
191}
192
193var Port_PortType_value = map[string]int32{
194 "UNKNOWN": 0,
195 "ETHERNET_NNI": 1,
196 "ETHERNET_UNI": 2,
197 "PON_OLT": 3,
198 "PON_ONU": 4,
199 "VENET_OLT": 5,
200 "VENET_ONU": 6,
201}
202
203func (x Port_PortType) String() string {
204 return proto.EnumName(Port_PortType_name, int32(x))
205}
206
207func (Port_PortType) EnumDescriptor() ([]byte, []int) {
208 return fileDescriptor_200940f73d155856, []int{9, 0}
209}
210
211type SimulateAlarmRequest_OperationType int32
212
213const (
214 SimulateAlarmRequest_RAISE SimulateAlarmRequest_OperationType = 0
215 SimulateAlarmRequest_CLEAR SimulateAlarmRequest_OperationType = 1
216)
217
218var SimulateAlarmRequest_OperationType_name = map[int32]string{
219 0: "RAISE",
220 1: "CLEAR",
221}
222
223var SimulateAlarmRequest_OperationType_value = map[string]int32{
224 "RAISE": 0,
225 "CLEAR": 1,
226}
227
228func (x SimulateAlarmRequest_OperationType) String() string {
229 return proto.EnumName(SimulateAlarmRequest_OperationType_name, int32(x))
230}
231
232func (SimulateAlarmRequest_OperationType) EnumDescriptor() ([]byte, []int) {
233 return fileDescriptor_200940f73d155856, []int{13, 0}
234}
235
236// A Device Type
237type DeviceType struct {
238 // Unique name for the device type
239 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
240 // Unique vendor id for the device type applicable to ONU
241 // 4 bytes of vendor id from ONU serial number
242 VendorId string `protobuf:"bytes,5,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
243 VendorIds []string `protobuf:"bytes,6,rep,name=vendor_ids,json=vendorIds,proto3" json:"vendor_ids,omitempty"`
244 // Name of the adapter that handles device type
245 Adapter string `protobuf:"bytes,2,opt,name=adapter,proto3" json:"adapter,omitempty"`
246 // Capabilities
247 AcceptsBulkFlowUpdate bool `protobuf:"varint,3,opt,name=accepts_bulk_flow_update,json=acceptsBulkFlowUpdate,proto3" json:"accepts_bulk_flow_update,omitempty"`
248 AcceptsAddRemoveFlowUpdates bool `protobuf:"varint,4,opt,name=accepts_add_remove_flow_updates,json=acceptsAddRemoveFlowUpdates,proto3" json:"accepts_add_remove_flow_updates,omitempty"`
249 AcceptsDirectLogicalFlowsUpdate bool `protobuf:"varint,7,opt,name=accepts_direct_logical_flows_update,json=acceptsDirectLogicalFlowsUpdate,proto3" json:"accepts_direct_logical_flows_update,omitempty"`
250 XXX_NoUnkeyedLiteral struct{} `json:"-"`
251 XXX_unrecognized []byte `json:"-"`
252 XXX_sizecache int32 `json:"-"`
253}
254
255func (m *DeviceType) Reset() { *m = DeviceType{} }
256func (m *DeviceType) String() string { return proto.CompactTextString(m) }
257func (*DeviceType) ProtoMessage() {}
258func (*DeviceType) Descriptor() ([]byte, []int) {
259 return fileDescriptor_200940f73d155856, []int{0}
260}
261
262func (m *DeviceType) XXX_Unmarshal(b []byte) error {
263 return xxx_messageInfo_DeviceType.Unmarshal(m, b)
264}
265func (m *DeviceType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
266 return xxx_messageInfo_DeviceType.Marshal(b, m, deterministic)
267}
268func (m *DeviceType) XXX_Merge(src proto.Message) {
269 xxx_messageInfo_DeviceType.Merge(m, src)
270}
271func (m *DeviceType) XXX_Size() int {
272 return xxx_messageInfo_DeviceType.Size(m)
273}
274func (m *DeviceType) XXX_DiscardUnknown() {
275 xxx_messageInfo_DeviceType.DiscardUnknown(m)
276}
277
278var xxx_messageInfo_DeviceType proto.InternalMessageInfo
279
280func (m *DeviceType) GetId() string {
281 if m != nil {
282 return m.Id
283 }
284 return ""
285}
286
287func (m *DeviceType) GetVendorId() string {
288 if m != nil {
289 return m.VendorId
290 }
291 return ""
292}
293
294func (m *DeviceType) GetVendorIds() []string {
295 if m != nil {
296 return m.VendorIds
297 }
298 return nil
299}
300
301func (m *DeviceType) GetAdapter() string {
302 if m != nil {
303 return m.Adapter
304 }
305 return ""
306}
307
308func (m *DeviceType) GetAcceptsBulkFlowUpdate() bool {
309 if m != nil {
310 return m.AcceptsBulkFlowUpdate
311 }
312 return false
313}
314
315func (m *DeviceType) GetAcceptsAddRemoveFlowUpdates() bool {
316 if m != nil {
317 return m.AcceptsAddRemoveFlowUpdates
318 }
319 return false
320}
321
322func (m *DeviceType) GetAcceptsDirectLogicalFlowsUpdate() bool {
323 if m != nil {
324 return m.AcceptsDirectLogicalFlowsUpdate
325 }
326 return false
327}
328
329// A plurality of device types
330type DeviceTypes struct {
331 Items []*DeviceType `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
332 XXX_NoUnkeyedLiteral struct{} `json:"-"`
333 XXX_unrecognized []byte `json:"-"`
334 XXX_sizecache int32 `json:"-"`
335}
336
337func (m *DeviceTypes) Reset() { *m = DeviceTypes{} }
338func (m *DeviceTypes) String() string { return proto.CompactTextString(m) }
339func (*DeviceTypes) ProtoMessage() {}
340func (*DeviceTypes) Descriptor() ([]byte, []int) {
341 return fileDescriptor_200940f73d155856, []int{1}
342}
343
344func (m *DeviceTypes) XXX_Unmarshal(b []byte) error {
345 return xxx_messageInfo_DeviceTypes.Unmarshal(m, b)
346}
347func (m *DeviceTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
348 return xxx_messageInfo_DeviceTypes.Marshal(b, m, deterministic)
349}
350func (m *DeviceTypes) XXX_Merge(src proto.Message) {
351 xxx_messageInfo_DeviceTypes.Merge(m, src)
352}
353func (m *DeviceTypes) XXX_Size() int {
354 return xxx_messageInfo_DeviceTypes.Size(m)
355}
356func (m *DeviceTypes) XXX_DiscardUnknown() {
357 xxx_messageInfo_DeviceTypes.DiscardUnknown(m)
358}
359
360var xxx_messageInfo_DeviceTypes proto.InternalMessageInfo
361
362func (m *DeviceTypes) GetItems() []*DeviceType {
363 if m != nil {
364 return m.Items
365 }
366 return nil
367}
368
369type PmConfig struct {
370 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
371 Type PmConfig_PmType `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.PmConfig_PmType" json:"type,omitempty"`
372 Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
373 SampleFreq uint32 `protobuf:"varint,4,opt,name=sample_freq,json=sampleFreq,proto3" json:"sample_freq,omitempty"`
374 XXX_NoUnkeyedLiteral struct{} `json:"-"`
375 XXX_unrecognized []byte `json:"-"`
376 XXX_sizecache int32 `json:"-"`
377}
378
379func (m *PmConfig) Reset() { *m = PmConfig{} }
380func (m *PmConfig) String() string { return proto.CompactTextString(m) }
381func (*PmConfig) ProtoMessage() {}
382func (*PmConfig) Descriptor() ([]byte, []int) {
383 return fileDescriptor_200940f73d155856, []int{2}
384}
385
386func (m *PmConfig) XXX_Unmarshal(b []byte) error {
387 return xxx_messageInfo_PmConfig.Unmarshal(m, b)
388}
389func (m *PmConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
390 return xxx_messageInfo_PmConfig.Marshal(b, m, deterministic)
391}
392func (m *PmConfig) XXX_Merge(src proto.Message) {
393 xxx_messageInfo_PmConfig.Merge(m, src)
394}
395func (m *PmConfig) XXX_Size() int {
396 return xxx_messageInfo_PmConfig.Size(m)
397}
398func (m *PmConfig) XXX_DiscardUnknown() {
399 xxx_messageInfo_PmConfig.DiscardUnknown(m)
400}
401
402var xxx_messageInfo_PmConfig proto.InternalMessageInfo
403
404func (m *PmConfig) GetName() string {
405 if m != nil {
406 return m.Name
407 }
408 return ""
409}
410
411func (m *PmConfig) GetType() PmConfig_PmType {
412 if m != nil {
413 return m.Type
414 }
415 return PmConfig_COUNTER
416}
417
418func (m *PmConfig) GetEnabled() bool {
419 if m != nil {
420 return m.Enabled
421 }
422 return false
423}
424
425func (m *PmConfig) GetSampleFreq() uint32 {
426 if m != nil {
427 return m.SampleFreq
428 }
429 return 0
430}
431
432type PmGroupConfig struct {
433 GroupName string `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
434 GroupFreq uint32 `protobuf:"varint,2,opt,name=group_freq,json=groupFreq,proto3" json:"group_freq,omitempty"`
435 Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
436 Metrics []*PmConfig `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
437 XXX_NoUnkeyedLiteral struct{} `json:"-"`
438 XXX_unrecognized []byte `json:"-"`
439 XXX_sizecache int32 `json:"-"`
440}
441
442func (m *PmGroupConfig) Reset() { *m = PmGroupConfig{} }
443func (m *PmGroupConfig) String() string { return proto.CompactTextString(m) }
444func (*PmGroupConfig) ProtoMessage() {}
445func (*PmGroupConfig) Descriptor() ([]byte, []int) {
446 return fileDescriptor_200940f73d155856, []int{3}
447}
448
449func (m *PmGroupConfig) XXX_Unmarshal(b []byte) error {
450 return xxx_messageInfo_PmGroupConfig.Unmarshal(m, b)
451}
452func (m *PmGroupConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
453 return xxx_messageInfo_PmGroupConfig.Marshal(b, m, deterministic)
454}
455func (m *PmGroupConfig) XXX_Merge(src proto.Message) {
456 xxx_messageInfo_PmGroupConfig.Merge(m, src)
457}
458func (m *PmGroupConfig) XXX_Size() int {
459 return xxx_messageInfo_PmGroupConfig.Size(m)
460}
461func (m *PmGroupConfig) XXX_DiscardUnknown() {
462 xxx_messageInfo_PmGroupConfig.DiscardUnknown(m)
463}
464
465var xxx_messageInfo_PmGroupConfig proto.InternalMessageInfo
466
467func (m *PmGroupConfig) GetGroupName() string {
468 if m != nil {
469 return m.GroupName
470 }
471 return ""
472}
473
474func (m *PmGroupConfig) GetGroupFreq() uint32 {
475 if m != nil {
476 return m.GroupFreq
477 }
478 return 0
479}
480
481func (m *PmGroupConfig) GetEnabled() bool {
482 if m != nil {
483 return m.Enabled
484 }
485 return false
486}
487
488func (m *PmGroupConfig) GetMetrics() []*PmConfig {
489 if m != nil {
490 return m.Metrics
491 }
492 return nil
493}
494
495type PmConfigs struct {
496 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
497 DefaultFreq uint32 `protobuf:"varint,2,opt,name=default_freq,json=defaultFreq,proto3" json:"default_freq,omitempty"`
498 // Forces group names and group semantics
499 Grouped bool `protobuf:"varint,3,opt,name=grouped,proto3" json:"grouped,omitempty"`
500 // Allows Pm to set an individual sample frequency
501 FreqOverride bool `protobuf:"varint,4,opt,name=freq_override,json=freqOverride,proto3" json:"freq_override,omitempty"`
502 Groups []*PmGroupConfig `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`
503 Metrics []*PmConfig `protobuf:"bytes,6,rep,name=metrics,proto3" json:"metrics,omitempty"`
Girish Kumaradc3ba12020-06-15 14:22:55 +0000504 MaxSkew uint32 `protobuf:"varint,7,opt,name=max_skew,json=maxSkew,proto3" json:"max_skew,omitempty"`
Don Newton98fd8812019-09-23 15:15:02 -0400505 XXX_NoUnkeyedLiteral struct{} `json:"-"`
506 XXX_unrecognized []byte `json:"-"`
507 XXX_sizecache int32 `json:"-"`
508}
509
510func (m *PmConfigs) Reset() { *m = PmConfigs{} }
511func (m *PmConfigs) String() string { return proto.CompactTextString(m) }
512func (*PmConfigs) ProtoMessage() {}
513func (*PmConfigs) Descriptor() ([]byte, []int) {
514 return fileDescriptor_200940f73d155856, []int{4}
515}
516
517func (m *PmConfigs) XXX_Unmarshal(b []byte) error {
518 return xxx_messageInfo_PmConfigs.Unmarshal(m, b)
519}
520func (m *PmConfigs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
521 return xxx_messageInfo_PmConfigs.Marshal(b, m, deterministic)
522}
523func (m *PmConfigs) XXX_Merge(src proto.Message) {
524 xxx_messageInfo_PmConfigs.Merge(m, src)
525}
526func (m *PmConfigs) XXX_Size() int {
527 return xxx_messageInfo_PmConfigs.Size(m)
528}
529func (m *PmConfigs) XXX_DiscardUnknown() {
530 xxx_messageInfo_PmConfigs.DiscardUnknown(m)
531}
532
533var xxx_messageInfo_PmConfigs proto.InternalMessageInfo
534
535func (m *PmConfigs) GetId() string {
536 if m != nil {
537 return m.Id
538 }
539 return ""
540}
541
542func (m *PmConfigs) GetDefaultFreq() uint32 {
543 if m != nil {
544 return m.DefaultFreq
545 }
546 return 0
547}
548
549func (m *PmConfigs) GetGrouped() bool {
550 if m != nil {
551 return m.Grouped
552 }
553 return false
554}
555
556func (m *PmConfigs) GetFreqOverride() bool {
557 if m != nil {
558 return m.FreqOverride
559 }
560 return false
561}
562
563func (m *PmConfigs) GetGroups() []*PmGroupConfig {
564 if m != nil {
565 return m.Groups
566 }
567 return nil
568}
569
570func (m *PmConfigs) GetMetrics() []*PmConfig {
571 if m != nil {
572 return m.Metrics
573 }
574 return nil
575}
576
Girish Kumaradc3ba12020-06-15 14:22:55 +0000577func (m *PmConfigs) GetMaxSkew() uint32 {
578 if m != nil {
579 return m.MaxSkew
580 }
581 return 0
582}
583
Don Newton98fd8812019-09-23 15:15:02 -0400584// Describes instance of software image on the device
585type Image struct {
586 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
587 Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
588 Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
589 InstallDatetime string `protobuf:"bytes,4,opt,name=install_datetime,json=installDatetime,proto3" json:"install_datetime,omitempty"`
590 // The active software image is one that is currently loaded and executing
591 // in the ONU or circuit pack. Under normal operation, one software image
592 // is always active while the other is inactive. Under no circumstances are
593 // both software images allowed to be active at the same time
594 IsActive bool `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
595 // The committed software image is loaded and executed upon reboot of the
596 // ONU and/or circuit pack. During normal operation, one software image is
597 // always committed, while the other is uncommitted.
598 IsCommitted bool `protobuf:"varint,6,opt,name=is_committed,json=isCommitted,proto3" json:"is_committed,omitempty"`
599 // A software image is valid if it has been verified to be an executable
600 // code image. The verification mechanism is not subject to standardization;
601 // however, it should include at least a data integrity (e.g., CRC) check of
602 // the entire code image.
603 IsValid bool `protobuf:"varint,7,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
604 XXX_NoUnkeyedLiteral struct{} `json:"-"`
605 XXX_unrecognized []byte `json:"-"`
606 XXX_sizecache int32 `json:"-"`
607}
608
609func (m *Image) Reset() { *m = Image{} }
610func (m *Image) String() string { return proto.CompactTextString(m) }
611func (*Image) ProtoMessage() {}
612func (*Image) Descriptor() ([]byte, []int) {
613 return fileDescriptor_200940f73d155856, []int{5}
614}
615
616func (m *Image) XXX_Unmarshal(b []byte) error {
617 return xxx_messageInfo_Image.Unmarshal(m, b)
618}
619func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
620 return xxx_messageInfo_Image.Marshal(b, m, deterministic)
621}
622func (m *Image) XXX_Merge(src proto.Message) {
623 xxx_messageInfo_Image.Merge(m, src)
624}
625func (m *Image) XXX_Size() int {
626 return xxx_messageInfo_Image.Size(m)
627}
628func (m *Image) XXX_DiscardUnknown() {
629 xxx_messageInfo_Image.DiscardUnknown(m)
630}
631
632var xxx_messageInfo_Image proto.InternalMessageInfo
633
634func (m *Image) GetName() string {
635 if m != nil {
636 return m.Name
637 }
638 return ""
639}
640
641func (m *Image) GetVersion() string {
642 if m != nil {
643 return m.Version
644 }
645 return ""
646}
647
648func (m *Image) GetHash() string {
649 if m != nil {
650 return m.Hash
651 }
652 return ""
653}
654
655func (m *Image) GetInstallDatetime() string {
656 if m != nil {
657 return m.InstallDatetime
658 }
659 return ""
660}
661
662func (m *Image) GetIsActive() bool {
663 if m != nil {
664 return m.IsActive
665 }
666 return false
667}
668
669func (m *Image) GetIsCommitted() bool {
670 if m != nil {
671 return m.IsCommitted
672 }
673 return false
674}
675
676func (m *Image) GetIsValid() bool {
677 if m != nil {
678 return m.IsValid
679 }
680 return false
681}
682
683// List of software on the device
684type Images struct {
685 Image []*Image `protobuf:"bytes,1,rep,name=image,proto3" json:"image,omitempty"`
686 XXX_NoUnkeyedLiteral struct{} `json:"-"`
687 XXX_unrecognized []byte `json:"-"`
688 XXX_sizecache int32 `json:"-"`
689}
690
691func (m *Images) Reset() { *m = Images{} }
692func (m *Images) String() string { return proto.CompactTextString(m) }
693func (*Images) ProtoMessage() {}
694func (*Images) Descriptor() ([]byte, []int) {
695 return fileDescriptor_200940f73d155856, []int{6}
696}
697
698func (m *Images) XXX_Unmarshal(b []byte) error {
699 return xxx_messageInfo_Images.Unmarshal(m, b)
700}
701func (m *Images) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
702 return xxx_messageInfo_Images.Marshal(b, m, deterministic)
703}
704func (m *Images) XXX_Merge(src proto.Message) {
705 xxx_messageInfo_Images.Merge(m, src)
706}
707func (m *Images) XXX_Size() int {
708 return xxx_messageInfo_Images.Size(m)
709}
710func (m *Images) XXX_DiscardUnknown() {
711 xxx_messageInfo_Images.DiscardUnknown(m)
712}
713
714var xxx_messageInfo_Images proto.InternalMessageInfo
715
716func (m *Images) GetImage() []*Image {
717 if m != nil {
718 return m.Image
719 }
720 return nil
721}
722
Girish Kumaradc3ba12020-06-15 14:22:55 +0000723//TODO: ImageDownload is not actively used (05/19/2020). When this is tackled, can remove extra/unnecessary fields.
Don Newton98fd8812019-09-23 15:15:02 -0400724type ImageDownload struct {
725 // Device Identifier
726 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
727 // Image unique identifier
728 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
729 // URL where the image is available
730 // should include username password
731 Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
732 // CRC of the image to be verified aginst
733 Crc uint32 `protobuf:"varint,4,opt,name=crc,proto3" json:"crc,omitempty"`
734 // Download state
735 DownloadState ImageDownload_ImageDownloadState `protobuf:"varint,5,opt,name=download_state,json=downloadState,proto3,enum=voltha.ImageDownload_ImageDownloadState" json:"download_state,omitempty"`
736 // Downloaded version
737 ImageVersion string `protobuf:"bytes,6,opt,name=image_version,json=imageVersion,proto3" json:"image_version,omitempty"`
738 // Bytes downloaded
739 DownloadedBytes uint32 `protobuf:"varint,7,opt,name=downloaded_bytes,json=downloadedBytes,proto3" json:"downloaded_bytes,omitempty"`
740 // Download failure reason
741 Reason ImageDownload_ImageDownloadFailureReason `protobuf:"varint,8,opt,name=reason,proto3,enum=voltha.ImageDownload_ImageDownloadFailureReason" json:"reason,omitempty"`
742 // Additional info
743 AdditionalInfo string `protobuf:"bytes,9,opt,name=additional_info,json=additionalInfo,proto3" json:"additional_info,omitempty"`
744 // Save current configuration
745 SaveConfig bool `protobuf:"varint,10,opt,name=save_config,json=saveConfig,proto3" json:"save_config,omitempty"`
746 // Image local location
747 LocalDir string `protobuf:"bytes,11,opt,name=local_dir,json=localDir,proto3" json:"local_dir,omitempty"`
748 // Image activation state
749 ImageState ImageDownload_ImageActivateState `protobuf:"varint,12,opt,name=image_state,json=imageState,proto3,enum=voltha.ImageDownload_ImageActivateState" json:"image_state,omitempty"`
750 // Image file size
751 FileSize uint32 `protobuf:"varint,13,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
752 XXX_NoUnkeyedLiteral struct{} `json:"-"`
753 XXX_unrecognized []byte `json:"-"`
754 XXX_sizecache int32 `json:"-"`
755}
756
757func (m *ImageDownload) Reset() { *m = ImageDownload{} }
758func (m *ImageDownload) String() string { return proto.CompactTextString(m) }
759func (*ImageDownload) ProtoMessage() {}
760func (*ImageDownload) Descriptor() ([]byte, []int) {
761 return fileDescriptor_200940f73d155856, []int{7}
762}
763
764func (m *ImageDownload) XXX_Unmarshal(b []byte) error {
765 return xxx_messageInfo_ImageDownload.Unmarshal(m, b)
766}
767func (m *ImageDownload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
768 return xxx_messageInfo_ImageDownload.Marshal(b, m, deterministic)
769}
770func (m *ImageDownload) XXX_Merge(src proto.Message) {
771 xxx_messageInfo_ImageDownload.Merge(m, src)
772}
773func (m *ImageDownload) XXX_Size() int {
774 return xxx_messageInfo_ImageDownload.Size(m)
775}
776func (m *ImageDownload) XXX_DiscardUnknown() {
777 xxx_messageInfo_ImageDownload.DiscardUnknown(m)
778}
779
780var xxx_messageInfo_ImageDownload proto.InternalMessageInfo
781
782func (m *ImageDownload) GetId() string {
783 if m != nil {
784 return m.Id
785 }
786 return ""
787}
788
789func (m *ImageDownload) GetName() string {
790 if m != nil {
791 return m.Name
792 }
793 return ""
794}
795
796func (m *ImageDownload) GetUrl() string {
797 if m != nil {
798 return m.Url
799 }
800 return ""
801}
802
803func (m *ImageDownload) GetCrc() uint32 {
804 if m != nil {
805 return m.Crc
806 }
807 return 0
808}
809
810func (m *ImageDownload) GetDownloadState() ImageDownload_ImageDownloadState {
811 if m != nil {
812 return m.DownloadState
813 }
814 return ImageDownload_DOWNLOAD_UNKNOWN
815}
816
817func (m *ImageDownload) GetImageVersion() string {
818 if m != nil {
819 return m.ImageVersion
820 }
821 return ""
822}
823
824func (m *ImageDownload) GetDownloadedBytes() uint32 {
825 if m != nil {
826 return m.DownloadedBytes
827 }
828 return 0
829}
830
831func (m *ImageDownload) GetReason() ImageDownload_ImageDownloadFailureReason {
832 if m != nil {
833 return m.Reason
834 }
835 return ImageDownload_NO_ERROR
836}
837
838func (m *ImageDownload) GetAdditionalInfo() string {
839 if m != nil {
840 return m.AdditionalInfo
841 }
842 return ""
843}
844
845func (m *ImageDownload) GetSaveConfig() bool {
846 if m != nil {
847 return m.SaveConfig
848 }
849 return false
850}
851
852func (m *ImageDownload) GetLocalDir() string {
853 if m != nil {
854 return m.LocalDir
855 }
856 return ""
857}
858
859func (m *ImageDownload) GetImageState() ImageDownload_ImageActivateState {
860 if m != nil {
861 return m.ImageState
862 }
863 return ImageDownload_IMAGE_UNKNOWN
864}
865
866func (m *ImageDownload) GetFileSize() uint32 {
867 if m != nil {
868 return m.FileSize
869 }
870 return 0
871}
872
873type ImageDownloads struct {
874 Items []*ImageDownload `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
875 XXX_NoUnkeyedLiteral struct{} `json:"-"`
876 XXX_unrecognized []byte `json:"-"`
877 XXX_sizecache int32 `json:"-"`
878}
879
880func (m *ImageDownloads) Reset() { *m = ImageDownloads{} }
881func (m *ImageDownloads) String() string { return proto.CompactTextString(m) }
882func (*ImageDownloads) ProtoMessage() {}
883func (*ImageDownloads) Descriptor() ([]byte, []int) {
884 return fileDescriptor_200940f73d155856, []int{8}
885}
886
887func (m *ImageDownloads) XXX_Unmarshal(b []byte) error {
888 return xxx_messageInfo_ImageDownloads.Unmarshal(m, b)
889}
890func (m *ImageDownloads) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
891 return xxx_messageInfo_ImageDownloads.Marshal(b, m, deterministic)
892}
893func (m *ImageDownloads) XXX_Merge(src proto.Message) {
894 xxx_messageInfo_ImageDownloads.Merge(m, src)
895}
896func (m *ImageDownloads) XXX_Size() int {
897 return xxx_messageInfo_ImageDownloads.Size(m)
898}
899func (m *ImageDownloads) XXX_DiscardUnknown() {
900 xxx_messageInfo_ImageDownloads.DiscardUnknown(m)
901}
902
903var xxx_messageInfo_ImageDownloads proto.InternalMessageInfo
904
905func (m *ImageDownloads) GetItems() []*ImageDownload {
906 if m != nil {
907 return m.Items
908 }
909 return nil
910}
911
912type Port struct {
Rohan Agrawalc32d9932020-06-15 11:01:47 +0000913 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
914 Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
915 Type Port_PortType `protobuf:"varint,3,opt,name=type,proto3,enum=voltha.Port_PortType" json:"type,omitempty"`
916 AdminState common.AdminState_Types `protobuf:"varint,5,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
917 OperStatus common.OperStatus_Types `protobuf:"varint,6,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
918 DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
919 Peers []*Port_PeerPort `protobuf:"bytes,8,rep,name=peers,proto3" json:"peers,omitempty"`
920 RxPackets uint64 `protobuf:"fixed64,9,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
921 RxBytes uint64 `protobuf:"fixed64,10,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
922 RxErrors uint64 `protobuf:"fixed64,11,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
923 TxPackets uint64 `protobuf:"fixed64,12,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
924 TxBytes uint64 `protobuf:"fixed64,13,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
925 TxErrors uint64 `protobuf:"fixed64,14,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
926 // ofp_port represents the characteristics of a port, e.g. hardware
927 // address and supported features. This field is relevant only for
928 // UNI and NNI ports. For PON ports, it can be left empty.
929 OfpPort *openflow_13.OfpPort `protobuf:"bytes,15,opt,name=ofp_port,json=ofpPort,proto3" json:"ofp_port,omitempty"`
930 XXX_NoUnkeyedLiteral struct{} `json:"-"`
931 XXX_unrecognized []byte `json:"-"`
932 XXX_sizecache int32 `json:"-"`
Don Newton98fd8812019-09-23 15:15:02 -0400933}
934
935func (m *Port) Reset() { *m = Port{} }
936func (m *Port) String() string { return proto.CompactTextString(m) }
937func (*Port) ProtoMessage() {}
938func (*Port) Descriptor() ([]byte, []int) {
939 return fileDescriptor_200940f73d155856, []int{9}
940}
941
942func (m *Port) XXX_Unmarshal(b []byte) error {
943 return xxx_messageInfo_Port.Unmarshal(m, b)
944}
945func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
946 return xxx_messageInfo_Port.Marshal(b, m, deterministic)
947}
948func (m *Port) XXX_Merge(src proto.Message) {
949 xxx_messageInfo_Port.Merge(m, src)
950}
951func (m *Port) XXX_Size() int {
952 return xxx_messageInfo_Port.Size(m)
953}
954func (m *Port) XXX_DiscardUnknown() {
955 xxx_messageInfo_Port.DiscardUnknown(m)
956}
957
958var xxx_messageInfo_Port proto.InternalMessageInfo
959
960func (m *Port) GetPortNo() uint32 {
961 if m != nil {
962 return m.PortNo
963 }
964 return 0
965}
966
967func (m *Port) GetLabel() string {
968 if m != nil {
969 return m.Label
970 }
971 return ""
972}
973
974func (m *Port) GetType() Port_PortType {
975 if m != nil {
976 return m.Type
977 }
978 return Port_UNKNOWN
979}
980
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -0800981func (m *Port) GetAdminState() common.AdminState_Types {
Don Newton98fd8812019-09-23 15:15:02 -0400982 if m != nil {
983 return m.AdminState
984 }
985 return common.AdminState_UNKNOWN
986}
987
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -0800988func (m *Port) GetOperStatus() common.OperStatus_Types {
Don Newton98fd8812019-09-23 15:15:02 -0400989 if m != nil {
990 return m.OperStatus
991 }
992 return common.OperStatus_UNKNOWN
993}
994
995func (m *Port) GetDeviceId() string {
996 if m != nil {
997 return m.DeviceId
998 }
999 return ""
1000}
1001
1002func (m *Port) GetPeers() []*Port_PeerPort {
1003 if m != nil {
1004 return m.Peers
1005 }
1006 return nil
1007}
1008
1009func (m *Port) GetRxPackets() uint64 {
1010 if m != nil {
1011 return m.RxPackets
1012 }
1013 return 0
1014}
1015
1016func (m *Port) GetRxBytes() uint64 {
1017 if m != nil {
1018 return m.RxBytes
1019 }
1020 return 0
1021}
1022
1023func (m *Port) GetRxErrors() uint64 {
1024 if m != nil {
1025 return m.RxErrors
1026 }
1027 return 0
1028}
1029
1030func (m *Port) GetTxPackets() uint64 {
1031 if m != nil {
1032 return m.TxPackets
1033 }
1034 return 0
1035}
1036
1037func (m *Port) GetTxBytes() uint64 {
1038 if m != nil {
1039 return m.TxBytes
1040 }
1041 return 0
1042}
1043
1044func (m *Port) GetTxErrors() uint64 {
1045 if m != nil {
1046 return m.TxErrors
1047 }
1048 return 0
1049}
1050
Rohan Agrawalc32d9932020-06-15 11:01:47 +00001051func (m *Port) GetOfpPort() *openflow_13.OfpPort {
1052 if m != nil {
1053 return m.OfpPort
1054 }
1055 return nil
1056}
1057
Don Newton98fd8812019-09-23 15:15:02 -04001058type Port_PeerPort struct {
1059 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1060 PortNo uint32 `protobuf:"varint,2,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
1061 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1062 XXX_unrecognized []byte `json:"-"`
1063 XXX_sizecache int32 `json:"-"`
1064}
1065
1066func (m *Port_PeerPort) Reset() { *m = Port_PeerPort{} }
1067func (m *Port_PeerPort) String() string { return proto.CompactTextString(m) }
1068func (*Port_PeerPort) ProtoMessage() {}
1069func (*Port_PeerPort) Descriptor() ([]byte, []int) {
1070 return fileDescriptor_200940f73d155856, []int{9, 0}
1071}
1072
1073func (m *Port_PeerPort) XXX_Unmarshal(b []byte) error {
1074 return xxx_messageInfo_Port_PeerPort.Unmarshal(m, b)
1075}
1076func (m *Port_PeerPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1077 return xxx_messageInfo_Port_PeerPort.Marshal(b, m, deterministic)
1078}
1079func (m *Port_PeerPort) XXX_Merge(src proto.Message) {
1080 xxx_messageInfo_Port_PeerPort.Merge(m, src)
1081}
1082func (m *Port_PeerPort) XXX_Size() int {
1083 return xxx_messageInfo_Port_PeerPort.Size(m)
1084}
1085func (m *Port_PeerPort) XXX_DiscardUnknown() {
1086 xxx_messageInfo_Port_PeerPort.DiscardUnknown(m)
1087}
1088
1089var xxx_messageInfo_Port_PeerPort proto.InternalMessageInfo
1090
1091func (m *Port_PeerPort) GetDeviceId() string {
1092 if m != nil {
1093 return m.DeviceId
1094 }
1095 return ""
1096}
1097
1098func (m *Port_PeerPort) GetPortNo() uint32 {
1099 if m != nil {
1100 return m.PortNo
1101 }
1102 return 0
1103}
1104
1105type Ports struct {
1106 Items []*Port `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1107 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1108 XXX_unrecognized []byte `json:"-"`
1109 XXX_sizecache int32 `json:"-"`
1110}
1111
1112func (m *Ports) Reset() { *m = Ports{} }
1113func (m *Ports) String() string { return proto.CompactTextString(m) }
1114func (*Ports) ProtoMessage() {}
1115func (*Ports) Descriptor() ([]byte, []int) {
1116 return fileDescriptor_200940f73d155856, []int{10}
1117}
1118
1119func (m *Ports) XXX_Unmarshal(b []byte) error {
1120 return xxx_messageInfo_Ports.Unmarshal(m, b)
1121}
1122func (m *Ports) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1123 return xxx_messageInfo_Ports.Marshal(b, m, deterministic)
1124}
1125func (m *Ports) XXX_Merge(src proto.Message) {
1126 xxx_messageInfo_Ports.Merge(m, src)
1127}
1128func (m *Ports) XXX_Size() int {
1129 return xxx_messageInfo_Ports.Size(m)
1130}
1131func (m *Ports) XXX_DiscardUnknown() {
1132 xxx_messageInfo_Ports.DiscardUnknown(m)
1133}
1134
1135var xxx_messageInfo_Ports proto.InternalMessageInfo
1136
1137func (m *Ports) GetItems() []*Port {
1138 if m != nil {
1139 return m.Items
1140 }
1141 return nil
1142}
1143
1144// A Physical Device instance
1145type Device struct {
1146 // Voltha's device identifier
1147 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1148 // Device type, refers to one of the registered device types
1149 Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
1150 // Is this device a root device. Each logical switch has one root
1151 // device that is associated with the logical flow switch.
1152 Root bool `protobuf:"varint,3,opt,name=root,proto3" json:"root,omitempty"`
1153 // Parent device id, in the device tree (for a root device, the parent_id
1154 // is the logical_device.id)
1155 ParentId string `protobuf:"bytes,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
1156 ParentPortNo uint32 `protobuf:"varint,20,opt,name=parent_port_no,json=parentPortNo,proto3" json:"parent_port_no,omitempty"`
1157 // Vendor, version, serial number, etc.
1158 Vendor string `protobuf:"bytes,5,opt,name=vendor,proto3" json:"vendor,omitempty"`
1159 Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
1160 HardwareVersion string `protobuf:"bytes,7,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
1161 FirmwareVersion string `protobuf:"bytes,8,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
1162 // List of software on the device
1163 Images *Images `protobuf:"bytes,9,opt,name=images,proto3" json:"images,omitempty"`
1164 SerialNumber string `protobuf:"bytes,10,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
1165 VendorId string `protobuf:"bytes,24,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
1166 // Addapter that takes care of device
1167 Adapter string `protobuf:"bytes,11,opt,name=adapter,proto3" json:"adapter,omitempty"`
1168 // Device contact on vlan (if 0, no vlan)
1169 Vlan uint32 `protobuf:"varint,12,opt,name=vlan,proto3" json:"vlan,omitempty"`
1170 // Device contact MAC address (format: "xx:xx:xx:xx:xx:xx")
1171 MacAddress string `protobuf:"bytes,13,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
1172 // Types that are valid to be assigned to Address:
1173 // *Device_Ipv4Address
1174 // *Device_Ipv6Address
1175 // *Device_HostAndPort
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001176 Address isDevice_Address `protobuf_oneof:"address"`
1177 ExtraArgs string `protobuf:"bytes,23,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"`
1178 ProxyAddress *Device_ProxyAddress `protobuf:"bytes,19,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
1179 AdminState common.AdminState_Types `protobuf:"varint,16,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
1180 OperStatus common.OperStatus_Types `protobuf:"varint,17,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
1181 Reason string `protobuf:"bytes,22,opt,name=reason,proto3" json:"reason,omitempty"`
1182 ConnectStatus common.ConnectStatus_Types `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
Don Newton98fd8812019-09-23 15:15:02 -04001183 // Device type specific attributes
Girish Kumaradc3ba12020-06-15 14:22:55 +00001184 Custom *any.Any `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
Don Newton98fd8812019-09-23 15:15:02 -04001185 // PmConfigs will eventually converted to a child node of the
1186 // device to falicitata callbacks and to simplify manipulation.
1187 PmConfigs *PmConfigs `protobuf:"bytes,131,opt,name=pm_configs,json=pmConfigs,proto3" json:"pm_configs,omitempty"`
1188 ImageDownloads []*ImageDownload `protobuf:"bytes,133,rep,name=image_downloads,json=imageDownloads,proto3" json:"image_downloads,omitempty"`
1189 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1190 XXX_unrecognized []byte `json:"-"`
1191 XXX_sizecache int32 `json:"-"`
1192}
1193
1194func (m *Device) Reset() { *m = Device{} }
1195func (m *Device) String() string { return proto.CompactTextString(m) }
1196func (*Device) ProtoMessage() {}
1197func (*Device) Descriptor() ([]byte, []int) {
1198 return fileDescriptor_200940f73d155856, []int{11}
1199}
1200
1201func (m *Device) XXX_Unmarshal(b []byte) error {
1202 return xxx_messageInfo_Device.Unmarshal(m, b)
1203}
1204func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1205 return xxx_messageInfo_Device.Marshal(b, m, deterministic)
1206}
1207func (m *Device) XXX_Merge(src proto.Message) {
1208 xxx_messageInfo_Device.Merge(m, src)
1209}
1210func (m *Device) XXX_Size() int {
1211 return xxx_messageInfo_Device.Size(m)
1212}
1213func (m *Device) XXX_DiscardUnknown() {
1214 xxx_messageInfo_Device.DiscardUnknown(m)
1215}
1216
1217var xxx_messageInfo_Device proto.InternalMessageInfo
1218
1219func (m *Device) GetId() string {
1220 if m != nil {
1221 return m.Id
1222 }
1223 return ""
1224}
1225
1226func (m *Device) GetType() string {
1227 if m != nil {
1228 return m.Type
1229 }
1230 return ""
1231}
1232
1233func (m *Device) GetRoot() bool {
1234 if m != nil {
1235 return m.Root
1236 }
1237 return false
1238}
1239
1240func (m *Device) GetParentId() string {
1241 if m != nil {
1242 return m.ParentId
1243 }
1244 return ""
1245}
1246
1247func (m *Device) GetParentPortNo() uint32 {
1248 if m != nil {
1249 return m.ParentPortNo
1250 }
1251 return 0
1252}
1253
1254func (m *Device) GetVendor() string {
1255 if m != nil {
1256 return m.Vendor
1257 }
1258 return ""
1259}
1260
1261func (m *Device) GetModel() string {
1262 if m != nil {
1263 return m.Model
1264 }
1265 return ""
1266}
1267
1268func (m *Device) GetHardwareVersion() string {
1269 if m != nil {
1270 return m.HardwareVersion
1271 }
1272 return ""
1273}
1274
1275func (m *Device) GetFirmwareVersion() string {
1276 if m != nil {
1277 return m.FirmwareVersion
1278 }
1279 return ""
1280}
1281
1282func (m *Device) GetImages() *Images {
1283 if m != nil {
1284 return m.Images
1285 }
1286 return nil
1287}
1288
1289func (m *Device) GetSerialNumber() string {
1290 if m != nil {
1291 return m.SerialNumber
1292 }
1293 return ""
1294}
1295
1296func (m *Device) GetVendorId() string {
1297 if m != nil {
1298 return m.VendorId
1299 }
1300 return ""
1301}
1302
1303func (m *Device) GetAdapter() string {
1304 if m != nil {
1305 return m.Adapter
1306 }
1307 return ""
1308}
1309
1310func (m *Device) GetVlan() uint32 {
1311 if m != nil {
1312 return m.Vlan
1313 }
1314 return 0
1315}
1316
1317func (m *Device) GetMacAddress() string {
1318 if m != nil {
1319 return m.MacAddress
1320 }
1321 return ""
1322}
1323
1324type isDevice_Address interface {
1325 isDevice_Address()
1326}
1327
1328type Device_Ipv4Address struct {
1329 Ipv4Address string `protobuf:"bytes,14,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"`
1330}
1331
1332type Device_Ipv6Address struct {
1333 Ipv6Address string `protobuf:"bytes,15,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"`
1334}
1335
1336type Device_HostAndPort struct {
1337 HostAndPort string `protobuf:"bytes,21,opt,name=host_and_port,json=hostAndPort,proto3,oneof"`
1338}
1339
1340func (*Device_Ipv4Address) isDevice_Address() {}
1341
1342func (*Device_Ipv6Address) isDevice_Address() {}
1343
1344func (*Device_HostAndPort) isDevice_Address() {}
1345
1346func (m *Device) GetAddress() isDevice_Address {
1347 if m != nil {
1348 return m.Address
1349 }
1350 return nil
1351}
1352
1353func (m *Device) GetIpv4Address() string {
1354 if x, ok := m.GetAddress().(*Device_Ipv4Address); ok {
1355 return x.Ipv4Address
1356 }
1357 return ""
1358}
1359
1360func (m *Device) GetIpv6Address() string {
1361 if x, ok := m.GetAddress().(*Device_Ipv6Address); ok {
1362 return x.Ipv6Address
1363 }
1364 return ""
1365}
1366
1367func (m *Device) GetHostAndPort() string {
1368 if x, ok := m.GetAddress().(*Device_HostAndPort); ok {
1369 return x.HostAndPort
1370 }
1371 return ""
1372}
1373
1374func (m *Device) GetExtraArgs() string {
1375 if m != nil {
1376 return m.ExtraArgs
1377 }
1378 return ""
1379}
1380
1381func (m *Device) GetProxyAddress() *Device_ProxyAddress {
1382 if m != nil {
1383 return m.ProxyAddress
1384 }
1385 return nil
1386}
1387
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001388func (m *Device) GetAdminState() common.AdminState_Types {
Don Newton98fd8812019-09-23 15:15:02 -04001389 if m != nil {
1390 return m.AdminState
1391 }
1392 return common.AdminState_UNKNOWN
1393}
1394
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001395func (m *Device) GetOperStatus() common.OperStatus_Types {
Don Newton98fd8812019-09-23 15:15:02 -04001396 if m != nil {
1397 return m.OperStatus
1398 }
1399 return common.OperStatus_UNKNOWN
1400}
1401
1402func (m *Device) GetReason() string {
1403 if m != nil {
1404 return m.Reason
1405 }
1406 return ""
1407}
1408
David K. Bainbridgeaea73cd2020-01-27 10:44:50 -08001409func (m *Device) GetConnectStatus() common.ConnectStatus_Types {
Don Newton98fd8812019-09-23 15:15:02 -04001410 if m != nil {
1411 return m.ConnectStatus
1412 }
1413 return common.ConnectStatus_UNKNOWN
1414}
1415
1416func (m *Device) GetCustom() *any.Any {
1417 if m != nil {
1418 return m.Custom
1419 }
1420 return nil
1421}
1422
Don Newton98fd8812019-09-23 15:15:02 -04001423func (m *Device) GetPmConfigs() *PmConfigs {
1424 if m != nil {
1425 return m.PmConfigs
1426 }
1427 return nil
1428}
1429
1430func (m *Device) GetImageDownloads() []*ImageDownload {
1431 if m != nil {
1432 return m.ImageDownloads
1433 }
1434 return nil
1435}
1436
1437// XXX_OneofWrappers is for the internal use of the proto package.
1438func (*Device) XXX_OneofWrappers() []interface{} {
1439 return []interface{}{
1440 (*Device_Ipv4Address)(nil),
1441 (*Device_Ipv6Address)(nil),
1442 (*Device_HostAndPort)(nil),
1443 }
1444}
1445
1446type Device_ProxyAddress struct {
1447 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1448 DeviceType string `protobuf:"bytes,2,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
1449 ChannelId uint32 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
1450 ChannelGroupId uint32 `protobuf:"varint,4,opt,name=channel_group_id,json=channelGroupId,proto3" json:"channel_group_id,omitempty"`
1451 ChannelTermination string `protobuf:"bytes,5,opt,name=channel_termination,json=channelTermination,proto3" json:"channel_termination,omitempty"`
1452 OnuId uint32 `protobuf:"varint,6,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
1453 OnuSessionId uint32 `protobuf:"varint,7,opt,name=onu_session_id,json=onuSessionId,proto3" json:"onu_session_id,omitempty"`
1454 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1455 XXX_unrecognized []byte `json:"-"`
1456 XXX_sizecache int32 `json:"-"`
1457}
1458
1459func (m *Device_ProxyAddress) Reset() { *m = Device_ProxyAddress{} }
1460func (m *Device_ProxyAddress) String() string { return proto.CompactTextString(m) }
1461func (*Device_ProxyAddress) ProtoMessage() {}
1462func (*Device_ProxyAddress) Descriptor() ([]byte, []int) {
1463 return fileDescriptor_200940f73d155856, []int{11, 0}
1464}
1465
1466func (m *Device_ProxyAddress) XXX_Unmarshal(b []byte) error {
1467 return xxx_messageInfo_Device_ProxyAddress.Unmarshal(m, b)
1468}
1469func (m *Device_ProxyAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1470 return xxx_messageInfo_Device_ProxyAddress.Marshal(b, m, deterministic)
1471}
1472func (m *Device_ProxyAddress) XXX_Merge(src proto.Message) {
1473 xxx_messageInfo_Device_ProxyAddress.Merge(m, src)
1474}
1475func (m *Device_ProxyAddress) XXX_Size() int {
1476 return xxx_messageInfo_Device_ProxyAddress.Size(m)
1477}
1478func (m *Device_ProxyAddress) XXX_DiscardUnknown() {
1479 xxx_messageInfo_Device_ProxyAddress.DiscardUnknown(m)
1480}
1481
1482var xxx_messageInfo_Device_ProxyAddress proto.InternalMessageInfo
1483
1484func (m *Device_ProxyAddress) GetDeviceId() string {
1485 if m != nil {
1486 return m.DeviceId
1487 }
1488 return ""
1489}
1490
1491func (m *Device_ProxyAddress) GetDeviceType() string {
1492 if m != nil {
1493 return m.DeviceType
1494 }
1495 return ""
1496}
1497
1498func (m *Device_ProxyAddress) GetChannelId() uint32 {
1499 if m != nil {
1500 return m.ChannelId
1501 }
1502 return 0
1503}
1504
1505func (m *Device_ProxyAddress) GetChannelGroupId() uint32 {
1506 if m != nil {
1507 return m.ChannelGroupId
1508 }
1509 return 0
1510}
1511
1512func (m *Device_ProxyAddress) GetChannelTermination() string {
1513 if m != nil {
1514 return m.ChannelTermination
1515 }
1516 return ""
1517}
1518
1519func (m *Device_ProxyAddress) GetOnuId() uint32 {
1520 if m != nil {
1521 return m.OnuId
1522 }
1523 return 0
1524}
1525
1526func (m *Device_ProxyAddress) GetOnuSessionId() uint32 {
1527 if m != nil {
1528 return m.OnuSessionId
1529 }
1530 return 0
1531}
1532
1533type Devices struct {
1534 Items []*Device `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1535 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1536 XXX_unrecognized []byte `json:"-"`
1537 XXX_sizecache int32 `json:"-"`
1538}
1539
1540func (m *Devices) Reset() { *m = Devices{} }
1541func (m *Devices) String() string { return proto.CompactTextString(m) }
1542func (*Devices) ProtoMessage() {}
1543func (*Devices) Descriptor() ([]byte, []int) {
1544 return fileDescriptor_200940f73d155856, []int{12}
1545}
1546
1547func (m *Devices) XXX_Unmarshal(b []byte) error {
1548 return xxx_messageInfo_Devices.Unmarshal(m, b)
1549}
1550func (m *Devices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1551 return xxx_messageInfo_Devices.Marshal(b, m, deterministic)
1552}
1553func (m *Devices) XXX_Merge(src proto.Message) {
1554 xxx_messageInfo_Devices.Merge(m, src)
1555}
1556func (m *Devices) XXX_Size() int {
1557 return xxx_messageInfo_Devices.Size(m)
1558}
1559func (m *Devices) XXX_DiscardUnknown() {
1560 xxx_messageInfo_Devices.DiscardUnknown(m)
1561}
1562
1563var xxx_messageInfo_Devices proto.InternalMessageInfo
1564
1565func (m *Devices) GetItems() []*Device {
1566 if m != nil {
1567 return m.Items
1568 }
1569 return nil
1570}
1571
1572type SimulateAlarmRequest struct {
1573 // Device Identifier
1574 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1575 Indicator string `protobuf:"bytes,2,opt,name=indicator,proto3" json:"indicator,omitempty"`
1576 IntfId string `protobuf:"bytes,3,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
1577 PortTypeName string `protobuf:"bytes,4,opt,name=port_type_name,json=portTypeName,proto3" json:"port_type_name,omitempty"`
1578 OnuDeviceId string `protobuf:"bytes,5,opt,name=onu_device_id,json=onuDeviceId,proto3" json:"onu_device_id,omitempty"`
1579 InverseBitErrorRate int32 `protobuf:"varint,6,opt,name=inverse_bit_error_rate,json=inverseBitErrorRate,proto3" json:"inverse_bit_error_rate,omitempty"`
1580 Drift int32 `protobuf:"varint,7,opt,name=drift,proto3" json:"drift,omitempty"`
1581 NewEqd int32 `protobuf:"varint,8,opt,name=new_eqd,json=newEqd,proto3" json:"new_eqd,omitempty"`
1582 OnuSerialNumber string `protobuf:"bytes,9,opt,name=onu_serial_number,json=onuSerialNumber,proto3" json:"onu_serial_number,omitempty"`
1583 Operation SimulateAlarmRequest_OperationType `protobuf:"varint,10,opt,name=operation,proto3,enum=voltha.SimulateAlarmRequest_OperationType" json:"operation,omitempty"`
1584 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1585 XXX_unrecognized []byte `json:"-"`
1586 XXX_sizecache int32 `json:"-"`
1587}
1588
1589func (m *SimulateAlarmRequest) Reset() { *m = SimulateAlarmRequest{} }
1590func (m *SimulateAlarmRequest) String() string { return proto.CompactTextString(m) }
1591func (*SimulateAlarmRequest) ProtoMessage() {}
1592func (*SimulateAlarmRequest) Descriptor() ([]byte, []int) {
1593 return fileDescriptor_200940f73d155856, []int{13}
1594}
1595
1596func (m *SimulateAlarmRequest) XXX_Unmarshal(b []byte) error {
1597 return xxx_messageInfo_SimulateAlarmRequest.Unmarshal(m, b)
1598}
1599func (m *SimulateAlarmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1600 return xxx_messageInfo_SimulateAlarmRequest.Marshal(b, m, deterministic)
1601}
1602func (m *SimulateAlarmRequest) XXX_Merge(src proto.Message) {
1603 xxx_messageInfo_SimulateAlarmRequest.Merge(m, src)
1604}
1605func (m *SimulateAlarmRequest) XXX_Size() int {
1606 return xxx_messageInfo_SimulateAlarmRequest.Size(m)
1607}
1608func (m *SimulateAlarmRequest) XXX_DiscardUnknown() {
1609 xxx_messageInfo_SimulateAlarmRequest.DiscardUnknown(m)
1610}
1611
1612var xxx_messageInfo_SimulateAlarmRequest proto.InternalMessageInfo
1613
1614func (m *SimulateAlarmRequest) GetId() string {
1615 if m != nil {
1616 return m.Id
1617 }
1618 return ""
1619}
1620
1621func (m *SimulateAlarmRequest) GetIndicator() string {
1622 if m != nil {
1623 return m.Indicator
1624 }
1625 return ""
1626}
1627
1628func (m *SimulateAlarmRequest) GetIntfId() string {
1629 if m != nil {
1630 return m.IntfId
1631 }
1632 return ""
1633}
1634
1635func (m *SimulateAlarmRequest) GetPortTypeName() string {
1636 if m != nil {
1637 return m.PortTypeName
1638 }
1639 return ""
1640}
1641
1642func (m *SimulateAlarmRequest) GetOnuDeviceId() string {
1643 if m != nil {
1644 return m.OnuDeviceId
1645 }
1646 return ""
1647}
1648
1649func (m *SimulateAlarmRequest) GetInverseBitErrorRate() int32 {
1650 if m != nil {
1651 return m.InverseBitErrorRate
1652 }
1653 return 0
1654}
1655
1656func (m *SimulateAlarmRequest) GetDrift() int32 {
1657 if m != nil {
1658 return m.Drift
1659 }
1660 return 0
1661}
1662
1663func (m *SimulateAlarmRequest) GetNewEqd() int32 {
1664 if m != nil {
1665 return m.NewEqd
1666 }
1667 return 0
1668}
1669
1670func (m *SimulateAlarmRequest) GetOnuSerialNumber() string {
1671 if m != nil {
1672 return m.OnuSerialNumber
1673 }
1674 return ""
1675}
1676
1677func (m *SimulateAlarmRequest) GetOperation() SimulateAlarmRequest_OperationType {
1678 if m != nil {
1679 return m.Operation
1680 }
1681 return SimulateAlarmRequest_RAISE
1682}
1683
1684func init() {
1685 proto.RegisterEnum("voltha.PmConfig_PmType", PmConfig_PmType_name, PmConfig_PmType_value)
1686 proto.RegisterEnum("voltha.ImageDownload_ImageDownloadState", ImageDownload_ImageDownloadState_name, ImageDownload_ImageDownloadState_value)
1687 proto.RegisterEnum("voltha.ImageDownload_ImageDownloadFailureReason", ImageDownload_ImageDownloadFailureReason_name, ImageDownload_ImageDownloadFailureReason_value)
1688 proto.RegisterEnum("voltha.ImageDownload_ImageActivateState", ImageDownload_ImageActivateState_name, ImageDownload_ImageActivateState_value)
1689 proto.RegisterEnum("voltha.Port_PortType", Port_PortType_name, Port_PortType_value)
1690 proto.RegisterEnum("voltha.SimulateAlarmRequest_OperationType", SimulateAlarmRequest_OperationType_name, SimulateAlarmRequest_OperationType_value)
1691 proto.RegisterType((*DeviceType)(nil), "voltha.DeviceType")
1692 proto.RegisterType((*DeviceTypes)(nil), "voltha.DeviceTypes")
1693 proto.RegisterType((*PmConfig)(nil), "voltha.PmConfig")
1694 proto.RegisterType((*PmGroupConfig)(nil), "voltha.PmGroupConfig")
1695 proto.RegisterType((*PmConfigs)(nil), "voltha.PmConfigs")
1696 proto.RegisterType((*Image)(nil), "voltha.Image")
1697 proto.RegisterType((*Images)(nil), "voltha.Images")
1698 proto.RegisterType((*ImageDownload)(nil), "voltha.ImageDownload")
1699 proto.RegisterType((*ImageDownloads)(nil), "voltha.ImageDownloads")
1700 proto.RegisterType((*Port)(nil), "voltha.Port")
1701 proto.RegisterType((*Port_PeerPort)(nil), "voltha.Port.PeerPort")
1702 proto.RegisterType((*Ports)(nil), "voltha.Ports")
1703 proto.RegisterType((*Device)(nil), "voltha.Device")
1704 proto.RegisterType((*Device_ProxyAddress)(nil), "voltha.Device.ProxyAddress")
1705 proto.RegisterType((*Devices)(nil), "voltha.Devices")
1706 proto.RegisterType((*SimulateAlarmRequest)(nil), "voltha.SimulateAlarmRequest")
1707}
1708
1709func init() { proto.RegisterFile("voltha_protos/device.proto", fileDescriptor_200940f73d155856) }
1710
1711var fileDescriptor_200940f73d155856 = []byte{
Girish Kumaradc3ba12020-06-15 14:22:55 +00001712 // 2341 bytes of a gzipped FileDescriptorProto
Maninder12b909f2020-10-23 14:23:36 +05301713 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0xcd, 0x72, 0xdb, 0xb8,
1714 0x1d, 0x8f, 0x64, 0x8b, 0x12, 0xff, 0xfa, 0x30, 0x83, 0x38, 0x09, 0x63, 0xd7, 0xe3, 0x54, 0xd9,
1715 0x4e, 0x9d, 0xa4, 0xb1, 0xd3, 0x64, 0x67, 0x77, 0x7b, 0xe8, 0x4c, 0x64, 0x89, 0x4e, 0x38, 0x75,
1716 0x25, 0x17, 0x92, 0xbc, 0x6d, 0x2f, 0x1c, 0x5a, 0x84, 0x6c, 0x4e, 0x48, 0x42, 0x01, 0x28, 0xd9,
1717 0xde, 0x5b, 0x67, 0xa7, 0x3d, 0xf5, 0xd6, 0x5b, 0x9f, 0xa0, 0x6f, 0xb0, 0xc7, 0xf6, 0x05, 0x76,
1718 0xfa, 0x0e, 0xed, 0xa5, 0x4f, 0xb0, 0xe7, 0x0e, 0x00, 0x42, 0x22, 0x9d, 0x34, 0xdb, 0xbd, 0xd8,
1719 0xc4, 0xef, 0xff, 0x01, 0xe0, 0x07, 0xfc, 0x3f, 0x20, 0xd8, 0x5a, 0xd0, 0x28, 0xbd, 0xf0, 0xbd,
1720 0x19, 0xa3, 0x29, 0xe5, 0x07, 0x01, 0x59, 0x84, 0x13, 0xb2, 0x2f, 0x47, 0xc8, 0x50, 0xb2, 0xad,
1721 0x07, 0xe7, 0x94, 0x9e, 0x47, 0xe4, 0x40, 0xa2, 0x67, 0xf3, 0xe9, 0x81, 0x9f, 0x5c, 0x2b, 0x95,
1722 0xad, 0x1b, 0xe6, 0x13, 0x1a, 0xc7, 0x34, 0xc9, 0x64, 0x76, 0x51, 0x16, 0x93, 0xd4, 0xcf, 0x24,
1723 0xbb, 0x45, 0x09, 0x9d, 0x91, 0x64, 0x1a, 0xd1, 0x4b, 0xef, 0xe7, 0x2f, 0x95, 0x42, 0xfb, 0xef,
1724 0x65, 0x80, 0x9e, 0x5c, 0xca, 0xe8, 0x7a, 0x46, 0x50, 0x0b, 0xca, 0x61, 0x60, 0x97, 0x1e, 0x96,
1725 0xf6, 0x4c, 0x5c, 0x0e, 0x03, 0xb4, 0x0d, 0xe6, 0x82, 0x24, 0x01, 0x65, 0x5e, 0x18, 0xd8, 0x15,
1726 0x09, 0xd7, 0x14, 0xe0, 0x06, 0x68, 0x07, 0x60, 0x29, 0xe4, 0xb6, 0xf1, 0x70, 0x6d, 0xcf, 0xc4,
1727 0xa6, 0x96, 0x72, 0x64, 0x43, 0xd5, 0x0f, 0xfc, 0x59, 0x4a, 0x98, 0x5d, 0x96, 0x96, 0x7a, 0x88,
1728 0x3e, 0x07, 0xdb, 0x9f, 0x4c, 0xc8, 0x2c, 0xe5, 0xde, 0xd9, 0x3c, 0x7a, 0xeb, 0xc9, 0x25, 0xcd,
1729 0x67, 0x81, 0x9f, 0x12, 0x7b, 0xed, 0x61, 0x69, 0xaf, 0x86, 0xef, 0x66, 0xf2, 0xc3, 0x79, 0xf4,
1730 0xf6, 0x28, 0xa2, 0x97, 0x63, 0x29, 0x44, 0x3d, 0xd8, 0xd5, 0x86, 0x7e, 0x10, 0x78, 0x8c, 0xc4,
1731 0x74, 0x41, 0xf2, 0xe6, 0xdc, 0x5e, 0x97, 0xf6, 0xdb, 0x99, 0x5a, 0x27, 0x08, 0xb0, 0x54, 0x5a,
1732 0x39, 0xe1, 0xe8, 0x18, 0x1e, 0x69, 0x2f, 0x41, 0xc8, 0xc8, 0x24, 0xf5, 0x22, 0x7a, 0x1e, 0x4e,
1733 0xfc, 0x48, 0x7a, 0xe2, 0x7a, 0x25, 0x55, 0xe9, 0x49, 0x4f, 0xd8, 0x93, 0x9a, 0xc7, 0x4a, 0x51,
1734 0x78, 0xe3, 0xca, 0x5d, 0xfb, 0x73, 0xa8, 0xaf, 0x08, 0xe4, 0x68, 0x0f, 0x2a, 0x61, 0x4a, 0x62,
1735 0x6e, 0x97, 0x1e, 0xae, 0xed, 0xd5, 0x5f, 0xa0, 0x7d, 0x75, 0x02, 0xfb, 0x2b, 0x1d, 0xac, 0x14,
1736 0xda, 0xff, 0x28, 0x41, 0xed, 0x24, 0xee, 0xd2, 0x64, 0x1a, 0x9e, 0x23, 0x04, 0xeb, 0x89, 0x1f,
1737 0x93, 0x8c, 0x7a, 0xf9, 0x8d, 0x9e, 0xc2, 0x7a, 0x7a, 0x3d, 0x23, 0x92, 0xbd, 0xd6, 0x8b, 0xfb,
1738 0xda, 0x93, 0xb6, 0xd9, 0x3f, 0x89, 0xa5, 0x3b, 0xa9, 0x24, 0xd8, 0x26, 0x89, 0x7f, 0x16, 0x91,
1739 0x20, 0xa3, 0x50, 0x0f, 0xd1, 0x2e, 0xd4, 0xb9, 0x1f, 0xcf, 0x22, 0xe2, 0x4d, 0x19, 0x79, 0x27,
1740 0x09, 0x6a, 0x62, 0x50, 0xd0, 0x11, 0x23, 0xef, 0xda, 0x5f, 0x80, 0xa1, 0x5c, 0xa1, 0x3a, 0x54,
1741 0xbb, 0x83, 0x71, 0x7f, 0xe4, 0x60, 0xeb, 0x16, 0x32, 0xa1, 0xf2, 0xba, 0x33, 0x7e, 0xed, 0x58,
1742 0x25, 0xf1, 0x39, 0x1c, 0x75, 0x46, 0x8e, 0x55, 0x56, 0x2a, 0xfd, 0x91, 0xf3, 0xdb, 0x91, 0xb5,
1743 0xd6, 0xfe, 0x4b, 0x09, 0x9a, 0x27, 0xf1, 0x6b, 0x46, 0xe7, 0xb3, 0x6c, 0x1f, 0x3b, 0x00, 0xe7,
1744 0x62, 0xe8, 0xe5, 0x76, 0x63, 0x4a, 0xa4, 0x2f, 0xb6, 0xb4, 0x14, 0xcb, 0xa5, 0x94, 0xe5, 0x52,
1745 0x94, 0x58, 0xac, 0xe4, 0x23, 0x9b, 0x78, 0x02, 0xd5, 0x98, 0xa4, 0x2c, 0x9c, 0x88, 0x13, 0x16,
1746 0xc4, 0x5a, 0x37, 0xe9, 0xc0, 0x5a, 0xa1, 0xfd, 0x87, 0x32, 0x98, 0x1a, 0xe5, 0xef, 0x5d, 0xe9,
1747 0x1f, 0x43, 0x23, 0x20, 0x53, 0x7f, 0x1e, 0xa5, 0xf9, 0x45, 0xd4, 0x33, 0x4c, 0x2e, 0x63, 0x17,
1748 0xaa, 0x72, 0x4d, 0x7a, 0x19, 0x87, 0x95, 0xff, 0x7c, 0xf7, 0xed, 0x4e, 0x09, 0x6b, 0x14, 0x3d,
1749 0x81, 0xa6, 0xb0, 0xf5, 0xe8, 0x82, 0x30, 0x16, 0x06, 0x44, 0xdd, 0x3a, 0xad, 0xd6, 0x10, 0xb2,
1750 0x41, 0x26, 0x42, 0xcf, 0xc0, 0x90, 0x66, 0xdc, 0xae, 0xc8, 0x85, 0xdf, 0x5d, 0x2d, 0x3c, 0x47,
1751 0x1c, 0xce, 0x94, 0xf2, 0x1b, 0x35, 0xbe, 0x67, 0xa3, 0xe8, 0x01, 0xd4, 0x62, 0xff, 0xca, 0xe3,
1752 0x6f, 0xc9, 0xa5, 0xbc, 0xad, 0x4d, 0x5c, 0x8d, 0xfd, 0xab, 0xe1, 0x5b, 0x72, 0xd9, 0xfe, 0x67,
1753 0x09, 0x2a, 0x6e, 0xec, 0x9f, 0x93, 0x0f, 0xde, 0x2c, 0x1b, 0xaa, 0x0b, 0xc2, 0x78, 0x48, 0x13,
1754 0x1d, 0x9a, 0xd9, 0x50, 0x68, 0x5f, 0xf8, 0xfc, 0x42, 0xee, 0xdb, 0xc4, 0xf2, 0x1b, 0x3d, 0x06,
1755 0x2b, 0x4c, 0x78, 0xea, 0x47, 0x91, 0x27, 0x6e, 0x7c, 0x1a, 0xc6, 0x6a, 0xc3, 0x26, 0xde, 0xc8,
1756 0xf0, 0x5e, 0x06, 0x8b, 0x7c, 0x11, 0x72, 0xcf, 0x9f, 0xa4, 0xe1, 0x82, 0xc8, 0x7c, 0x51, 0xc3,
1757 0xb5, 0x90, 0x77, 0xe4, 0x58, 0x30, 0x1f, 0x72, 0x4f, 0x64, 0xae, 0x30, 0x4d, 0x49, 0x60, 0x1b,
1758 0x52, 0x5e, 0x0f, 0x79, 0x57, 0x43, 0x62, 0x47, 0x21, 0xf7, 0x16, 0x7e, 0x14, 0x06, 0x59, 0xfc,
1759 0x55, 0x43, 0x7e, 0x2a, 0x86, 0xed, 0x67, 0x60, 0xc8, 0x0d, 0x71, 0xf4, 0x08, 0x2a, 0xa1, 0xf8,
1760 0xca, 0x42, 0xac, 0xa9, 0x09, 0x92, 0x62, 0xac, 0x64, 0xed, 0x7f, 0x57, 0xa1, 0x29, 0x81, 0x1e,
1761 0xbd, 0x4c, 0x22, 0xea, 0x07, 0xef, 0x5d, 0x04, 0x4d, 0x4c, 0x39, 0x47, 0x8c, 0x05, 0x6b, 0x73,
1762 0x16, 0x65, 0xbb, 0x17, 0x9f, 0x02, 0x99, 0xb0, 0x49, 0x16, 0x35, 0xe2, 0x13, 0x0d, 0xa0, 0x15,
1763 0x64, 0x3e, 0x3d, 0x9e, 0x8a, 0x4c, 0x51, 0x91, 0x01, 0xba, 0x57, 0x58, 0x87, 0x9e, 0xb6, 0x38,
1764 0x1a, 0x0a, 0x7d, 0xdc, 0x0c, 0xf2, 0x43, 0xf4, 0x08, 0x9a, 0x72, 0xcd, 0x9e, 0x3e, 0x13, 0x43,
1765 0x4e, 0xdf, 0x90, 0xe0, 0x69, 0x76, 0x30, 0x8f, 0xc1, 0xd2, 0x56, 0x24, 0xf0, 0xce, 0xae, 0x45,
1766 0xae, 0x53, 0x67, 0xbe, 0xb1, 0xc2, 0x0f, 0x05, 0x8c, 0xde, 0x80, 0xc1, 0x88, 0xcf, 0x69, 0x62,
1767 0xd7, 0xe4, 0xc2, 0x9e, 0xff, 0x1f, 0x0b, 0x3b, 0xf2, 0xc3, 0x68, 0xce, 0x08, 0x96, 0x76, 0x38,
1768 0xb3, 0x47, 0x3f, 0x85, 0x0d, 0x3f, 0x08, 0xc2, 0x34, 0xa4, 0x89, 0x1f, 0x79, 0x61, 0x32, 0xa5,
1769 0xb6, 0x29, 0xd7, 0xd6, 0x5a, 0xc1, 0x6e, 0x32, 0xa5, 0x2a, 0xc7, 0x2c, 0x88, 0x37, 0x91, 0x37,
1770 0xd4, 0x06, 0x79, 0x74, 0x20, 0xa0, 0x2c, 0x2f, 0x6c, 0x83, 0x19, 0x51, 0x91, 0x62, 0x83, 0x90,
1771 0xd9, 0x75, 0x55, 0x48, 0x24, 0xd0, 0x0b, 0x19, 0x72, 0xa1, 0xae, 0x08, 0x50, 0x74, 0x36, 0xbe,
1772 0x97, 0x4e, 0x79, 0xa1, 0xfc, 0x94, 0x28, 0x3a, 0x41, 0x1a, 0x2b, 0x2e, 0xb7, 0xc1, 0x9c, 0x86,
1773 0x11, 0xf1, 0x78, 0xf8, 0x15, 0xb1, 0x9b, 0x92, 0x9f, 0x9a, 0x00, 0x86, 0xe1, 0x57, 0xa4, 0xfd,
1774 0x4d, 0x09, 0xd0, 0xfb, 0xc7, 0x81, 0x36, 0xc1, 0xea, 0x0d, 0xbe, 0xec, 0x1f, 0x0f, 0x3a, 0x3d,
1775 0x6f, 0xdc, 0xff, 0x55, 0x7f, 0xf0, 0x65, 0xdf, 0xba, 0x85, 0xee, 0x01, 0x5a, 0xa2, 0xc3, 0x71,
1776 0xb7, 0xeb, 0x38, 0x3d, 0xa7, 0x67, 0x95, 0x0a, 0x38, 0x76, 0x7e, 0x33, 0x76, 0x86, 0x23, 0xa7,
1777 0x67, 0x95, 0x0b, 0x5e, 0x86, 0xa3, 0x0e, 0x16, 0xe8, 0x1a, 0xba, 0x03, 0x1b, 0x4b, 0xf4, 0xa8,
1778 0xe3, 0x1e, 0x3b, 0x3d, 0x6b, 0x1d, 0xd9, 0xb0, 0x99, 0x9b, 0x70, 0x38, 0x3e, 0x39, 0x19, 0x48,
1779 0xf5, 0x4a, 0xc1, 0x79, 0xb7, 0xd3, 0xef, 0x3a, 0xc7, 0xc2, 0xc2, 0x68, 0xff, 0xa9, 0x04, 0x5b,
1780 0xff, 0xfb, 0xbc, 0x50, 0x03, 0x6a, 0xfd, 0x81, 0xe7, 0x60, 0x3c, 0x10, 0x89, 0x7b, 0x03, 0xea,
1781 0x6e, 0xff, 0xb4, 0x73, 0xec, 0xf6, 0xbc, 0x31, 0x3e, 0xb6, 0x4a, 0x02, 0xe8, 0x39, 0xa7, 0x6e,
1782 0xd7, 0xf1, 0x0e, 0xc7, 0xc3, 0xdf, 0x59, 0x65, 0x31, 0x8d, 0xdb, 0x1f, 0x8e, 0x8f, 0x8e, 0xdc,
1783 0xae, 0xeb, 0xf4, 0x47, 0xde, 0xf0, 0xa4, 0xd3, 0x75, 0xac, 0x35, 0x74, 0x1b, 0x9a, 0x19, 0x01,
1784 0x99, 0xb3, 0x75, 0xd4, 0x04, 0x73, 0xb5, 0x90, 0x4a, 0xfb, 0xcf, 0x9a, 0xc2, 0xc2, 0x11, 0x08,
1785 0x43, 0xf7, 0xd7, 0x9d, 0xd7, 0x4e, 0x8e, 0x3f, 0x04, 0x2d, 0x05, 0xb9, 0xfd, 0x4e, 0x77, 0xe4,
1786 0x9e, 0x8a, 0x3a, 0xb2, 0x09, 0x96, 0xc2, 0x24, 0xd2, 0x19, 0xb9, 0xfd, 0xd7, 0x56, 0x19, 0x59,
1787 0xd0, 0xc8, 0xa1, 0x8e, 0x62, 0x4d, 0x21, 0xd8, 0x39, 0x75, 0xb0, 0x54, 0x5b, 0x5f, 0x39, 0x54,
1788 0xa0, 0x5c, 0xce, 0x2f, 0xa1, 0x55, 0xa0, 0x85, 0xa3, 0xa7, 0xba, 0xfe, 0x96, 0x8b, 0xd9, 0xb6,
1789 0xa0, 0xa6, 0x4b, 0xf0, 0x37, 0x15, 0x58, 0x3f, 0xa1, 0x2c, 0x45, 0xf7, 0xa1, 0x3a, 0xa3, 0x2c,
1790 0xf5, 0x12, 0x2a, 0x13, 0x44, 0x13, 0x1b, 0x62, 0xd8, 0xa7, 0x68, 0x13, 0x2a, 0x91, 0x7f, 0x46,
1791 0xa2, 0x2c, 0x4b, 0xa8, 0x01, 0x7a, 0x9c, 0x55, 0xe6, 0x35, 0x79, 0x53, 0x57, 0x19, 0x9d, 0xb2,
1792 0x54, 0xfe, 0xc9, 0xd5, 0xe5, 0x5f, 0x40, 0xdd, 0x0f, 0xe2, 0x30, 0x29, 0xa4, 0x0a, 0x7b, 0x3f,
1793 0xeb, 0xdf, 0x3a, 0x42, 0x24, 0x29, 0xdc, 0x97, 0xed, 0x03, 0x06, 0x7f, 0x89, 0x08, 0x53, 0x3a,
1794 0x23, 0x4c, 0x5a, 0xce, 0xb9, 0xcc, 0x0a, 0x39, 0xd3, 0xc1, 0x8c, 0xb0, 0xa1, 0x94, 0x68, 0x53,
1795 0xba, 0x44, 0x44, 0x18, 0xa8, 0x06, 0xd3, 0xcb, 0x12, 0xa9, 0x89, 0x6b, 0x0a, 0x70, 0x03, 0x41,
1796 0xd1, 0x8c, 0x10, 0xc6, 0xed, 0xda, 0x8d, 0x82, 0x24, 0x97, 0x4f, 0x08, 0x13, 0x1f, 0x58, 0xe9,
1797 0x88, 0x8a, 0xcd, 0xae, 0xbc, 0x99, 0x3f, 0x79, 0x4b, 0x52, 0x2e, 0xa3, 0xdf, 0xc0, 0x26, 0xbb,
1798 0x3a, 0x51, 0x80, 0x48, 0xd8, 0xec, 0x2a, 0x4b, 0x47, 0x20, 0x85, 0x55, 0x76, 0xa5, 0xd2, 0xd0,
1799 0x36, 0x98, 0xec, 0xca, 0x23, 0x8c, 0x51, 0xc6, 0x65, 0xc8, 0x1b, 0xb8, 0xc6, 0xae, 0x1c, 0x39,
1800 0x16, 0x6e, 0xd3, 0x95, 0xdb, 0x86, 0x72, 0x9b, 0xe6, 0xdd, 0xa6, 0xda, 0x6d, 0x53, 0xb9, 0x4d,
1801 0x57, 0x6e, 0xd3, 0xa5, 0xdb, 0x96, 0x72, 0x9b, 0x6a, 0xb7, 0xcf, 0xa1, 0x46, 0xa7, 0x33, 0x4f,
1802 0x1c, 0x9e, 0xbd, 0xf1, 0xb0, 0x24, 0x77, 0x97, 0x6f, 0x7a, 0xb5, 0x10, 0x57, 0xe9, 0x74, 0x26,
1803 0xb6, 0xb9, 0xf5, 0x0a, 0x6a, 0x7a, 0xcb, 0x45, 0xd6, 0x4a, 0x37, 0x58, 0xcb, 0x5d, 0x91, 0x72,
1804 0xfe, 0x8a, 0xb4, 0x39, 0xd4, 0xf4, 0x99, 0x8b, 0xee, 0x68, 0x15, 0x01, 0x16, 0x34, 0x9c, 0xd1,
1805 0x1b, 0x07, 0xf7, 0x9d, 0x91, 0xd7, 0xef, 0xbb, 0x56, 0xa9, 0x80, 0x8c, 0xfb, 0xae, 0x6a, 0xa7,
1806 0x4e, 0x06, 0x7d, 0x6f, 0x70, 0x3c, 0xb2, 0xd6, 0x96, 0x83, 0xfe, 0x58, 0x05, 0xde, 0xa9, 0x23,
1807 0x14, 0x85, 0xac, 0x92, 0x1b, 0xf6, 0xc7, 0x96, 0xd1, 0x7e, 0x0a, 0x15, 0x31, 0x29, 0x47, 0xed,
1808 0x62, 0xbf, 0xd9, 0xc8, 0x1f, 0xa6, 0xbe, 0xe6, 0x7f, 0xad, 0x83, 0xa1, 0xfa, 0x4f, 0x74, 0x77,
1809 0x55, 0x04, 0x75, 0xbb, 0x22, 0x6a, 0xe1, 0x83, 0x5c, 0xab, 0xb9, 0x14, 0xa8, 0x0b, 0xfc, 0x00,
1810 0xd6, 0x19, 0xa5, 0x69, 0xb1, 0x13, 0x92, 0x10, 0x6a, 0x83, 0x39, 0xf3, 0x19, 0x49, 0x52, 0xc1,
1811 0xd7, 0x7a, 0xde, 0xb4, 0xa6, 0x70, 0x79, 0xd9, 0x5a, 0x99, 0x8e, 0x66, 0x6f, 0x53, 0xb0, 0xb7,
1812 0xec, 0x95, 0x94, 0xf0, 0x44, 0x45, 0xdb, 0x0e, 0x18, 0xea, 0xfd, 0xa0, 0xde, 0x1a, 0x5a, 0x29,
1813 0x03, 0xd1, 0x36, 0x54, 0x62, 0x1a, 0x90, 0x48, 0x15, 0x48, 0x2d, 0x55, 0x18, 0x7a, 0x0e, 0xd6,
1814 0x85, 0xcf, 0x82, 0x4b, 0x9f, 0xad, 0x0a, 0x69, 0x35, 0xaf, 0xb7, 0xa1, 0xc5, 0xba, 0xa4, 0x3e,
1815 0x07, 0x6b, 0x1a, 0xb2, 0xb8, 0x60, 0x51, 0x2b, 0x58, 0x68, 0xb1, 0xb6, 0x78, 0x06, 0x86, 0xac,
1816 0x35, 0x2a, 0x10, 0xea, 0x2f, 0x5a, 0x85, 0xec, 0xc2, 0x97, 0xeb, 0x55, 0x4a, 0xa2, 0x4d, 0xe4,
1817 0x84, 0x85, 0x7e, 0xe4, 0x25, 0xf3, 0xf8, 0x8c, 0x30, 0x19, 0x21, 0x4b, 0xef, 0x0d, 0x25, 0xeb,
1818 0x4b, 0x91, 0xe0, 0x72, 0xf5, 0xd2, 0xb2, 0x0b, 0x5c, 0x2e, 0x1f, 0x5c, 0xbb, 0xab, 0x17, 0x55,
1819 0x3d, 0xaf, 0xb1, 0x7c, 0x58, 0x21, 0x58, 0x5f, 0x44, 0x7e, 0x22, 0xe3, 0xa9, 0x89, 0xe5, 0xb7,
1820 0x28, 0xcd, 0xb1, 0x3f, 0x11, 0xef, 0x25, 0x46, 0xb8, 0x8a, 0x26, 0x13, 0x43, 0xec, 0x4f, 0x3a,
1821 0x0a, 0x41, 0x8f, 0xa0, 0x11, 0xce, 0x16, 0x9f, 0x2e, 0x35, 0x44, 0x4c, 0x99, 0x6f, 0x6e, 0xe1,
1822 0xba, 0x40, 0x8b, 0x4a, 0x9f, 0x2d, 0x95, 0x36, 0x72, 0x4a, 0x9f, 0x69, 0xa5, 0x4f, 0xa0, 0x79,
1823 0x41, 0x79, 0xea, 0xf9, 0x49, 0xa0, 0x42, 0xf0, 0xae, 0xd6, 0x12, 0x70, 0x27, 0x09, 0x64, 0x94,
1824 0xed, 0x00, 0x90, 0xab, 0x94, 0xf9, 0x9e, 0xcf, 0xce, 0xb9, 0x7d, 0x5f, 0x3d, 0x11, 0x24, 0xd2,
1825 0x61, 0xe7, 0x1c, 0xbd, 0x82, 0xe6, 0x8c, 0xd1, 0xab, 0xeb, 0xe5, 0x54, 0x77, 0x24, 0xd5, 0xdb,
1826 0xc5, 0x87, 0xd4, 0xfe, 0x89, 0xd0, 0xc9, 0x26, 0xc6, 0x8d, 0x59, 0x6e, 0x74, 0x33, 0xe5, 0x5a,
1827 0x3f, 0x20, 0xe5, 0xbe, 0x2a, 0xa6, 0xdc, 0xdb, 0x1f, 0x4f, 0xb9, 0x9a, 0xff, 0x7c, 0xe6, 0xdd,
1828 0x59, 0x36, 0x5f, 0xf7, 0x0a, 0x57, 0x38, 0xeb, 0xa8, 0x5c, 0x68, 0x4d, 0x68, 0x92, 0x88, 0x47,
1829 0x67, 0x36, 0x07, 0x92, 0x73, 0x6c, 0xeb, 0x39, 0xba, 0x4a, 0xfa, 0xa1, 0x69, 0x9a, 0x93, 0xbc,
1830 0x0c, 0xfd, 0x0c, 0x8c, 0xc9, 0x9c, 0xa7, 0x34, 0xb6, 0x5f, 0x49, 0x86, 0x36, 0xf7, 0xd5, 0xaf,
1831 0x07, 0xfb, 0xfa, 0xd7, 0x83, 0xfd, 0x4e, 0x72, 0x8d, 0x33, 0x1d, 0xf4, 0x05, 0xc0, 0x2c, 0xce,
1832 0xfa, 0x33, 0x6e, 0x7f, 0x5d, 0x92, 0x26, 0xb7, 0x6f, 0xbe, 0x2d, 0xf8, 0x61, 0xe5, 0x5f, 0xdf,
1833 0x7d, 0xbb, 0x73, 0x0b, 0x9b, 0xb3, 0xe5, 0x03, 0xea, 0x18, 0x36, 0x54, 0x77, 0xa6, 0xfb, 0x4c,
1834 0x6e, 0xff, 0xb1, 0xf4, 0x91, 0xe2, 0x7a, 0x58, 0x17, 0x2e, 0x0c, 0xd5, 0x5d, 0xe3, 0x56, 0x58,
1835 0xa8, 0xcf, 0x5b, 0x5f, 0x97, 0xa1, 0x91, 0x3f, 0xbb, 0x8f, 0x27, 0xdd, 0x5d, 0xa8, 0x67, 0xc2,
1836 0x55, 0x7a, 0xc2, 0x10, 0xac, 0x7e, 0xb0, 0xd8, 0x01, 0x98, 0x5c, 0xf8, 0x49, 0x42, 0x22, 0x61,
1837 0xbe, 0xa6, 0x1e, 0x94, 0x19, 0xe2, 0x06, 0x68, 0x0f, 0x2c, 0x2d, 0x56, 0xef, 0xce, 0x2c, 0x51,
1838 0x35, 0x71, 0x2b, 0xc3, 0xe5, 0x1b, 0xcc, 0x0d, 0xd0, 0x01, 0xdc, 0xd1, 0x9a, 0x29, 0x61, 0x71,
1839 0x98, 0xf8, 0xa2, 0xbd, 0xcd, 0x7e, 0xf3, 0x40, 0x99, 0x68, 0xb4, 0x92, 0xa0, 0xbb, 0x60, 0xd0,
1840 0x64, 0x2e, 0x1c, 0x1a, 0xd2, 0x61, 0x85, 0x26, 0x73, 0x37, 0x40, 0x9f, 0x40, 0x4b, 0xc0, 0x9c,
1841 0x70, 0x91, 0x31, 0x74, 0xf9, 0x6d, 0xe2, 0x06, 0x4d, 0xe6, 0x43, 0x05, 0xba, 0xc1, 0xa1, 0x29,
1842 0x22, 0x59, 0xee, 0xbf, 0x7d, 0x00, 0x55, 0x75, 0xa5, 0x45, 0xfc, 0x14, 0x72, 0x79, 0xab, 0x78,
1843 0xe5, 0x75, 0x36, 0xff, 0xdb, 0x1a, 0x6c, 0x0e, 0xc3, 0x78, 0x1e, 0xf9, 0x29, 0xe9, 0x44, 0x3e,
1844 0x8b, 0x31, 0x79, 0x37, 0x27, 0x3c, 0x7d, 0xef, 0x81, 0xf3, 0x23, 0x30, 0xc3, 0x24, 0x08, 0x27,
1845 0x7e, 0x4a, 0xf5, 0x4f, 0x30, 0x2b, 0x40, 0xd4, 0xb3, 0x30, 0x49, 0xa7, 0x9a, 0x36, 0x13, 0x1b,
1846 0x62, 0xa8, 0x76, 0x20, 0x53, 0xb5, 0x60, 0x5c, 0x3d, 0xe3, 0xd5, 0x63, 0xaf, 0x31, 0xcb, 0xaa,
1847 0x9c, 0x7c, 0xc9, 0xb7, 0xa1, 0x29, 0xf6, 0xb9, 0x3a, 0x3a, 0xc5, 0x54, 0x9d, 0x26, 0xf3, 0x9e,
1848 0x3e, 0xbd, 0x97, 0x70, 0x2f, 0x4c, 0x44, 0x66, 0x25, 0xde, 0x59, 0x98, 0xaa, 0x9a, 0xed, 0x31,
1849 0x11, 0x93, 0x82, 0xb2, 0x0a, 0xbe, 0x93, 0x49, 0x0f, 0xc3, 0x54, 0xd6, 0x6f, 0xac, 0xba, 0xf1,
1850 0x4a, 0xc0, 0xc2, 0x69, 0x2a, 0x79, 0xab, 0x60, 0x35, 0x10, 0xab, 0x4d, 0xc8, 0xa5, 0x47, 0xde,
1851 0x05, 0x32, 0x45, 0x57, 0xb0, 0x91, 0x90, 0x4b, 0xe7, 0x9d, 0x78, 0x8a, 0xdf, 0x56, 0x7c, 0xe7,
1852 0xf3, 0xac, 0x7a, 0xa4, 0x6c, 0x48, 0xca, 0x73, 0x39, 0xf6, 0x0d, 0x98, 0x22, 0x52, 0xd5, 0xc9,
1853 0x82, 0x8c, 0xbb, 0x27, 0x9a, 0xe3, 0x0f, 0x31, 0x2a, 0x03, 0x5e, 0x6a, 0xcb, 0x86, 0x6e, 0x65,
1854 0xdc, 0xfe, 0x09, 0x34, 0x0b, 0x32, 0x64, 0x42, 0x05, 0x77, 0xdc, 0xa1, 0xa3, 0x7e, 0x37, 0xe9,
1855 0x1e, 0x3b, 0x1d, 0x6c, 0x95, 0x0e, 0x87, 0x70, 0x87, 0xb2, 0x73, 0xd9, 0x81, 0x4c, 0x28, 0x0b,
1856 0xb2, 0xb9, 0x0e, 0x1b, 0xa7, 0xf2, 0xbf, 0xe2, 0xe9, 0xf7, 0xfb, 0xe7, 0x61, 0x7a, 0x31, 0x3f,
1857 0x13, 0x09, 0xe0, 0x40, 0x6b, 0x1e, 0x28, 0xcd, 0x67, 0xd9, 0xef, 0x76, 0x8b, 0x4f, 0x0f, 0xce,
1858 0x69, 0x86, 0x9d, 0x19, 0x12, 0x7c, 0xf9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x96, 0xa4,
1859 0xa3, 0x51, 0x14, 0x00, 0x00,
Don Newton98fd8812019-09-23 15:15:02 -04001860}