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