blob: 04db23de93ea61ed300622a5cc5f535f13bdba88 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: chromiumos/config/api/test/dut/v1/dut.proto
package dut
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
api "go.chromium.org/chromiumos/config/go/api"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type Cable_Type int32
const (
Cable_TYPE_UNSPECIFIED Cable_Type = 0
Cable_AUDIOJACK Cable_Type = 1
Cable_USBAUDIO Cable_Type = 2
Cable_USBPRINTING Cable_Type = 3
Cable_HDMIAUDIO Cable_Type = 4
)
var Cable_Type_name = map[int32]string{
0: "TYPE_UNSPECIFIED",
1: "AUDIOJACK",
2: "USBAUDIO",
3: "USBPRINTING",
4: "HDMIAUDIO",
}
var Cable_Type_value = map[string]int32{
"TYPE_UNSPECIFIED": 0,
"AUDIOJACK": 1,
"USBAUDIO": 2,
"USBPRINTING": 3,
"HDMIAUDIO": 4,
}
func (x Cable_Type) String() string {
return proto.EnumName(Cable_Type_name, int32(x))
}
func (Cable_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{5, 0}
}
// Facing of DUT's camera to be tested whose FOV should cover chart tablet's
// screen.
type Camerabox_Facing int32
const (
Camerabox_FACING_UNSPECIFIED Camerabox_Facing = 0
// DUT's back camera faces the chart tablet.
Camerabox_BACK Camerabox_Facing = 1
// DUT's front camera faces to chart tablet.
Camerabox_FRONT Camerabox_Facing = 2
)
var Camerabox_Facing_name = map[int32]string{
0: "FACING_UNSPECIFIED",
1: "BACK",
2: "FRONT",
}
var Camerabox_Facing_value = map[string]int32{
"FACING_UNSPECIFIED": 0,
"BACK": 1,
"FRONT": 2,
}
func (x Camerabox_Facing) String() string {
return proto.EnumName(Camerabox_Facing_name, int32(x))
}
func (Camerabox_Facing) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{6, 0}
}
type Cellular_Operator int32
const (
Cellular_OPERATOR_UNSPECIFIED Cellular_Operator = 0
Cellular_ATT Cellular_Operator = 1
Cellular_VERIZON Cellular_Operator = 2
Cellular_TMOBILE Cellular_Operator = 3
)
var Cellular_Operator_name = map[int32]string{
0: "OPERATOR_UNSPECIFIED",
1: "ATT",
2: "VERIZON",
3: "TMOBILE",
}
var Cellular_Operator_value = map[string]int32{
"OPERATOR_UNSPECIFIED": 0,
"ATT": 1,
"VERIZON": 2,
"TMOBILE": 3,
}
func (x Cellular_Operator) String() string {
return proto.EnumName(Cellular_Operator_name, int32(x))
}
func (Cellular_Operator) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{7, 0}
}
type Chameleon_Peripheral int32
const (
Chameleon_PREIPHERAL_UNSPECIFIED Chameleon_Peripheral = 0
Chameleon_BT_HID Chameleon_Peripheral = 1
Chameleon_DP Chameleon_Peripheral = 2
Chameleon_DP_HDMI Chameleon_Peripheral = 3
Chameleon_VGA Chameleon_Peripheral = 4
Chameleon_HDMI Chameleon_Peripheral = 5
Chameleon_BT_BLE_HID Chameleon_Peripheral = 6
Chameleon_BT_A2DP_SINK Chameleon_Peripheral = 7
Chameleon_BT_PEER Chameleon_Peripheral = 8
)
var Chameleon_Peripheral_name = map[int32]string{
0: "PREIPHERAL_UNSPECIFIED",
1: "BT_HID",
2: "DP",
3: "DP_HDMI",
4: "VGA",
5: "HDMI",
6: "BT_BLE_HID",
7: "BT_A2DP_SINK",
8: "BT_PEER",
}
var Chameleon_Peripheral_value = map[string]int32{
"PREIPHERAL_UNSPECIFIED": 0,
"BT_HID": 1,
"DP": 2,
"DP_HDMI": 3,
"VGA": 4,
"HDMI": 5,
"BT_BLE_HID": 6,
"BT_A2DP_SINK": 7,
"BT_PEER": 8,
}
func (x Chameleon_Peripheral) String() string {
return proto.EnumName(Chameleon_Peripheral_name, int32(x))
}
func (Chameleon_Peripheral) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{8, 0}
}
type ExternalCamera_Type int32
const (
ExternalCamera_TYPE_UNSPECIFIED ExternalCamera_Type = 0
// camera Huddly GO
ExternalCamera_HUDDLY ExternalCamera_Type = 1
// camera Logitech PTZ Pro 2
ExternalCamera_PTZPRO2 ExternalCamera_Type = 2
)
var ExternalCamera_Type_name = map[int32]string{
0: "TYPE_UNSPECIFIED",
1: "HUDDLY",
2: "PTZPRO2",
}
var ExternalCamera_Type_value = map[string]int32{
"TYPE_UNSPECIFIED": 0,
"HUDDLY": 1,
"PTZPRO2": 2,
}
func (x ExternalCamera_Type) String() string {
return proto.EnumName(ExternalCamera_Type_name, int32(x))
}
func (ExternalCamera_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{9, 0}
}
type Wifi_Environment int32
const (
Wifi_ENVIRONMENT_UNSPECIFIED Wifi_Environment = 0
// Device is setup without any special wifi environment.
Wifi_STANDARD Wifi_Environment = 1
// Device is inside a hermetic wifi cell.
Wifi_WIFI_CELL Wifi_Environment = 2
// Device is setup in a chaos environment. It's a special settings for
// running wifi interop tests.
Wifi_CHAOS Wifi_Environment = 3
// In an environment where the AP is 802.11ax compliant.
// Context: crbug.com/1044786
Wifi_ROUTER_802_11AX Wifi_Environment = 4
)
var Wifi_Environment_name = map[int32]string{
0: "ENVIRONMENT_UNSPECIFIED",
1: "STANDARD",
2: "WIFI_CELL",
3: "CHAOS",
4: "ROUTER_802_11AX",
}
var Wifi_Environment_value = map[string]int32{
"ENVIRONMENT_UNSPECIFIED": 0,
"STANDARD": 1,
"WIFI_CELL": 2,
"CHAOS": 3,
"ROUTER_802_11AX": 4,
}
func (x Wifi_Environment) String() string {
return proto.EnumName(Wifi_Environment_name, int32(x))
}
func (Wifi_Environment) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{13, 0}
}
// DUT's WiFi antenna's connection.
type WifiAntenna_Connection int32
const (
WifiAntenna_CONNECTION_UNSPECIFIED WifiAntenna_Connection = 0
// WIFI antenna is connected conductively.
WifiAntenna_CONDUCTIVE WifiAntenna_Connection = 1
// WIFI antenna is connected over-the-air.
WifiAntenna_OTA WifiAntenna_Connection = 2
)
var WifiAntenna_Connection_name = map[int32]string{
0: "CONNECTION_UNSPECIFIED",
1: "CONDUCTIVE",
2: "OTA",
}
var WifiAntenna_Connection_value = map[string]int32{
"CONNECTION_UNSPECIFIED": 0,
"CONDUCTIVE": 1,
"OTA": 2,
}
func (x WifiAntenna_Connection) String() string {
return proto.EnumName(WifiAntenna_Connection_name, int32(x))
}
func (WifiAntenna_Connection) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{14, 0}
}
// Specification of Device Under Test for test execution.
type DeviceUnderTest struct {
Peripheral *Peripheral `protobuf:"bytes,1,opt,name=peripheral,proto3" json:"peripheral,omitempty"`
Program *api.Program `protobuf:"bytes,2,opt,name=program,proto3" json:"program,omitempty"`
HwDesign *api.Design `protobuf:"bytes,3,opt,name=hw_design,json=hwDesign,proto3" json:"hw_design,omitempty"`
Odm *api.Partner `protobuf:"bytes,4,opt,name=odm,proto3" json:"odm,omitempty"`
HwDesignConfig *api.Design_Config `protobuf:"bytes,5,opt,name=hw_design_config,json=hwDesignConfig,proto3" json:"hw_design_config,omitempty"`
HwComponents *Components `protobuf:"bytes,11,opt,name=hw_components,json=hwComponents,proto3" json:"hw_components,omitempty"`
DeviceBrand *api.DeviceBrand `protobuf:"bytes,6,opt,name=device_brand,json=deviceBrand,proto3" json:"device_brand,omitempty"`
Oem *api.Partner `protobuf:"bytes,7,opt,name=oem,proto3" json:"oem,omitempty"`
Firmware *Firmware `protobuf:"bytes,12,opt,name=firmware,proto3" json:"firmware,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeviceUnderTest) Reset() { *m = DeviceUnderTest{} }
func (m *DeviceUnderTest) String() string { return proto.CompactTextString(m) }
func (*DeviceUnderTest) ProtoMessage() {}
func (*DeviceUnderTest) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{0}
}
func (m *DeviceUnderTest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeviceUnderTest.Unmarshal(m, b)
}
func (m *DeviceUnderTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeviceUnderTest.Marshal(b, m, deterministic)
}
func (m *DeviceUnderTest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeviceUnderTest.Merge(m, src)
}
func (m *DeviceUnderTest) XXX_Size() int {
return xxx_messageInfo_DeviceUnderTest.Size(m)
}
func (m *DeviceUnderTest) XXX_DiscardUnknown() {
xxx_messageInfo_DeviceUnderTest.DiscardUnknown(m)
}
var xxx_messageInfo_DeviceUnderTest proto.InternalMessageInfo
func (m *DeviceUnderTest) GetPeripheral() *Peripheral {
if m != nil {
return m.Peripheral
}
return nil
}
func (m *DeviceUnderTest) GetProgram() *api.Program {
if m != nil {
return m.Program
}
return nil
}
func (m *DeviceUnderTest) GetHwDesign() *api.Design {
if m != nil {
return m.HwDesign
}
return nil
}
func (m *DeviceUnderTest) GetOdm() *api.Partner {
if m != nil {
return m.Odm
}
return nil
}
func (m *DeviceUnderTest) GetHwDesignConfig() *api.Design_Config {
if m != nil {
return m.HwDesignConfig
}
return nil
}
func (m *DeviceUnderTest) GetHwComponents() *Components {
if m != nil {
return m.HwComponents
}
return nil
}
func (m *DeviceUnderTest) GetDeviceBrand() *api.DeviceBrand {
if m != nil {
return m.DeviceBrand
}
return nil
}
func (m *DeviceUnderTest) GetOem() *api.Partner {
if m != nil {
return m.Oem
}
return nil
}
func (m *DeviceUnderTest) GetFirmware() *Firmware {
if m != nil {
return m.Firmware
}
return nil
}
// Defines all of the schedulable characteristics
// of the hardware components for a given device.
type Components struct {
Soc *api.Component_Soc `protobuf:"bytes,2,opt,name=soc,proto3" json:"soc,omitempty"`
// Specific memory chips can't be targeted for scheduling.
// Only the memory chip characteristics (e.g. DDR4)
MemoryProfile *api.Component_Memory_Profile `protobuf:"bytes,3,opt,name=memory_profile,json=memoryProfile,proto3" json:"memory_profile,omitempty"`
Bluetooth *api.Component_Bluetooth `protobuf:"bytes,4,opt,name=bluetooth,proto3" json:"bluetooth,omitempty"`
Camera *api.Component_Camera `protobuf:"bytes,5,opt,name=camera,proto3" json:"camera,omitempty"`
Touchscreen *api.Component_Touch `protobuf:"bytes,6,opt,name=touchscreen,proto3" json:"touchscreen,omitempty"`
Wifi *api.Component_Wifi `protobuf:"bytes,7,opt,name=wifi,proto3" json:"wifi,omitempty"`
Touchpad *api.Component_Touch `protobuf:"bytes,10,opt,name=touchpad,proto3" json:"touchpad,omitempty"`
DisplayPanel *api.Component_DisplayPanel `protobuf:"bytes,11,opt,name=display_panel,json=displayPanel,proto3" json:"display_panel,omitempty"`
AudioCodec *api.Component_AudioCodec `protobuf:"bytes,12,opt,name=audio_codec,json=audioCodec,proto3" json:"audio_codec,omitempty"`
Battery *api.Component_Battery `protobuf:"bytes,13,opt,name=battery,proto3" json:"battery,omitempty"`
EcFlashChip *api.Component_FlashChip `protobuf:"bytes,14,opt,name=ec_flash_chip,json=ecFlashChip,proto3" json:"ec_flash_chip,omitempty"`
SystemFlashChip *api.Component_FlashChip `protobuf:"bytes,15,opt,name=system_flash_chip,json=systemFlashChip,proto3" json:"system_flash_chip,omitempty"`
Ec *api.Component_EmbeddedController `protobuf:"bytes,16,opt,name=ec,proto3" json:"ec,omitempty"`
Storage *api.Component_Storage `protobuf:"bytes,17,opt,name=storage,proto3" json:"storage,omitempty"`
Tpm *api.Component_Tpm `protobuf:"bytes,18,opt,name=tpm,proto3" json:"tpm,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Components) Reset() { *m = Components{} }
func (m *Components) String() string { return proto.CompactTextString(m) }
func (*Components) ProtoMessage() {}
func (*Components) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{1}
}
func (m *Components) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Components.Unmarshal(m, b)
}
func (m *Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Components.Marshal(b, m, deterministic)
}
func (m *Components) XXX_Merge(src proto.Message) {
xxx_messageInfo_Components.Merge(m, src)
}
func (m *Components) XXX_Size() int {
return xxx_messageInfo_Components.Size(m)
}
func (m *Components) XXX_DiscardUnknown() {
xxx_messageInfo_Components.DiscardUnknown(m)
}
var xxx_messageInfo_Components proto.InternalMessageInfo
func (m *Components) GetSoc() *api.Component_Soc {
if m != nil {
return m.Soc
}
return nil
}
func (m *Components) GetMemoryProfile() *api.Component_Memory_Profile {
if m != nil {
return m.MemoryProfile
}
return nil
}
func (m *Components) GetBluetooth() *api.Component_Bluetooth {
if m != nil {
return m.Bluetooth
}
return nil
}
func (m *Components) GetCamera() *api.Component_Camera {
if m != nil {
return m.Camera
}
return nil
}
func (m *Components) GetTouchscreen() *api.Component_Touch {
if m != nil {
return m.Touchscreen
}
return nil
}
func (m *Components) GetWifi() *api.Component_Wifi {
if m != nil {
return m.Wifi
}
return nil
}
func (m *Components) GetTouchpad() *api.Component_Touch {
if m != nil {
return m.Touchpad
}
return nil
}
func (m *Components) GetDisplayPanel() *api.Component_DisplayPanel {
if m != nil {
return m.DisplayPanel
}
return nil
}
func (m *Components) GetAudioCodec() *api.Component_AudioCodec {
if m != nil {
return m.AudioCodec
}
return nil
}
func (m *Components) GetBattery() *api.Component_Battery {
if m != nil {
return m.Battery
}
return nil
}
func (m *Components) GetEcFlashChip() *api.Component_FlashChip {
if m != nil {
return m.EcFlashChip
}
return nil
}
func (m *Components) GetSystemFlashChip() *api.Component_FlashChip {
if m != nil {
return m.SystemFlashChip
}
return nil
}
func (m *Components) GetEc() *api.Component_EmbeddedController {
if m != nil {
return m.Ec
}
return nil
}
func (m *Components) GetStorage() *api.Component_Storage {
if m != nil {
return m.Storage
}
return nil
}
func (m *Components) GetTpm() *api.Component_Tpm {
if m != nil {
return m.Tpm
}
return nil
}
// Defines required firmware state/versions for a given
// device under test.
type Firmware struct {
// Readonly firmware build name, e.g.
// "firmware-reef-9042.B-firmwarebranch/R72-11311.0.0"
ApRoVersion string `protobuf:"bytes,1,opt,name=ap_ro_version,json=apRoVersion,proto3" json:"ap_ro_version,omitempty"`
// Read-write firmware build name, e.g.
// "firmware-reef-9042.B-firmwarebranch/R72-11311.0.0"
ApRwVersion string `protobuf:"bytes,2,opt,name=ap_rw_version,json=apRwVersion,proto3" json:"ap_rw_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Firmware) Reset() { *m = Firmware{} }
func (m *Firmware) String() string { return proto.CompactTextString(m) }
func (*Firmware) ProtoMessage() {}
func (*Firmware) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{2}
}
func (m *Firmware) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Firmware.Unmarshal(m, b)
}
func (m *Firmware) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Firmware.Marshal(b, m, deterministic)
}
func (m *Firmware) XXX_Merge(src proto.Message) {
xxx_messageInfo_Firmware.Merge(m, src)
}
func (m *Firmware) XXX_Size() int {
return xxx_messageInfo_Firmware.Size(m)
}
func (m *Firmware) XXX_DiscardUnknown() {
xxx_messageInfo_Firmware.DiscardUnknown(m)
}
var xxx_messageInfo_Firmware proto.InternalMessageInfo
func (m *Firmware) GetApRoVersion() string {
if m != nil {
return m.ApRoVersion
}
return ""
}
func (m *Firmware) GetApRwVersion() string {
if m != nil {
return m.ApRwVersion
}
return ""
}
// Peripheral attachments of a device under test that can be referenced by
// test metadata for specifying test requirements.
type Peripheral struct {
Servo *Servo `protobuf:"bytes,1,opt,name=servo,proto3" json:"servo,omitempty"`
Chameleon *Chameleon `protobuf:"bytes,2,opt,name=chameleon,proto3" json:"chameleon,omitempty"`
Rpm *RPM `protobuf:"bytes,3,opt,name=rpm,proto3" json:"rpm,omitempty"`
ExternalCameras []*ExternalCamera `protobuf:"bytes,4,rep,name=external_cameras,json=externalCameras,proto3" json:"external_cameras,omitempty"`
Audio *Audio `protobuf:"bytes,5,opt,name=audio,proto3" json:"audio,omitempty"`
Wifi *Wifi `protobuf:"bytes,6,opt,name=wifi,proto3" json:"wifi,omitempty"`
Touch *Touch `protobuf:"bytes,7,opt,name=touch,proto3" json:"touch,omitempty"`
Camerabox *Camerabox `protobuf:"bytes,8,opt,name=camerabox,proto3" json:"camerabox,omitempty"`
Cables []*Cable `protobuf:"bytes,9,rep,name=cables,proto3" json:"cables,omitempty"`
Cellular *Cellular `protobuf:"bytes,10,opt,name=cellular,proto3" json:"cellular,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Peripheral) Reset() { *m = Peripheral{} }
func (m *Peripheral) String() string { return proto.CompactTextString(m) }
func (*Peripheral) ProtoMessage() {}
func (*Peripheral) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{3}
}
func (m *Peripheral) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Peripheral.Unmarshal(m, b)
}
func (m *Peripheral) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Peripheral.Marshal(b, m, deterministic)
}
func (m *Peripheral) XXX_Merge(src proto.Message) {
xxx_messageInfo_Peripheral.Merge(m, src)
}
func (m *Peripheral) XXX_Size() int {
return xxx_messageInfo_Peripheral.Size(m)
}
func (m *Peripheral) XXX_DiscardUnknown() {
xxx_messageInfo_Peripheral.DiscardUnknown(m)
}
var xxx_messageInfo_Peripheral proto.InternalMessageInfo
func (m *Peripheral) GetServo() *Servo {
if m != nil {
return m.Servo
}
return nil
}
func (m *Peripheral) GetChameleon() *Chameleon {
if m != nil {
return m.Chameleon
}
return nil
}
func (m *Peripheral) GetRpm() *RPM {
if m != nil {
return m.Rpm
}
return nil
}
func (m *Peripheral) GetExternalCameras() []*ExternalCamera {
if m != nil {
return m.ExternalCameras
}
return nil
}
func (m *Peripheral) GetAudio() *Audio {
if m != nil {
return m.Audio
}
return nil
}
func (m *Peripheral) GetWifi() *Wifi {
if m != nil {
return m.Wifi
}
return nil
}
func (m *Peripheral) GetTouch() *Touch {
if m != nil {
return m.Touch
}
return nil
}
func (m *Peripheral) GetCamerabox() *Camerabox {
if m != nil {
return m.Camerabox
}
return nil
}
func (m *Peripheral) GetCables() []*Cable {
if m != nil {
return m.Cables
}
return nil
}
func (m *Peripheral) GetCellular() *Cellular {
if m != nil {
return m.Cellular
}
return nil
}
// Peripherals related to audio input and output from the Device.
type Audio struct {
// Device is housed in an audio box to record / replay audio
// for audio testing.
AudioBox bool `protobuf:"varint,1,opt,name=audio_box,json=audioBox,proto3" json:"audio_box,omitempty"`
// Device is connected to Atrus speakermic.
Atrus bool `protobuf:"varint,2,opt,name=atrus,proto3" json:"atrus,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Audio) Reset() { *m = Audio{} }
func (m *Audio) String() string { return proto.CompactTextString(m) }
func (*Audio) ProtoMessage() {}
func (*Audio) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{4}
}
func (m *Audio) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Audio.Unmarshal(m, b)
}
func (m *Audio) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Audio.Marshal(b, m, deterministic)
}
func (m *Audio) XXX_Merge(src proto.Message) {
xxx_messageInfo_Audio.Merge(m, src)
}
func (m *Audio) XXX_Size() int {
return xxx_messageInfo_Audio.Size(m)
}
func (m *Audio) XXX_DiscardUnknown() {
xxx_messageInfo_Audio.DiscardUnknown(m)
}
var xxx_messageInfo_Audio proto.InternalMessageInfo
func (m *Audio) GetAudioBox() bool {
if m != nil {
return m.AudioBox
}
return false
}
func (m *Audio) GetAtrus() bool {
if m != nil {
return m.Atrus
}
return false
}
// A cable connecting the device to audio, printer and other peripherals.
type Cable struct {
Type Cable_Type `protobuf:"varint,1,opt,name=type,proto3,enum=chromiumos.config.api.test.dut.v1.Cable_Type" json:"type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cable) Reset() { *m = Cable{} }
func (m *Cable) String() string { return proto.CompactTextString(m) }
func (*Cable) ProtoMessage() {}
func (*Cable) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{5}
}
func (m *Cable) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cable.Unmarshal(m, b)
}
func (m *Cable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cable.Marshal(b, m, deterministic)
}
func (m *Cable) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cable.Merge(m, src)
}
func (m *Cable) XXX_Size() int {
return xxx_messageInfo_Cable.Size(m)
}
func (m *Cable) XXX_DiscardUnknown() {
xxx_messageInfo_Cable.DiscardUnknown(m)
}
var xxx_messageInfo_Cable proto.InternalMessageInfo
func (m *Cable) GetType() Cable_Type {
if m != nil {
return m.Type
}
return Cable_TYPE_UNSPECIFIED
}
// A steady and controllable camera box environment for the device, used by
// camera test automation. http://go/cros-camera-box
type Camerabox struct {
Facing Camerabox_Facing `protobuf:"varint,1,opt,name=facing,proto3,enum=chromiumos.config.api.test.dut.v1.Camerabox_Facing" json:"facing,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Camerabox) Reset() { *m = Camerabox{} }
func (m *Camerabox) String() string { return proto.CompactTextString(m) }
func (*Camerabox) ProtoMessage() {}
func (*Camerabox) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{6}
}
func (m *Camerabox) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Camerabox.Unmarshal(m, b)
}
func (m *Camerabox) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Camerabox.Marshal(b, m, deterministic)
}
func (m *Camerabox) XXX_Merge(src proto.Message) {
xxx_messageInfo_Camerabox.Merge(m, src)
}
func (m *Camerabox) XXX_Size() int {
return xxx_messageInfo_Camerabox.Size(m)
}
func (m *Camerabox) XXX_DiscardUnknown() {
xxx_messageInfo_Camerabox.DiscardUnknown(m)
}
var xxx_messageInfo_Camerabox proto.InternalMessageInfo
func (m *Camerabox) GetFacing() Camerabox_Facing {
if m != nil {
return m.Facing
}
return Camerabox_FACING_UNSPECIFIED
}
type Cellular struct {
// Cellular operators supported by the SIM installed in the device.
Operators []Cellular_Operator `protobuf:"varint,1,rep,packed,name=operators,proto3,enum=chromiumos.config.api.test.dut.v1.Cellular_Operator" json:"operators,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Cellular) Reset() { *m = Cellular{} }
func (m *Cellular) String() string { return proto.CompactTextString(m) }
func (*Cellular) ProtoMessage() {}
func (*Cellular) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{7}
}
func (m *Cellular) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cellular.Unmarshal(m, b)
}
func (m *Cellular) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Cellular.Marshal(b, m, deterministic)
}
func (m *Cellular) XXX_Merge(src proto.Message) {
xxx_messageInfo_Cellular.Merge(m, src)
}
func (m *Cellular) XXX_Size() int {
return xxx_messageInfo_Cellular.Size(m)
}
func (m *Cellular) XXX_DiscardUnknown() {
xxx_messageInfo_Cellular.DiscardUnknown(m)
}
var xxx_messageInfo_Cellular proto.InternalMessageInfo
func (m *Cellular) GetOperators() []Cellular_Operator {
if m != nil {
return m.Operators
}
return nil
}
// See https://sites.google.com/a/google.com/cros-chameleon/home
type Chameleon struct {
Peripherals []Chameleon_Peripheral `protobuf:"varint,1,rep,packed,name=peripherals,proto3,enum=chromiumos.config.api.test.dut.v1.Chameleon_Peripheral" json:"peripherals,omitempty"`
// Indicate if there's an audio_board in the chameleon.
AudioBoard bool `protobuf:"varint,2,opt,name=audio_board,json=audioBoard,proto3" json:"audio_board,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Chameleon) Reset() { *m = Chameleon{} }
func (m *Chameleon) String() string { return proto.CompactTextString(m) }
func (*Chameleon) ProtoMessage() {}
func (*Chameleon) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{8}
}
func (m *Chameleon) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Chameleon.Unmarshal(m, b)
}
func (m *Chameleon) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Chameleon.Marshal(b, m, deterministic)
}
func (m *Chameleon) XXX_Merge(src proto.Message) {
xxx_messageInfo_Chameleon.Merge(m, src)
}
func (m *Chameleon) XXX_Size() int {
return xxx_messageInfo_Chameleon.Size(m)
}
func (m *Chameleon) XXX_DiscardUnknown() {
xxx_messageInfo_Chameleon.DiscardUnknown(m)
}
var xxx_messageInfo_Chameleon proto.InternalMessageInfo
func (m *Chameleon) GetPeripherals() []Chameleon_Peripheral {
if m != nil {
return m.Peripherals
}
return nil
}
func (m *Chameleon) GetAudioBoard() bool {
if m != nil {
return m.AudioBoard
}
return false
}
// External camera connected to the device.
type ExternalCamera struct {
Type ExternalCamera_Type `protobuf:"varint,1,opt,name=type,proto3,enum=chromiumos.config.api.test.dut.v1.ExternalCamera_Type" json:"type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExternalCamera) Reset() { *m = ExternalCamera{} }
func (m *ExternalCamera) String() string { return proto.CompactTextString(m) }
func (*ExternalCamera) ProtoMessage() {}
func (*ExternalCamera) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{9}
}
func (m *ExternalCamera) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExternalCamera.Unmarshal(m, b)
}
func (m *ExternalCamera) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExternalCamera.Marshal(b, m, deterministic)
}
func (m *ExternalCamera) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExternalCamera.Merge(m, src)
}
func (m *ExternalCamera) XXX_Size() int {
return xxx_messageInfo_ExternalCamera.Size(m)
}
func (m *ExternalCamera) XXX_DiscardUnknown() {
xxx_messageInfo_ExternalCamera.DiscardUnknown(m)
}
var xxx_messageInfo_ExternalCamera proto.InternalMessageInfo
func (m *ExternalCamera) GetType() ExternalCamera_Type {
if m != nil {
return m.Type
}
return ExternalCamera_TYPE_UNSPECIFIED
}
// Remote power management capability for the device.
type RPM struct {
Present bool `protobuf:"varint,1,opt,name=present,proto3" json:"present,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RPM) Reset() { *m = RPM{} }
func (m *RPM) String() string { return proto.CompactTextString(m) }
func (*RPM) ProtoMessage() {}
func (*RPM) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{10}
}
func (m *RPM) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RPM.Unmarshal(m, b)
}
func (m *RPM) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RPM.Marshal(b, m, deterministic)
}
func (m *RPM) XXX_Merge(src proto.Message) {
xxx_messageInfo_RPM.Merge(m, src)
}
func (m *RPM) XXX_Size() int {
return xxx_messageInfo_RPM.Size(m)
}
func (m *RPM) XXX_DiscardUnknown() {
xxx_messageInfo_RPM.DiscardUnknown(m)
}
var xxx_messageInfo_RPM proto.InternalMessageInfo
func (m *RPM) GetPresent() bool {
if m != nil {
return m.Present
}
return false
}
// Servo control of the device.
type Servo struct {
Present bool `protobuf:"varint,1,opt,name=present,proto3" json:"present,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Servo) Reset() { *m = Servo{} }
func (m *Servo) String() string { return proto.CompactTextString(m) }
func (*Servo) ProtoMessage() {}
func (*Servo) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{11}
}
func (m *Servo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Servo.Unmarshal(m, b)
}
func (m *Servo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Servo.Marshal(b, m, deterministic)
}
func (m *Servo) XXX_Merge(src proto.Message) {
xxx_messageInfo_Servo.Merge(m, src)
}
func (m *Servo) XXX_Size() int {
return xxx_messageInfo_Servo.Size(m)
}
func (m *Servo) XXX_DiscardUnknown() {
xxx_messageInfo_Servo.DiscardUnknown(m)
}
var xxx_messageInfo_Servo proto.InternalMessageInfo
func (m *Servo) GetPresent() bool {
if m != nil {
return m.Present
}
return false
}
type Touch struct {
// Has touch monitor mimo.
Mimo bool `protobuf:"varint,1,opt,name=mimo,proto3" json:"mimo,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Touch) Reset() { *m = Touch{} }
func (m *Touch) String() string { return proto.CompactTextString(m) }
func (*Touch) ProtoMessage() {}
func (*Touch) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{12}
}
func (m *Touch) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Touch.Unmarshal(m, b)
}
func (m *Touch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Touch.Marshal(b, m, deterministic)
}
func (m *Touch) XXX_Merge(src proto.Message) {
xxx_messageInfo_Touch.Merge(m, src)
}
func (m *Touch) XXX_Size() int {
return xxx_messageInfo_Touch.Size(m)
}
func (m *Touch) XXX_DiscardUnknown() {
xxx_messageInfo_Touch.DiscardUnknown(m)
}
var xxx_messageInfo_Touch proto.InternalMessageInfo
func (m *Touch) GetMimo() bool {
if m != nil {
return m.Mimo
}
return false
}
// Wifi environment of the device.
type Wifi struct {
Environment Wifi_Environment `protobuf:"varint,1,opt,name=environment,proto3,enum=chromiumos.config.api.test.dut.v1.Wifi_Environment" json:"environment,omitempty"`
Antenna *WifiAntenna `protobuf:"bytes,2,opt,name=antenna,proto3" json:"antenna,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Wifi) Reset() { *m = Wifi{} }
func (m *Wifi) String() string { return proto.CompactTextString(m) }
func (*Wifi) ProtoMessage() {}
func (*Wifi) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{13}
}
func (m *Wifi) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Wifi.Unmarshal(m, b)
}
func (m *Wifi) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Wifi.Marshal(b, m, deterministic)
}
func (m *Wifi) XXX_Merge(src proto.Message) {
xxx_messageInfo_Wifi.Merge(m, src)
}
func (m *Wifi) XXX_Size() int {
return xxx_messageInfo_Wifi.Size(m)
}
func (m *Wifi) XXX_DiscardUnknown() {
xxx_messageInfo_Wifi.DiscardUnknown(m)
}
var xxx_messageInfo_Wifi proto.InternalMessageInfo
func (m *Wifi) GetEnvironment() Wifi_Environment {
if m != nil {
return m.Environment
}
return Wifi_ENVIRONMENT_UNSPECIFIED
}
func (m *Wifi) GetAntenna() *WifiAntenna {
if m != nil {
return m.Antenna
}
return nil
}
type WifiAntenna struct {
Connection WifiAntenna_Connection `protobuf:"varint,1,opt,name=connection,proto3,enum=chromiumos.config.api.test.dut.v1.WifiAntenna_Connection" json:"connection,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *WifiAntenna) Reset() { *m = WifiAntenna{} }
func (m *WifiAntenna) String() string { return proto.CompactTextString(m) }
func (*WifiAntenna) ProtoMessage() {}
func (*WifiAntenna) Descriptor() ([]byte, []int) {
return fileDescriptor_0cc21113ad9420d5, []int{14}
}
func (m *WifiAntenna) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WifiAntenna.Unmarshal(m, b)
}
func (m *WifiAntenna) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WifiAntenna.Marshal(b, m, deterministic)
}
func (m *WifiAntenna) XXX_Merge(src proto.Message) {
xxx_messageInfo_WifiAntenna.Merge(m, src)
}
func (m *WifiAntenna) XXX_Size() int {
return xxx_messageInfo_WifiAntenna.Size(m)
}
func (m *WifiAntenna) XXX_DiscardUnknown() {
xxx_messageInfo_WifiAntenna.DiscardUnknown(m)
}
var xxx_messageInfo_WifiAntenna proto.InternalMessageInfo
func (m *WifiAntenna) GetConnection() WifiAntenna_Connection {
if m != nil {
return m.Connection
}
return WifiAntenna_CONNECTION_UNSPECIFIED
}
func init() {
proto.RegisterEnum("chromiumos.config.api.test.dut.v1.Cable_Type", Cable_Type_name, Cable_Type_value)
proto.RegisterEnum("chromiumos.config.api.test.dut.v1.Camerabox_Facing", Camerabox_Facing_name, Camerabox_Facing_value)
proto.RegisterEnum("chromiumos.config.api.test.dut.v1.Cellular_Operator", Cellular_Operator_name, Cellular_Operator_value)
proto.RegisterEnum("chromiumos.config.api.test.dut.v1.Chameleon_Peripheral", Chameleon_Peripheral_name, Chameleon_Peripheral_value)
proto.RegisterEnum("chromiumos.config.api.test.dut.v1.ExternalCamera_Type", ExternalCamera_Type_name, ExternalCamera_Type_value)
proto.RegisterEnum("chromiumos.config.api.test.dut.v1.Wifi_Environment", Wifi_Environment_name, Wifi_Environment_value)
proto.RegisterEnum("chromiumos.config.api.test.dut.v1.WifiAntenna_Connection", WifiAntenna_Connection_name, WifiAntenna_Connection_value)
proto.RegisterType((*DeviceUnderTest)(nil), "chromiumos.config.api.test.dut.v1.DeviceUnderTest")
proto.RegisterType((*Components)(nil), "chromiumos.config.api.test.dut.v1.Components")
proto.RegisterType((*Firmware)(nil), "chromiumos.config.api.test.dut.v1.Firmware")
proto.RegisterType((*Peripheral)(nil), "chromiumos.config.api.test.dut.v1.Peripheral")
proto.RegisterType((*Audio)(nil), "chromiumos.config.api.test.dut.v1.Audio")
proto.RegisterType((*Cable)(nil), "chromiumos.config.api.test.dut.v1.Cable")
proto.RegisterType((*Camerabox)(nil), "chromiumos.config.api.test.dut.v1.Camerabox")
proto.RegisterType((*Cellular)(nil), "chromiumos.config.api.test.dut.v1.Cellular")
proto.RegisterType((*Chameleon)(nil), "chromiumos.config.api.test.dut.v1.Chameleon")
proto.RegisterType((*ExternalCamera)(nil), "chromiumos.config.api.test.dut.v1.ExternalCamera")
proto.RegisterType((*RPM)(nil), "chromiumos.config.api.test.dut.v1.RPM")
proto.RegisterType((*Servo)(nil), "chromiumos.config.api.test.dut.v1.Servo")
proto.RegisterType((*Touch)(nil), "chromiumos.config.api.test.dut.v1.Touch")
proto.RegisterType((*Wifi)(nil), "chromiumos.config.api.test.dut.v1.Wifi")
proto.RegisterType((*WifiAntenna)(nil), "chromiumos.config.api.test.dut.v1.WifiAntenna")
}
func init() {
proto.RegisterFile("chromiumos/config/api/test/dut/v1/dut.proto", fileDescriptor_0cc21113ad9420d5)
}
var fileDescriptor_0cc21113ad9420d5 = []byte{
// 1600 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x98, 0xdf, 0x6e, 0xe3, 0xb8,
0x15, 0xc6, 0xeb, 0xbf, 0xb1, 0x8f, 0x13, 0x47, 0xcb, 0x0e, 0xb6, 0xc2, 0x0c, 0xda, 0x9d, 0x55,
0xbb, 0xdb, 0xa0, 0xdb, 0x3a, 0x9b, 0x4c, 0x77, 0x3b, 0x3b, 0x0b, 0x6c, 0x6b, 0xcb, 0x4a, 0xa2,
0x99, 0x44, 0x16, 0x68, 0x39, 0xd3, 0x0c, 0x0a, 0x08, 0xb2, 0xc4, 0xd8, 0x02, 0x2c, 0x51, 0xa0,
0x94, 0x64, 0xf2, 0x0c, 0xbd, 0x68, 0x81, 0xa2, 0x8f, 0x50, 0xf4, 0xa2, 0xaf, 0xd1, 0xbe, 0x4e,
0x9f, 0xa1, 0x20, 0x45, 0xd9, 0x9e, 0x74, 0x12, 0x2b, 0x57, 0x11, 0x99, 0xef, 0xf7, 0x91, 0x3c,
0x3c, 0x3c, 0x94, 0x0c, 0x5f, 0xf9, 0x73, 0x46, 0xa3, 0xf0, 0x2a, 0xa2, 0xe9, 0xbe, 0x4f, 0xe3,
0xcb, 0x70, 0xb6, 0xef, 0x25, 0xe1, 0x7e, 0x46, 0xd2, 0x6c, 0x3f, 0xb8, 0xca, 0xf6, 0xaf, 0x0f,
0xf8, 0x9f, 0x5e, 0xc2, 0x68, 0x46, 0xd1, 0xe7, 0x2b, 0x71, 0x2f, 0x17, 0xf7, 0xbc, 0x24, 0xec,
0x71, 0x71, 0x8f, 0xab, 0xae, 0x0f, 0x9e, 0x7e, 0xf1, 0x71, 0x3f, 0x9f, 0x46, 0x09, 0x8d, 0x49,
0x2c, 0x9d, 0x9e, 0x6a, 0x1f, 0x97, 0x05, 0x24, 0x0d, 0x67, 0xb1, 0xd4, 0xec, 0xdd, 0xa7, 0xb9,
0x0e, 0x7d, 0xe2, 0x4e, 0x99, 0x17, 0x07, 0x52, 0xf9, 0xf3, 0x8f, 0x2b, 0x13, 0x8f, 0x65, 0x31,
0x61, 0x1b, 0x44, 0x8c, 0xce, 0x98, 0x17, 0xe5, 0x22, 0xed, 0xbf, 0x75, 0xd8, 0x1d, 0x8a, 0x01,
0x26, 0x71, 0x40, 0x98, 0x43, 0xd2, 0x0c, 0x9d, 0x01, 0x24, 0x84, 0x85, 0xc9, 0x9c, 0x30, 0x6f,
0xa1, 0x56, 0x9e, 0x57, 0xf6, 0x3a, 0x87, 0xbf, 0xe9, 0x6d, 0x0c, 0x45, 0xcf, 0x5e, 0x42, 0x78,
0xcd, 0x00, 0xbd, 0x84, 0x2d, 0x39, 0xa6, 0x5a, 0x15, 0x5e, 0x3f, 0xbb, 0xc7, 0xcb, 0xce, 0x55,
0xb8, 0x90, 0xa3, 0x57, 0xd0, 0x9e, 0xdf, 0xb8, 0x79, 0x8c, 0xd4, 0x9a, 0x60, 0x7f, 0x7a, 0x0f,
0x3b, 0x14, 0x22, 0xdc, 0x9a, 0xdf, 0xe4, 0x4f, 0xe8, 0x6b, 0xa8, 0xd1, 0x20, 0x52, 0xeb, 0x0f,
0x8f, 0x98, 0x07, 0x0c, 0x73, 0x29, 0xb2, 0x40, 0x59, 0x8e, 0xe6, 0xe6, 0x22, 0xb5, 0x21, 0xf0,
0x5f, 0x3c, 0x38, 0x68, 0x4f, 0x17, 0x3d, 0xb8, 0x5b, 0x8c, 0x9d, 0xb7, 0x11, 0x86, 0x9d, 0xf9,
0x8d, 0xbb, 0x4c, 0x84, 0x54, 0xed, 0x94, 0x8e, 0xa4, 0xbe, 0x84, 0xf0, 0xf6, 0xfc, 0x66, 0xd5,
0x42, 0x06, 0x6c, 0xaf, 0xa7, 0x83, 0xda, 0x14, 0x96, 0xda, 0xbd, 0xf3, 0xe3, 0xd2, 0x01, 0x57,
0xe2, 0x4e, 0xb0, 0x6a, 0x88, 0xe0, 0x90, 0x48, 0xdd, 0x2a, 0x19, 0x1c, 0x12, 0xa1, 0x63, 0x68,
0x5d, 0x86, 0x2c, 0xba, 0xf1, 0x18, 0x51, 0xb7, 0x05, 0xf6, 0x55, 0x89, 0x75, 0x1c, 0x49, 0x04,
0x2f, 0x61, 0xed, 0x3f, 0x2d, 0x80, 0xb5, 0x05, 0x7d, 0x0b, 0xb5, 0x94, 0xfa, 0x32, 0x31, 0xee,
0x8b, 0xf3, 0x52, 0xdf, 0x1b, 0x53, 0x1f, 0x73, 0x00, 0x9d, 0x43, 0x37, 0x22, 0x11, 0x65, 0xb7,
0x6e, 0xc2, 0xe8, 0x65, 0xb8, 0x20, 0x32, 0x3f, 0xf6, 0x37, 0x5a, 0x9c, 0x09, 0x8c, 0x27, 0x1b,
0xc7, 0xf0, 0x4e, 0x6e, 0x23, 0x9b, 0xe8, 0x04, 0xda, 0xd3, 0xc5, 0x15, 0xc9, 0x28, 0xcd, 0xe6,
0x32, 0x79, 0x7e, 0xb5, 0xd1, 0x72, 0x50, 0x10, 0x78, 0x05, 0xa3, 0xdf, 0x43, 0xd3, 0xf7, 0x22,
0xc2, 0x3c, 0x99, 0x44, 0xbf, 0xdc, 0x68, 0xa3, 0x0b, 0x39, 0x96, 0x18, 0x3a, 0x81, 0x4e, 0x46,
0xaf, 0xfc, 0x79, 0xea, 0x33, 0x42, 0x62, 0xb9, 0xd5, 0x5f, 0x6e, 0x74, 0x71, 0x38, 0x83, 0xd7,
0x51, 0xf4, 0x1d, 0xd4, 0x6f, 0xc2, 0xcb, 0x50, 0xee, 0xf7, 0x17, 0x1b, 0x2d, 0xde, 0x86, 0x97,
0x21, 0x16, 0x08, 0x1a, 0x40, 0x4b, 0x38, 0x25, 0x5e, 0xa0, 0xc2, 0xa3, 0x66, 0xb0, 0xe4, 0xf8,
0x41, 0x08, 0xc2, 0x34, 0x59, 0x78, 0xb7, 0x6e, 0xe2, 0xc5, 0x64, 0xb1, 0xe1, 0x20, 0xac, 0x8c,
0x86, 0x39, 0x65, 0x73, 0x08, 0x6f, 0x07, 0x6b, 0x2d, 0x74, 0x0a, 0x1d, 0xef, 0x2a, 0x08, 0xa9,
0xeb, 0xd3, 0x80, 0xf8, 0x1b, 0x52, 0x72, 0xe5, 0xd8, 0xe7, 0x8c, 0xce, 0x11, 0x0c, 0xde, 0xf2,
0x19, 0x0d, 0x60, 0x6b, 0xea, 0x65, 0x19, 0x61, 0xb7, 0xea, 0x8e, 0x70, 0xda, 0xdb, 0xbc, 0xe7,
0xb9, 0x1e, 0x17, 0x20, 0xb2, 0x60, 0x87, 0xf8, 0xee, 0xe5, 0xc2, 0x4b, 0xe7, 0xae, 0x3f, 0x0f,
0x13, 0xb5, 0x5b, 0x32, 0x7b, 0x8e, 0x38, 0xa2, 0xcf, 0xc3, 0x04, 0x77, 0x88, 0xbf, 0x6c, 0xa0,
0x73, 0xf8, 0x24, 0xbd, 0x4d, 0x33, 0x12, 0xad, 0x7b, 0xee, 0x3e, 0xda, 0x73, 0x37, 0x37, 0x59,
0xf9, 0xea, 0x50, 0x25, 0xbe, 0xaa, 0x08, 0xa3, 0x17, 0x1b, 0x8d, 0x8c, 0x68, 0x4a, 0x82, 0x80,
0x04, 0x3a, 0x8d, 0x33, 0x46, 0x17, 0x0b, 0xc2, 0x70, 0x35, 0x0f, 0x58, 0x9a, 0x51, 0xe6, 0xcd,
0x88, 0xfa, 0x49, 0xc9, 0x80, 0x8d, 0x73, 0x3d, 0x2e, 0x40, 0x7e, 0xf4, 0xb3, 0x24, 0x52, 0x51,
0xc9, 0xa3, 0xef, 0x24, 0x11, 0xe6, 0xc0, 0xeb, 0x7a, 0xab, 0xa2, 0x54, 0x35, 0x0c, 0xad, 0xa2,
0xba, 0x20, 0x0d, 0x76, 0xbc, 0xc4, 0x65, 0xd4, 0xbd, 0x26, 0x2c, 0x0d, 0x69, 0x2c, 0xee, 0xac,
0x36, 0xee, 0x78, 0x09, 0xa6, 0xe7, 0x79, 0x57, 0xa1, 0xb9, 0x59, 0x6a, 0xaa, 0x4b, 0xcd, 0x8d,
0xd4, 0x68, 0xff, 0x6e, 0x00, 0xac, 0x2e, 0x31, 0xf4, 0x03, 0x34, 0x52, 0xc2, 0xae, 0xa9, 0xbc,
0x02, 0xf7, 0x4a, 0x14, 0xbc, 0x31, 0xd7, 0xe3, 0x1c, 0x43, 0xaf, 0xa1, 0xed, 0xcf, 0xbd, 0x88,
0x2c, 0x88, 0x1c, 0xae, 0x73, 0xf8, 0xeb, 0x32, 0xc5, 0xbf, 0x60, 0xf0, 0x0a, 0x47, 0x2f, 0xa1,
0xc6, 0x92, 0x48, 0x16, 0xb9, 0x2f, 0x4b, 0xb8, 0x60, 0xfb, 0x0c, 0x73, 0x04, 0xfd, 0x09, 0x14,
0xf2, 0x3e, 0x23, 0x2c, 0xf6, 0x16, 0x6e, 0x5e, 0x59, 0x52, 0xb5, 0xfe, 0xbc, 0xb6, 0xd7, 0x39,
0x3c, 0x28, 0x61, 0x63, 0x48, 0x54, 0xd6, 0xa6, 0x5d, 0xf2, 0x41, 0x3b, 0xe5, 0x31, 0x12, 0xe7,
0x48, 0x16, 0xb9, 0x32, 0x31, 0x12, 0x67, 0x10, 0xe7, 0x18, 0xfa, 0x5e, 0x96, 0xa6, 0xe6, 0x83,
0x35, 0x72, 0x1d, 0x5f, 0x2b, 0x4e, 0x3f, 0x40, 0x43, 0x14, 0x19, 0x59, 0xd8, 0xca, 0x0c, 0x9e,
0xd7, 0xa6, 0x1c, 0x13, 0x1b, 0x24, 0xd6, 0x31, 0xa5, 0xef, 0xd5, 0x56, 0xf9, 0x0d, 0x2a, 0x18,
0xbc, 0xc2, 0xd1, 0x1f, 0x78, 0xb9, 0x9f, 0x2e, 0x48, 0xaa, 0xb6, 0x45, 0x70, 0xf7, 0x4a, 0x19,
0x4d, 0x17, 0x04, 0x4b, 0x8e, 0x5f, 0xb1, 0x3e, 0x59, 0x2c, 0xae, 0x16, 0x1e, 0x93, 0xa5, 0xb6,
0xcc, 0x15, 0xab, 0x4b, 0x04, 0x2f, 0x61, 0xed, 0x15, 0x34, 0x44, 0x8c, 0xd1, 0x33, 0x68, 0xe7,
0x45, 0x92, 0xaf, 0x8f, 0x27, 0x71, 0x0b, 0xb7, 0x44, 0xc7, 0x80, 0xbe, 0x47, 0x4f, 0xa0, 0xe1,
0x65, 0xec, 0x2a, 0x15, 0x99, 0xd9, 0xc2, 0x79, 0x43, 0xfb, 0x47, 0x05, 0x1a, 0x62, 0x5a, 0xa8,
0x0f, 0xf5, 0xec, 0x36, 0x21, 0x82, 0xeb, 0x96, 0x7b, 0x6b, 0xe1, 0x5c, 0xcf, 0xb9, 0x4d, 0x08,
0x16, 0xa8, 0x76, 0x01, 0x75, 0xde, 0x42, 0x4f, 0x40, 0x71, 0x2e, 0x6c, 0xc3, 0x9d, 0x58, 0x63,
0xdb, 0xd0, 0xcd, 0x23, 0xd3, 0x18, 0x2a, 0x3f, 0x42, 0x3b, 0xd0, 0xee, 0x4f, 0x86, 0xe6, 0xe8,
0x75, 0x5f, 0x7f, 0xa3, 0x54, 0xd0, 0x36, 0xb4, 0x26, 0xe3, 0x81, 0xe8, 0x51, 0xaa, 0x68, 0x17,
0x3a, 0x93, 0xf1, 0xc0, 0xc6, 0xa6, 0xe5, 0x98, 0xd6, 0xb1, 0x52, 0xe3, 0xea, 0x93, 0xe1, 0x99,
0x99, 0xff, 0xbf, 0xae, 0xfd, 0xa5, 0x02, 0xed, 0xe5, 0x3e, 0xa0, 0x37, 0xd0, 0xbc, 0xf4, 0xfc,
0x30, 0x9e, 0xc9, 0xd9, 0xbe, 0x78, 0xcc, 0x2e, 0xf6, 0x8e, 0x04, 0x8a, 0xa5, 0x85, 0xf6, 0x0d,
0x34, 0xf3, 0x1e, 0xf4, 0x29, 0xa0, 0xa3, 0xbe, 0x6e, 0x5a, 0xc7, 0x77, 0x66, 0xde, 0x82, 0xfa,
0x20, 0x9f, 0x74, 0x1b, 0x1a, 0x47, 0x78, 0x64, 0x39, 0x4a, 0x55, 0xfb, 0x67, 0x05, 0x5a, 0xc5,
0x66, 0x20, 0x0c, 0x6d, 0x9a, 0x10, 0xe6, 0x65, 0x94, 0xa5, 0x6a, 0xe5, 0x79, 0x6d, 0xaf, 0x7b,
0xf8, 0xdb, 0x47, 0x6c, 0x66, 0x6f, 0x24, 0x61, 0xbc, 0xb2, 0xd1, 0x8e, 0xa1, 0x55, 0x74, 0x23,
0x15, 0x9e, 0x8c, 0x6c, 0x03, 0xf7, 0x9d, 0x11, 0xbe, 0x33, 0xb7, 0x2d, 0xa8, 0xf5, 0x1d, 0x47,
0xa9, 0xa0, 0x0e, 0x6c, 0x9d, 0x1b, 0xd8, 0x7c, 0x37, 0xb2, 0x94, 0x2a, 0x6f, 0x38, 0x67, 0xa3,
0x81, 0x79, 0x6a, 0x28, 0x35, 0xed, 0xef, 0x55, 0x68, 0x2f, 0x8b, 0x0c, 0xba, 0x80, 0xce, 0xea,
0x65, 0xbd, 0x98, 0xec, 0xef, 0x1e, 0x53, 0xa7, 0xd6, 0x5f, 0xfc, 0xd7, 0xbd, 0xd0, 0x67, 0xc5,
0x25, 0x3d, 0xa5, 0x1e, 0x0b, 0x64, 0xa2, 0x81, 0xcc, 0x40, 0x8f, 0x05, 0xda, 0x9f, 0x2b, 0x1f,
0x14, 0xdc, 0xa7, 0xf0, 0xa9, 0x8d, 0x0d, 0xd3, 0x3e, 0x31, 0x70, 0xff, 0xf4, 0xce, 0xba, 0x00,
0x9a, 0x03, 0xc7, 0x3d, 0x31, 0x87, 0x4a, 0x05, 0x35, 0xa1, 0x3a, 0xb4, 0xf3, 0x55, 0x0d, 0x6d,
0x97, 0xa7, 0x85, 0x52, 0xe3, 0x0b, 0x3f, 0x3f, 0xee, 0x2b, 0x75, 0xbe, 0x3b, 0xa2, 0xab, 0x81,
0xba, 0x00, 0x03, 0xc7, 0x1d, 0x9c, 0x1a, 0x82, 0x6b, 0x22, 0x05, 0xb6, 0x07, 0x8e, 0xdb, 0x3f,
0x1c, 0xda, 0xee, 0xd8, 0xb4, 0xde, 0x28, 0x5b, 0xdc, 0x61, 0xe0, 0xb8, 0xb6, 0x61, 0x60, 0xa5,
0xa5, 0xfd, 0xad, 0x02, 0xdd, 0x0f, 0xeb, 0x1d, 0x7a, 0xfd, 0xc1, 0x21, 0xf8, 0xf6, 0xd1, 0x05,
0x73, 0xfd, 0x34, 0x7c, 0xf3, 0xe0, 0x69, 0x00, 0x68, 0x9e, 0x4c, 0x86, 0xc3, 0xd3, 0x8b, 0x7c,
0xeb, 0x6c, 0xe7, 0x9d, 0x8d, 0x47, 0x87, 0x4a, 0x55, 0xfb, 0x0c, 0x6a, 0xd8, 0x3e, 0x43, 0x2a,
0xff, 0x8a, 0x22, 0x29, 0x89, 0x33, 0x79, 0x92, 0x8b, 0xa6, 0xf6, 0x39, 0x34, 0xc4, 0xb5, 0xf3,
0x80, 0xe4, 0x19, 0x34, 0x44, 0xe1, 0x43, 0x08, 0xea, 0x51, 0x18, 0x51, 0xf9, 0x7f, 0xf1, 0xac,
0xfd, 0xb5, 0x0a, 0x75, 0x5e, 0x54, 0xd1, 0x04, 0x3a, 0x24, 0xbe, 0x0e, 0x19, 0x8d, 0xa3, 0xc2,
0xa3, 0xdc, 0x51, 0xe2, 0x74, 0xcf, 0x58, 0xa1, 0x78, 0xdd, 0x07, 0x9d, 0xc0, 0x96, 0x17, 0x67,
0x24, 0x8e, 0x3d, 0x79, 0x09, 0xf6, 0x4a, 0x5a, 0xf6, 0x73, 0x0a, 0x17, 0xb8, 0x36, 0x83, 0xce,
0xda, 0x28, 0xe8, 0x19, 0xfc, 0xc4, 0xb0, 0xce, 0x4d, 0x3c, 0xb2, 0xce, 0x0c, 0xcb, 0xb9, 0x13,
0xcf, 0x6d, 0x68, 0x8d, 0x9d, 0xbe, 0x35, 0xec, 0x63, 0x9e, 0x31, 0x3b, 0xd0, 0x7e, 0x6b, 0x1e,
0x99, 0xae, 0x6e, 0x9c, 0x9e, 0x2a, 0x55, 0x7e, 0x6c, 0xf5, 0x93, 0xfe, 0x68, 0xac, 0xd4, 0xd0,
0x8f, 0x61, 0x17, 0x8f, 0x26, 0x8e, 0x81, 0xdd, 0x97, 0x5f, 0x1f, 0xba, 0x07, 0x07, 0xfd, 0x3f,
0x2a, 0x75, 0xed, 0x5f, 0x15, 0xe8, 0xac, 0xcd, 0x00, 0x5d, 0x00, 0xf8, 0x34, 0x8e, 0x89, 0x9f,
0x15, 0x6f, 0x17, 0xdd, 0xc3, 0xef, 0x1e, 0xb7, 0x0a, 0xfe, 0x95, 0x28, 0x0d, 0xf0, 0x9a, 0x99,
0xd6, 0xe7, 0x9f, 0x43, 0x45, 0x8b, 0x9f, 0x00, 0x7d, 0x64, 0x59, 0x86, 0xee, 0x98, 0x23, 0xeb,
0xce, 0x8a, 0xba, 0x00, 0xfa, 0xc8, 0x1a, 0x4e, 0x74, 0xc7, 0x3c, 0x37, 0x94, 0x0a, 0x4f, 0xf8,
0x91, 0xd3, 0x57, 0xaa, 0x83, 0x57, 0xef, 0x5e, 0xce, 0xe8, 0x72, 0x36, 0x3d, 0xca, 0x66, 0xfb,
0xff, 0xff, 0xe9, 0x3f, 0xa3, 0x77, 0x7f, 0xe7, 0xf8, 0x3e, 0xb8, 0xca, 0xa6, 0x4d, 0xf1, 0x33,
0xc0, 0x8b, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x08, 0x2c, 0xed, 0x4a, 0x17, 0x11, 0x00, 0x00,
}