// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: measure_message.proto

#include "measure_message.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// This is a temporary google only hack
#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
#include "third_party/protobuf/version.h"
#endif
// @@protoc_insertion_point(includes)

namespace protobuf_measure_5fmessage_2eproto {
extern PROTOBUF_INTERNAL_EXPORT_protobuf_measure_5fmessage_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Cloud_coordinate;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_measure_5fmessage_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Cloud_type;
}  // namespace protobuf_measure_5fmessage_2eproto
namespace protobuf_message_5fbase_2eproto {
extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Base_info;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Error_manager;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Id_struct;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_message_5fbase_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Locate_information;
}  // namespace protobuf_message_5fbase_2eproto
namespace message {
class Measure_status_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Measure_status_msg>
      _instance;
} _Measure_status_msg_default_instance_;
class Measure_request_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Measure_request_msg>
      _instance;
} _Measure_request_msg_default_instance_;
class Measure_response_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Measure_response_msg>
      _instance;
} _Measure_response_msg_default_instance_;
class Ground_detect_request_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Ground_detect_request_msg>
      _instance;
} _Ground_detect_request_msg_default_instance_;
class Ground_detect_response_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Ground_detect_response_msg>
      _instance;
} _Ground_detect_response_msg_default_instance_;
class Ground_status_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Ground_status_msg>
      _instance;
} _Ground_status_msg_default_instance_;
class Cloud_coordinateDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Cloud_coordinate>
      _instance;
} _Cloud_coordinate_default_instance_;
class Cloud_typeDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Cloud_type>
      _instance;
} _Cloud_type_default_instance_;
class Locate_sift_request_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Locate_sift_request_msg>
      _instance;
} _Locate_sift_request_msg_default_instance_;
class Locate_sift_response_msgDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<Locate_sift_response_msg>
      _instance;
} _Locate_sift_response_msg_default_instance_;
}  // namespace message
namespace protobuf_measure_5fmessage_2eproto {
static void InitDefaultsMeasure_status_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Measure_status_msg_default_instance_;
    new (ptr) ::message::Measure_status_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Measure_status_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<3> scc_info_Measure_status_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsMeasure_status_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base,
      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};

static void InitDefaultsMeasure_request_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Measure_request_msg_default_instance_;
    new (ptr) ::message::Measure_request_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Measure_request_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<2> scc_info_Measure_request_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsMeasure_request_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base,}};

static void InitDefaultsMeasure_response_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Measure_response_msg_default_instance_;
    new (ptr) ::message::Measure_response_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Measure_response_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<4> scc_info_Measure_response_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsMeasure_response_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base,
      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base,
      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};

static void InitDefaultsGround_detect_request_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Ground_detect_request_msg_default_instance_;
    new (ptr) ::message::Ground_detect_request_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Ground_detect_request_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<2> scc_info_Ground_detect_request_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsGround_detect_request_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base,}};

static void InitDefaultsGround_detect_response_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Ground_detect_response_msg_default_instance_;
    new (ptr) ::message::Ground_detect_response_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Ground_detect_response_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<4> scc_info_Ground_detect_response_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsGround_detect_response_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base,
      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base,
      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};

static void InitDefaultsGround_status_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Ground_status_msg_default_instance_;
    new (ptr) ::message::Ground_status_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Ground_status_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<5> scc_info_Ground_status_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 5, InitDefaultsGround_status_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base,
      &protobuf_message_5fbase_2eproto::scc_info_Locate_information.base,
      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,
      &protobuf_measure_5fmessage_2eproto::scc_info_Cloud_coordinate.base,}};

static void InitDefaultsCloud_coordinate() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Cloud_coordinate_default_instance_;
    new (ptr) ::message::Cloud_coordinate();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Cloud_coordinate::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<0> scc_info_Cloud_coordinate =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsCloud_coordinate}, {}};

static void InitDefaultsCloud_type() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Cloud_type_default_instance_;
    new (ptr) ::message::Cloud_type();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Cloud_type::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<0> scc_info_Cloud_type =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsCloud_type}, {}};

static void InitDefaultsLocate_sift_request_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Locate_sift_request_msg_default_instance_;
    new (ptr) ::message::Locate_sift_request_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Locate_sift_request_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<3> scc_info_Locate_sift_request_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsLocate_sift_request_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base,
      &protobuf_measure_5fmessage_2eproto::scc_info_Cloud_coordinate.base,}};

static void InitDefaultsLocate_sift_response_msg() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Locate_sift_response_msg_default_instance_;
    new (ptr) ::message::Locate_sift_response_msg();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Locate_sift_response_msg::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<4> scc_info_Locate_sift_response_msg =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsLocate_sift_response_msg}, {
      &protobuf_message_5fbase_2eproto::scc_info_Base_info.base,
      &protobuf_message_5fbase_2eproto::scc_info_Id_struct.base,
      &protobuf_measure_5fmessage_2eproto::scc_info_Cloud_type.base,
      &protobuf_message_5fbase_2eproto::scc_info_Error_manager.base,}};

void InitDefaults() {
  ::google::protobuf::internal::InitSCC(&scc_info_Measure_status_msg.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Measure_request_msg.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Measure_response_msg.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Ground_detect_request_msg.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Ground_detect_response_msg.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Ground_status_msg.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Cloud_coordinate.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Cloud_type.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Locate_sift_request_msg.base);
  ::google::protobuf::internal::InitSCC(&scc_info_Locate_sift_response_msg.base);
}

::google::protobuf::Metadata file_level_metadata[10];
const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[7];

const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, base_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, id_struct_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, laser_manager_status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, laser_statu_vector_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, locate_manager_status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, error_manager_),
  0,
  1,
  3,
  ~0u,
  4,
  2,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, base_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, command_key_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, id_struct_),
  1,
  0,
  2,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, base_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, command_key_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, id_struct_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, locate_information_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, error_manager_),
  1,
  0,
  2,
  3,
  4,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_request_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_request_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_request_msg, base_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_request_msg, command_key_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_request_msg, id_struct_),
  1,
  0,
  2,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_response_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_response_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_response_msg, base_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_response_msg, command_key_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_response_msg, id_struct_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_response_msg, locate_information_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_detect_response_msg, error_manager_),
  1,
  0,
  2,
  3,
  4,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, base_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, id_struct_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, wanji_manager_status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, wanji_lidar_device_status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, region_worker_status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, locate_information_realtime_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, ground_status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, border_status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, error_manager_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Ground_status_msg, cloud_),
  0,
  1,
  4,
  ~0u,
  5,
  2,
  6,
  7,
  3,
  ~0u,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Cloud_coordinate, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Cloud_coordinate, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Cloud_coordinate, x_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Cloud_coordinate, y_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Cloud_coordinate, z_),
  0,
  1,
  2,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Cloud_type, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Cloud_type, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Cloud_type, type_),
  0,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_request_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_request_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_request_msg, base_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_request_msg, command_key_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_request_msg, id_struct_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_request_msg, lidar_id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_request_msg, cloud_coordinates_),
  1,
  0,
  2,
  3,
  ~0u,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_response_msg, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_response_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_response_msg, base_info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_response_msg, command_key_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_response_msg, id_struct_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_response_msg, lidar_id_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_response_msg, cloud_type_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Locate_sift_response_msg, error_manager_),
  1,
  0,
  2,
  4,
  ~0u,
  3,
};
static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 11, sizeof(::message::Measure_status_msg)},
  { 17, 25, sizeof(::message::Measure_request_msg)},
  { 28, 38, sizeof(::message::Measure_response_msg)},
  { 43, 51, sizeof(::message::Ground_detect_request_msg)},
  { 54, 64, sizeof(::message::Ground_detect_response_msg)},
  { 69, 84, sizeof(::message::Ground_status_msg)},
  { 94, 102, sizeof(::message::Cloud_coordinate)},
  { 105, 111, sizeof(::message::Cloud_type)},
  { 112, 122, sizeof(::message::Locate_sift_request_msg)},
  { 127, 138, sizeof(::message::Locate_sift_response_msg)},
};

static ::google::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Measure_status_msg_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Measure_request_msg_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Measure_response_msg_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Ground_detect_request_msg_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Ground_detect_response_msg_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Ground_status_msg_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Cloud_coordinate_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Cloud_type_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Locate_sift_request_msg_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Locate_sift_response_msg_default_instance_),
};

void protobuf_AssignDescriptors() {
  AddDescriptors();
  AssignDescriptors(
      "measure_message.proto", schemas, file_default_instances, TableStruct::offsets,
      file_level_metadata, file_level_enum_descriptors, NULL);
}

void protobuf_AssignDescriptorsOnce() {
  static ::google::protobuf::internal::once_flag once;
  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
}

void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 10);
}

void AddDescriptorsImpl() {
  InitDefaults();
  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
      "\n\025measure_message.proto\022\007message\032\022messag"
      "e_base.proto\"\277\002\n\022Measure_status_msg\022%\n\tb"
      "ase_info\030\001 \002(\0132\022.message.Base_info\022%\n\tid"
      "_struct\030\002 \002(\0132\022.message.Id_struct\022;\n\024las"
      "er_manager_status\030\003 \002(\0162\035.message.Laser_"
      "manager_status\0220\n\022laser_statu_vector\030\004 \003"
      "(\0162\024.message.Laser_statu\022=\n\025locate_manag"
      "er_status\030\005 \002(\0162\036.message.Locate_manager"
      "_status\022-\n\rerror_manager\030\006 \002(\0132\026.message"
      ".Error_manager\"x\n\023Measure_request_msg\022%\n"
      "\tbase_info\030\001 \002(\0132\022.message.Base_info\022\023\n\013"
      "command_key\030\002 \002(\t\022%\n\tid_struct\030\003 \002(\0132\022.m"
      "essage.Id_struct\"\341\001\n\024Measure_response_ms"
      "g\022%\n\tbase_info\030\001 \002(\0132\022.message.Base_info"
      "\022\023\n\013command_key\030\002 \002(\t\022%\n\tid_struct\030\003 \002(\013"
      "2\022.message.Id_struct\0227\n\022locate_informati"
      "on\030\004 \001(\0132\033.message.Locate_information\022-\n"
      "\rerror_manager\030\005 \002(\0132\026.message.Error_man"
      "ager\"~\n\031Ground_detect_request_msg\022%\n\tbas"
      "e_info\030\001 \002(\0132\022.message.Base_info\022\023\n\013comm"
      "and_key\030\002 \002(\t\022%\n\tid_struct\030\003 \002(\0132\022.messa"
      "ge.Id_struct\"\347\001\n\032Ground_detect_response_"
      "msg\022%\n\tbase_info\030\001 \002(\0132\022.message.Base_in"
      "fo\022\023\n\013command_key\030\002 \002(\t\022%\n\tid_struct\030\003 \002"
      "(\0132\022.message.Id_struct\0227\n\022locate_informa"
      "tion\030\004 \001(\0132\033.message.Locate_information\022"
      "-\n\rerror_manager\030\005 \002(\0132\026.message.Error_m"
      "anager\"\202\004\n\021Ground_status_msg\022%\n\tbase_inf"
      "o\030\001 \002(\0132\022.message.Base_info\022%\n\tid_struct"
      "\030\002 \002(\0132\022.message.Id_struct\022;\n\024wanji_mana"
      "ger_status\030\003 \002(\0162\035.message.Wanji_manager"
      "_status\022E\n\031wanji_lidar_device_status\030\004 \003"
      "(\0162\".message.Wanji_lidar_device_status\022;"
      "\n\024region_worker_status\030\005 \002(\0162\035.message.R"
      "egion_worker_status\022@\n\033locate_informatio"
      "n_realtime\030\006 \002(\0132\033.message.Locate_inform"
      "ation\022,\n\rground_status\030\007 \002(\0162\025.message.G"
      "round_statu\022\025\n\rborder_status\030\010 \002(\005\022-\n\rer"
      "ror_manager\030\t \002(\0132\026.message.Error_manage"
      "r\022(\n\005cloud\030\n \003(\0132\031.message.Cloud_coordin"
      "ate\"3\n\020Cloud_coordinate\022\t\n\001x\030\001 \002(\002\022\t\n\001y\030"
      "\002 \002(\002\022\t\n\001z\030\003 \002(\002\"\032\n\nCloud_type\022\014\n\004type\030\001"
      " \002(\005\"\304\001\n\027Locate_sift_request_msg\022%\n\tbase"
      "_info\030\001 \002(\0132\022.message.Base_info\022\023\n\013comma"
      "nd_key\030\002 \002(\t\022%\n\tid_struct\030\003 \002(\0132\022.messag"
      "e.Id_struct\022\020\n\010lidar_id\030\004 \002(\005\0224\n\021cloud_c"
      "oordinates\030\005 \003(\0132\031.message.Cloud_coordin"
      "ate\"\347\001\n\030Locate_sift_response_msg\022%\n\tbase"
      "_info\030\001 \002(\0132\022.message.Base_info\022\023\n\013comma"
      "nd_key\030\002 \002(\t\022%\n\tid_struct\030\003 \002(\0132\022.messag"
      "e.Id_struct\022\020\n\010lidar_id\030\004 \002(\005\022\'\n\ncloud_t"
      "ype\030\005 \003(\0132\023.message.Cloud_type\022-\n\rerror_"
      "manager\030\006 \002(\0132\026.message.Error_manager*\237\001"
      "\n\024Laser_manager_status\022\030\n\024LASER_MANAGER_"
      "UNKNOW\020\000\022\027\n\023LASER_MANAGER_READY\020\001\022\035\n\031LAS"
      "ER_MANAGER_ISSUED_TASK\020\002\022\034\n\030LASER_MANAGE"
      "R_WAIT_REPLY\020\003\022\027\n\023LASER_MANAGER_FAULT\020\004*"
      "U\n\013Laser_statu\022\024\n\020LASER_DISCONNECT\020\000\022\017\n\013"
      "LASER_READY\020\001\022\016\n\nLASER_BUSY\020\002\022\017\n\013LASER_F"
      "AULT\020\003*\261\001\n\025Locate_manager_status\022\031\n\025LOCA"
      "TE_MANAGER_UNKNOW\020\000\022\030\n\024LOCATE_MANAGER_RE"
      "ADY\020\001\022\027\n\023LOCATE_MANAGER_SIFT\020\002\022\026\n\022LOCATE"
      "_MANAGER_CAR\020\003\022\030\n\024LOCATE_MANAGER_WHEEL\020\004"
      "\022\030\n\024LOCATE_MANAGER_FAULT\020\005*\367\001\n\024Wanji_man"
      "ager_status\022\031\n\025WANJI_MANAGER_UNKNOWN\020\000\022\027"
      "\n\023WANJI_MANAGER_READY\020\001\022\026\n\022WANJI_MANAGER"
      "_BUSY\020\002\022\035\n\031WANJI_MANAGER_ISSUED_SCAN\020\003\022\033"
      "\n\027WANJI_MANAGER_WAIT_SCAN\020\004\022\037\n\033WANJI_MAN"
      "AGER_ISSUED_DETECT\020\005\022\035\n\031WANJI_MANAGER_WA"
      "IT_DETECT\020\006\022\027\n\023WANJI_MANAGER_FAULT\020\n*\267\001\n"
      "\031Wanji_lidar_device_status\022\036\n\032WANJI_LIDA"
      "R_DEVICE_UNKNOWN\020\000\022\034\n\030WANJI_LIDAR_DEVICE"
      "_READY\020\001\022!\n\035WANJI_LIDAR_DEVICE_DISCONNEC"
      "T\020\002\022\033\n\027WANJI_LIDAR_DEVICE_BUSY\020\003\022\034\n\030WANJ"
      "I_LIDAR_DEVICE_FAULT\020\n*{\n\024Region_worker_"
      "status\022\031\n\025REGION_WORKER_UNKNOWN\020\000\022\027\n\023REG"
      "ION_WORKER_READY\020\001\022\026\n\022REGION_WORKER_BUSY"
      "\020\002\022\027\n\023REGION_WORKER_FAULT\020\n*O\n\014Ground_st"
      "atu\022\013\n\007Nothing\020\000\022\t\n\005Noise\020\001\022\017\n\013Car_corre"
      "ct\020\002\022\026\n\022Car_border_reached\020\003"
  };
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      descriptor, 3188);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "measure_message.proto", &protobuf_RegisterTypes);
  ::protobuf_message_5fbase_2eproto::AddDescriptors();
}

void AddDescriptors() {
  static ::google::protobuf::internal::once_flag once;
  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
}
// Force AddDescriptors() to be called at dynamic initialization time.
struct StaticDescriptorInitializer {
  StaticDescriptorInitializer() {
    AddDescriptors();
  }
} static_descriptor_initializer;
}  // namespace protobuf_measure_5fmessage_2eproto
namespace message {
const ::google::protobuf::EnumDescriptor* Laser_manager_status_descriptor() {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_measure_5fmessage_2eproto::file_level_enum_descriptors[0];
}
bool Laser_manager_status_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Laser_statu_descriptor() {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_measure_5fmessage_2eproto::file_level_enum_descriptors[1];
}
bool Laser_statu_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Locate_manager_status_descriptor() {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_measure_5fmessage_2eproto::file_level_enum_descriptors[2];
}
bool Locate_manager_status_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Wanji_manager_status_descriptor() {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_measure_5fmessage_2eproto::file_level_enum_descriptors[3];
}
bool Wanji_manager_status_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 10:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Wanji_lidar_device_status_descriptor() {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_measure_5fmessage_2eproto::file_level_enum_descriptors[4];
}
bool Wanji_lidar_device_status_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 10:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Region_worker_status_descriptor() {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_measure_5fmessage_2eproto::file_level_enum_descriptors[5];
}
bool Region_worker_status_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 10:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* Ground_statu_descriptor() {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_measure_5fmessage_2eproto::file_level_enum_descriptors[6];
}
bool Ground_statu_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}


// ===================================================================

void Measure_status_msg::InitAsDefaultInstance() {
  ::message::_Measure_status_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
  ::message::_Measure_status_msg_default_instance_._instance.get_mutable()->id_struct_ = const_cast< ::message::Id_struct*>(
      ::message::Id_struct::internal_default_instance());
  ::message::_Measure_status_msg_default_instance_._instance.get_mutable()->error_manager_ = const_cast< ::message::Error_manager*>(
      ::message::Error_manager::internal_default_instance());
}
void Measure_status_msg::clear_base_info() {
  if (base_info_ != NULL) base_info_->Clear();
  clear_has_base_info();
}
void Measure_status_msg::clear_id_struct() {
  if (id_struct_ != NULL) id_struct_->Clear();
  clear_has_id_struct();
}
void Measure_status_msg::clear_error_manager() {
  if (error_manager_ != NULL) error_manager_->Clear();
  clear_has_error_manager();
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Measure_status_msg::kBaseInfoFieldNumber;
const int Measure_status_msg::kIdStructFieldNumber;
const int Measure_status_msg::kLaserManagerStatusFieldNumber;
const int Measure_status_msg::kLaserStatuVectorFieldNumber;
const int Measure_status_msg::kLocateManagerStatusFieldNumber;
const int Measure_status_msg::kErrorManagerFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Measure_status_msg::Measure_status_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Measure_status_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Measure_status_msg)
}
Measure_status_msg::Measure_status_msg(const Measure_status_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      laser_statu_vector_(from.laser_statu_vector_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  if (from.has_id_struct()) {
    id_struct_ = new ::message::Id_struct(*from.id_struct_);
  } else {
    id_struct_ = NULL;
  }
  if (from.has_error_manager()) {
    error_manager_ = new ::message::Error_manager(*from.error_manager_);
  } else {
    error_manager_ = NULL;
  }
  ::memcpy(&laser_manager_status_, &from.laser_manager_status_,
    static_cast<size_t>(reinterpret_cast<char*>(&locate_manager_status_) -
    reinterpret_cast<char*>(&laser_manager_status_)) + sizeof(locate_manager_status_));
  // @@protoc_insertion_point(copy_constructor:message.Measure_status_msg)
}

void Measure_status_msg::SharedCtor() {
  ::memset(&base_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&locate_manager_status_) -
      reinterpret_cast<char*>(&base_info_)) + sizeof(locate_manager_status_));
}

Measure_status_msg::~Measure_status_msg() {
  // @@protoc_insertion_point(destructor:message.Measure_status_msg)
  SharedDtor();
}

void Measure_status_msg::SharedDtor() {
  if (this != internal_default_instance()) delete base_info_;
  if (this != internal_default_instance()) delete id_struct_;
  if (this != internal_default_instance()) delete error_manager_;
}

void Measure_status_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Measure_status_msg::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Measure_status_msg& Measure_status_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Measure_status_msg.base);
  return *internal_default_instance();
}


void Measure_status_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Measure_status_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  laser_statu_vector_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(base_info_ != NULL);
      base_info_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(id_struct_ != NULL);
      id_struct_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(error_manager_ != NULL);
      error_manager_->Clear();
    }
  }
  if (cached_has_bits & 24u) {
    ::memset(&laser_manager_status_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&locate_manager_status_) -
        reinterpret_cast<char*>(&laser_manager_status_)) + sizeof(locate_manager_status_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Measure_status_msg::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Measure_status_msg)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Id_struct id_struct = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_id_struct()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Laser_manager_status laser_manager_status = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Laser_manager_status_IsValid(value)) {
            set_laser_manager_status(static_cast< ::message::Laser_manager_status >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                3, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .message.Laser_statu laser_statu_vector = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Laser_statu_IsValid(value)) {
            add_laser_statu_vector(static_cast< ::message::Laser_statu >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                4, static_cast< ::google::protobuf::uint64>(value));
          }
        } else if (
            static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormat::ReadPackedEnumPreserveUnknowns(
                 input,
                 4,
                 ::message::Laser_statu_IsValid,
                 mutable_unknown_fields(),
                 this->mutable_laser_statu_vector())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Locate_manager_status locate_manager_status = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Locate_manager_status_IsValid(value)) {
            set_locate_manager_status(static_cast< ::message::Locate_manager_status >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                5, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Error_manager error_manager = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_error_manager()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Measure_status_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Measure_status_msg)
  return false;
#undef DO_
}

void Measure_status_msg::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Measure_status_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  // required .message.Id_struct id_struct = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, this->_internal_id_struct(), output);
  }

  // required .message.Laser_manager_status laser_manager_status = 3;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      3, this->laser_manager_status(), output);
  }

  // repeated .message.Laser_statu laser_statu_vector = 4;
  for (int i = 0, n = this->laser_statu_vector_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->laser_statu_vector(i), output);
  }

  // required .message.Locate_manager_status locate_manager_status = 5;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      5, this->locate_manager_status(), output);
  }

  // required .message.Error_manager error_manager = 6;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      6, this->_internal_error_manager(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Measure_status_msg)
}

::google::protobuf::uint8* Measure_status_msg::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Measure_status_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  // required .message.Id_struct id_struct = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, this->_internal_id_struct(), deterministic, target);
  }

  // required .message.Laser_manager_status laser_manager_status = 3;
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      3, this->laser_manager_status(), target);
  }

  // repeated .message.Laser_statu laser_statu_vector = 4;
  target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
    4, this->laser_statu_vector_, target);

  // required .message.Locate_manager_status locate_manager_status = 5;
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      5, this->locate_manager_status(), target);
  }

  // required .message.Error_manager error_manager = 6;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        6, this->_internal_error_manager(), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Measure_status_msg)
  return target;
}

size_t Measure_status_msg::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Measure_status_msg)
  size_t total_size = 0;

  if (has_base_info()) {
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }

  if (has_id_struct()) {
    // required .message.Id_struct id_struct = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);
  }

  if (has_error_manager()) {
    // required .message.Error_manager error_manager = 6;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);
  }

  if (has_laser_manager_status()) {
    // required .message.Laser_manager_status laser_manager_status = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->laser_manager_status());
  }

  if (has_locate_manager_status()) {
    // required .message.Locate_manager_status locate_manager_status = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->locate_manager_status());
  }

  return total_size;
}
size_t Measure_status_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Measure_status_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x0000001f) ^ 0x0000001f) == 0) {  // All required fields are present.
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);

    // required .message.Id_struct id_struct = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);

    // required .message.Error_manager error_manager = 6;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);

    // required .message.Laser_manager_status laser_manager_status = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->laser_manager_status());

    // required .message.Locate_manager_status locate_manager_status = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->locate_manager_status());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  // repeated .message.Laser_statu laser_statu_vector = 4;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->laser_statu_vector_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::google::protobuf::internal::WireFormatLite::EnumSize(
        this->laser_statu_vector(static_cast<int>(i)));
    }
    total_size += (1UL * count) + data_size;
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Measure_status_msg::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Measure_status_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Measure_status_msg* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Measure_status_msg>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Measure_status_msg)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Measure_status_msg)
    MergeFrom(*source);
  }
}

void Measure_status_msg::MergeFrom(const Measure_status_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Measure_status_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  laser_statu_vector_.MergeFrom(from.laser_statu_vector_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_id_struct()->::message::Id_struct::MergeFrom(from.id_struct());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_error_manager()->::message::Error_manager::MergeFrom(from.error_manager());
    }
    if (cached_has_bits & 0x00000008u) {
      laser_manager_status_ = from.laser_manager_status_;
    }
    if (cached_has_bits & 0x00000010u) {
      locate_manager_status_ = from.locate_manager_status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Measure_status_msg::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Measure_status_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Measure_status_msg::CopyFrom(const Measure_status_msg& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Measure_status_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Measure_status_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x0000001f) != 0x0000001f) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  if (has_error_manager()) {
    if (!this->error_manager_->IsInitialized()) return false;
  }
  return true;
}

void Measure_status_msg::Swap(Measure_status_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Measure_status_msg::InternalSwap(Measure_status_msg* other) {
  using std::swap;
  laser_statu_vector_.InternalSwap(&other->laser_statu_vector_);
  swap(base_info_, other->base_info_);
  swap(id_struct_, other->id_struct_);
  swap(error_manager_, other->error_manager_);
  swap(laser_manager_status_, other->laser_manager_status_);
  swap(locate_manager_status_, other->locate_manager_status_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Measure_status_msg::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Measure_request_msg::InitAsDefaultInstance() {
  ::message::_Measure_request_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
  ::message::_Measure_request_msg_default_instance_._instance.get_mutable()->id_struct_ = const_cast< ::message::Id_struct*>(
      ::message::Id_struct::internal_default_instance());
}
void Measure_request_msg::clear_base_info() {
  if (base_info_ != NULL) base_info_->Clear();
  clear_has_base_info();
}
void Measure_request_msg::clear_id_struct() {
  if (id_struct_ != NULL) id_struct_->Clear();
  clear_has_id_struct();
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Measure_request_msg::kBaseInfoFieldNumber;
const int Measure_request_msg::kCommandKeyFieldNumber;
const int Measure_request_msg::kIdStructFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Measure_request_msg::Measure_request_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Measure_request_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Measure_request_msg)
}
Measure_request_msg::Measure_request_msg(const Measure_request_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_command_key()) {
    command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
  }
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  if (from.has_id_struct()) {
    id_struct_ = new ::message::Id_struct(*from.id_struct_);
  } else {
    id_struct_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:message.Measure_request_msg)
}

void Measure_request_msg::SharedCtor() {
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&base_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&id_struct_) -
      reinterpret_cast<char*>(&base_info_)) + sizeof(id_struct_));
}

Measure_request_msg::~Measure_request_msg() {
  // @@protoc_insertion_point(destructor:message.Measure_request_msg)
  SharedDtor();
}

void Measure_request_msg::SharedDtor() {
  command_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_info_;
  if (this != internal_default_instance()) delete id_struct_;
}

void Measure_request_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Measure_request_msg::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Measure_request_msg& Measure_request_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Measure_request_msg.base);
  return *internal_default_instance();
}


void Measure_request_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Measure_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      command_key_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(base_info_ != NULL);
      base_info_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(id_struct_ != NULL);
      id_struct_->Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Measure_request_msg::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Measure_request_msg)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string command_key = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_command_key()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->command_key().data(), static_cast<int>(this->command_key().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Measure_request_msg.command_key");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Id_struct id_struct = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_id_struct()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Measure_request_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Measure_request_msg)
  return false;
#undef DO_
}

void Measure_request_msg::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Measure_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Measure_request_msg.command_key");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->command_key(), output);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->_internal_id_struct(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Measure_request_msg)
}

::google::protobuf::uint8* Measure_request_msg::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Measure_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Measure_request_msg.command_key");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->command_key(), target);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->_internal_id_struct(), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Measure_request_msg)
  return target;
}

size_t Measure_request_msg::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Measure_request_msg)
  size_t total_size = 0;

  if (has_command_key()) {
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());
  }

  if (has_base_info()) {
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }

  if (has_id_struct()) {
    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);
  }

  return total_size;
}
size_t Measure_request_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Measure_request_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());

    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);

    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Measure_request_msg::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Measure_request_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Measure_request_msg* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Measure_request_msg>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Measure_request_msg)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Measure_request_msg)
    MergeFrom(*source);
  }
}

void Measure_request_msg::MergeFrom(const Measure_request_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Measure_request_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_command_key();
      command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_id_struct()->::message::Id_struct::MergeFrom(from.id_struct());
    }
  }
}

void Measure_request_msg::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Measure_request_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Measure_request_msg::CopyFrom(const Measure_request_msg& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Measure_request_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Measure_request_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  return true;
}

void Measure_request_msg::Swap(Measure_request_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Measure_request_msg::InternalSwap(Measure_request_msg* other) {
  using std::swap;
  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(base_info_, other->base_info_);
  swap(id_struct_, other->id_struct_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Measure_request_msg::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Measure_response_msg::InitAsDefaultInstance() {
  ::message::_Measure_response_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
  ::message::_Measure_response_msg_default_instance_._instance.get_mutable()->id_struct_ = const_cast< ::message::Id_struct*>(
      ::message::Id_struct::internal_default_instance());
  ::message::_Measure_response_msg_default_instance_._instance.get_mutable()->locate_information_ = const_cast< ::message::Locate_information*>(
      ::message::Locate_information::internal_default_instance());
  ::message::_Measure_response_msg_default_instance_._instance.get_mutable()->error_manager_ = const_cast< ::message::Error_manager*>(
      ::message::Error_manager::internal_default_instance());
}
void Measure_response_msg::clear_base_info() {
  if (base_info_ != NULL) base_info_->Clear();
  clear_has_base_info();
}
void Measure_response_msg::clear_id_struct() {
  if (id_struct_ != NULL) id_struct_->Clear();
  clear_has_id_struct();
}
void Measure_response_msg::clear_locate_information() {
  if (locate_information_ != NULL) locate_information_->Clear();
  clear_has_locate_information();
}
void Measure_response_msg::clear_error_manager() {
  if (error_manager_ != NULL) error_manager_->Clear();
  clear_has_error_manager();
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Measure_response_msg::kBaseInfoFieldNumber;
const int Measure_response_msg::kCommandKeyFieldNumber;
const int Measure_response_msg::kIdStructFieldNumber;
const int Measure_response_msg::kLocateInformationFieldNumber;
const int Measure_response_msg::kErrorManagerFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Measure_response_msg::Measure_response_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Measure_response_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Measure_response_msg)
}
Measure_response_msg::Measure_response_msg(const Measure_response_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_command_key()) {
    command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
  }
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  if (from.has_id_struct()) {
    id_struct_ = new ::message::Id_struct(*from.id_struct_);
  } else {
    id_struct_ = NULL;
  }
  if (from.has_locate_information()) {
    locate_information_ = new ::message::Locate_information(*from.locate_information_);
  } else {
    locate_information_ = NULL;
  }
  if (from.has_error_manager()) {
    error_manager_ = new ::message::Error_manager(*from.error_manager_);
  } else {
    error_manager_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:message.Measure_response_msg)
}

void Measure_response_msg::SharedCtor() {
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&base_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&error_manager_) -
      reinterpret_cast<char*>(&base_info_)) + sizeof(error_manager_));
}

Measure_response_msg::~Measure_response_msg() {
  // @@protoc_insertion_point(destructor:message.Measure_response_msg)
  SharedDtor();
}

void Measure_response_msg::SharedDtor() {
  command_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_info_;
  if (this != internal_default_instance()) delete id_struct_;
  if (this != internal_default_instance()) delete locate_information_;
  if (this != internal_default_instance()) delete error_manager_;
}

void Measure_response_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Measure_response_msg::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Measure_response_msg& Measure_response_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Measure_response_msg.base);
  return *internal_default_instance();
}


void Measure_response_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Measure_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      command_key_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(base_info_ != NULL);
      base_info_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(id_struct_ != NULL);
      id_struct_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(locate_information_ != NULL);
      locate_information_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(error_manager_ != NULL);
      error_manager_->Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Measure_response_msg::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Measure_response_msg)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string command_key = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_command_key()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->command_key().data(), static_cast<int>(this->command_key().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Measure_response_msg.command_key");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Id_struct id_struct = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_id_struct()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Locate_information locate_information = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_locate_information()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Error_manager error_manager = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_error_manager()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Measure_response_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Measure_response_msg)
  return false;
#undef DO_
}

void Measure_response_msg::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Measure_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Measure_response_msg.command_key");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->command_key(), output);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->_internal_id_struct(), output);
  }

  // optional .message.Locate_information locate_information = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      4, this->_internal_locate_information(), output);
  }

  // required .message.Error_manager error_manager = 5;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      5, this->_internal_error_manager(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Measure_response_msg)
}

::google::protobuf::uint8* Measure_response_msg::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Measure_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Measure_response_msg.command_key");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->command_key(), target);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->_internal_id_struct(), deterministic, target);
  }

  // optional .message.Locate_information locate_information = 4;
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        4, this->_internal_locate_information(), deterministic, target);
  }

  // required .message.Error_manager error_manager = 5;
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        5, this->_internal_error_manager(), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Measure_response_msg)
  return target;
}

size_t Measure_response_msg::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Measure_response_msg)
  size_t total_size = 0;

  if (has_command_key()) {
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());
  }

  if (has_base_info()) {
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }

  if (has_id_struct()) {
    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);
  }

  if (has_error_manager()) {
    // required .message.Error_manager error_manager = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);
  }

  return total_size;
}
size_t Measure_response_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Measure_response_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x00000017) ^ 0x00000017) == 0) {  // All required fields are present.
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());

    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);

    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);

    // required .message.Error_manager error_manager = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  // optional .message.Locate_information locate_information = 4;
  if (has_locate_information()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *locate_information_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Measure_response_msg::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Measure_response_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Measure_response_msg* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Measure_response_msg>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Measure_response_msg)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Measure_response_msg)
    MergeFrom(*source);
  }
}

void Measure_response_msg::MergeFrom(const Measure_response_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Measure_response_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_command_key();
      command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_id_struct()->::message::Id_struct::MergeFrom(from.id_struct());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_locate_information()->::message::Locate_information::MergeFrom(from.locate_information());
    }
    if (cached_has_bits & 0x00000010u) {
      mutable_error_manager()->::message::Error_manager::MergeFrom(from.error_manager());
    }
  }
}

void Measure_response_msg::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Measure_response_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Measure_response_msg::CopyFrom(const Measure_response_msg& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Measure_response_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Measure_response_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000017) != 0x00000017) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  if (has_error_manager()) {
    if (!this->error_manager_->IsInitialized()) return false;
  }
  return true;
}

void Measure_response_msg::Swap(Measure_response_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Measure_response_msg::InternalSwap(Measure_response_msg* other) {
  using std::swap;
  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(base_info_, other->base_info_);
  swap(id_struct_, other->id_struct_);
  swap(locate_information_, other->locate_information_);
  swap(error_manager_, other->error_manager_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Measure_response_msg::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Ground_detect_request_msg::InitAsDefaultInstance() {
  ::message::_Ground_detect_request_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
  ::message::_Ground_detect_request_msg_default_instance_._instance.get_mutable()->id_struct_ = const_cast< ::message::Id_struct*>(
      ::message::Id_struct::internal_default_instance());
}
void Ground_detect_request_msg::clear_base_info() {
  if (base_info_ != NULL) base_info_->Clear();
  clear_has_base_info();
}
void Ground_detect_request_msg::clear_id_struct() {
  if (id_struct_ != NULL) id_struct_->Clear();
  clear_has_id_struct();
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Ground_detect_request_msg::kBaseInfoFieldNumber;
const int Ground_detect_request_msg::kCommandKeyFieldNumber;
const int Ground_detect_request_msg::kIdStructFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Ground_detect_request_msg::Ground_detect_request_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Ground_detect_request_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Ground_detect_request_msg)
}
Ground_detect_request_msg::Ground_detect_request_msg(const Ground_detect_request_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_command_key()) {
    command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
  }
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  if (from.has_id_struct()) {
    id_struct_ = new ::message::Id_struct(*from.id_struct_);
  } else {
    id_struct_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:message.Ground_detect_request_msg)
}

void Ground_detect_request_msg::SharedCtor() {
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&base_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&id_struct_) -
      reinterpret_cast<char*>(&base_info_)) + sizeof(id_struct_));
}

Ground_detect_request_msg::~Ground_detect_request_msg() {
  // @@protoc_insertion_point(destructor:message.Ground_detect_request_msg)
  SharedDtor();
}

void Ground_detect_request_msg::SharedDtor() {
  command_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_info_;
  if (this != internal_default_instance()) delete id_struct_;
}

void Ground_detect_request_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Ground_detect_request_msg::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Ground_detect_request_msg& Ground_detect_request_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Ground_detect_request_msg.base);
  return *internal_default_instance();
}


void Ground_detect_request_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Ground_detect_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      command_key_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(base_info_ != NULL);
      base_info_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(id_struct_ != NULL);
      id_struct_->Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Ground_detect_request_msg::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Ground_detect_request_msg)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string command_key = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_command_key()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->command_key().data(), static_cast<int>(this->command_key().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Ground_detect_request_msg.command_key");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Id_struct id_struct = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_id_struct()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Ground_detect_request_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Ground_detect_request_msg)
  return false;
#undef DO_
}

void Ground_detect_request_msg::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Ground_detect_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Ground_detect_request_msg.command_key");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->command_key(), output);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->_internal_id_struct(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Ground_detect_request_msg)
}

::google::protobuf::uint8* Ground_detect_request_msg::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Ground_detect_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Ground_detect_request_msg.command_key");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->command_key(), target);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->_internal_id_struct(), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Ground_detect_request_msg)
  return target;
}

size_t Ground_detect_request_msg::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Ground_detect_request_msg)
  size_t total_size = 0;

  if (has_command_key()) {
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());
  }

  if (has_base_info()) {
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }

  if (has_id_struct()) {
    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);
  }

  return total_size;
}
size_t Ground_detect_request_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Ground_detect_request_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());

    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);

    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Ground_detect_request_msg::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Ground_detect_request_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Ground_detect_request_msg* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Ground_detect_request_msg>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Ground_detect_request_msg)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Ground_detect_request_msg)
    MergeFrom(*source);
  }
}

void Ground_detect_request_msg::MergeFrom(const Ground_detect_request_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Ground_detect_request_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_command_key();
      command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_id_struct()->::message::Id_struct::MergeFrom(from.id_struct());
    }
  }
}

void Ground_detect_request_msg::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Ground_detect_request_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Ground_detect_request_msg::CopyFrom(const Ground_detect_request_msg& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Ground_detect_request_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Ground_detect_request_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  return true;
}

void Ground_detect_request_msg::Swap(Ground_detect_request_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Ground_detect_request_msg::InternalSwap(Ground_detect_request_msg* other) {
  using std::swap;
  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(base_info_, other->base_info_);
  swap(id_struct_, other->id_struct_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Ground_detect_request_msg::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Ground_detect_response_msg::InitAsDefaultInstance() {
  ::message::_Ground_detect_response_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
  ::message::_Ground_detect_response_msg_default_instance_._instance.get_mutable()->id_struct_ = const_cast< ::message::Id_struct*>(
      ::message::Id_struct::internal_default_instance());
  ::message::_Ground_detect_response_msg_default_instance_._instance.get_mutable()->locate_information_ = const_cast< ::message::Locate_information*>(
      ::message::Locate_information::internal_default_instance());
  ::message::_Ground_detect_response_msg_default_instance_._instance.get_mutable()->error_manager_ = const_cast< ::message::Error_manager*>(
      ::message::Error_manager::internal_default_instance());
}
void Ground_detect_response_msg::clear_base_info() {
  if (base_info_ != NULL) base_info_->Clear();
  clear_has_base_info();
}
void Ground_detect_response_msg::clear_id_struct() {
  if (id_struct_ != NULL) id_struct_->Clear();
  clear_has_id_struct();
}
void Ground_detect_response_msg::clear_locate_information() {
  if (locate_information_ != NULL) locate_information_->Clear();
  clear_has_locate_information();
}
void Ground_detect_response_msg::clear_error_manager() {
  if (error_manager_ != NULL) error_manager_->Clear();
  clear_has_error_manager();
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Ground_detect_response_msg::kBaseInfoFieldNumber;
const int Ground_detect_response_msg::kCommandKeyFieldNumber;
const int Ground_detect_response_msg::kIdStructFieldNumber;
const int Ground_detect_response_msg::kLocateInformationFieldNumber;
const int Ground_detect_response_msg::kErrorManagerFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Ground_detect_response_msg::Ground_detect_response_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Ground_detect_response_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Ground_detect_response_msg)
}
Ground_detect_response_msg::Ground_detect_response_msg(const Ground_detect_response_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_command_key()) {
    command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
  }
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  if (from.has_id_struct()) {
    id_struct_ = new ::message::Id_struct(*from.id_struct_);
  } else {
    id_struct_ = NULL;
  }
  if (from.has_locate_information()) {
    locate_information_ = new ::message::Locate_information(*from.locate_information_);
  } else {
    locate_information_ = NULL;
  }
  if (from.has_error_manager()) {
    error_manager_ = new ::message::Error_manager(*from.error_manager_);
  } else {
    error_manager_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:message.Ground_detect_response_msg)
}

void Ground_detect_response_msg::SharedCtor() {
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&base_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&error_manager_) -
      reinterpret_cast<char*>(&base_info_)) + sizeof(error_manager_));
}

Ground_detect_response_msg::~Ground_detect_response_msg() {
  // @@protoc_insertion_point(destructor:message.Ground_detect_response_msg)
  SharedDtor();
}

void Ground_detect_response_msg::SharedDtor() {
  command_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_info_;
  if (this != internal_default_instance()) delete id_struct_;
  if (this != internal_default_instance()) delete locate_information_;
  if (this != internal_default_instance()) delete error_manager_;
}

void Ground_detect_response_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Ground_detect_response_msg::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Ground_detect_response_msg& Ground_detect_response_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Ground_detect_response_msg.base);
  return *internal_default_instance();
}


void Ground_detect_response_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Ground_detect_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      command_key_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(base_info_ != NULL);
      base_info_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(id_struct_ != NULL);
      id_struct_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(locate_information_ != NULL);
      locate_information_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(error_manager_ != NULL);
      error_manager_->Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Ground_detect_response_msg::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Ground_detect_response_msg)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string command_key = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_command_key()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->command_key().data(), static_cast<int>(this->command_key().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Ground_detect_response_msg.command_key");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Id_struct id_struct = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_id_struct()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .message.Locate_information locate_information = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_locate_information()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Error_manager error_manager = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_error_manager()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Ground_detect_response_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Ground_detect_response_msg)
  return false;
#undef DO_
}

void Ground_detect_response_msg::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Ground_detect_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Ground_detect_response_msg.command_key");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->command_key(), output);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->_internal_id_struct(), output);
  }

  // optional .message.Locate_information locate_information = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      4, this->_internal_locate_information(), output);
  }

  // required .message.Error_manager error_manager = 5;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      5, this->_internal_error_manager(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Ground_detect_response_msg)
}

::google::protobuf::uint8* Ground_detect_response_msg::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Ground_detect_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Ground_detect_response_msg.command_key");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->command_key(), target);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->_internal_id_struct(), deterministic, target);
  }

  // optional .message.Locate_information locate_information = 4;
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        4, this->_internal_locate_information(), deterministic, target);
  }

  // required .message.Error_manager error_manager = 5;
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        5, this->_internal_error_manager(), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Ground_detect_response_msg)
  return target;
}

size_t Ground_detect_response_msg::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Ground_detect_response_msg)
  size_t total_size = 0;

  if (has_command_key()) {
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());
  }

  if (has_base_info()) {
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }

  if (has_id_struct()) {
    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);
  }

  if (has_error_manager()) {
    // required .message.Error_manager error_manager = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);
  }

  return total_size;
}
size_t Ground_detect_response_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Ground_detect_response_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x00000017) ^ 0x00000017) == 0) {  // All required fields are present.
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());

    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);

    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);

    // required .message.Error_manager error_manager = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  // optional .message.Locate_information locate_information = 4;
  if (has_locate_information()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *locate_information_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Ground_detect_response_msg::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Ground_detect_response_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Ground_detect_response_msg* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Ground_detect_response_msg>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Ground_detect_response_msg)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Ground_detect_response_msg)
    MergeFrom(*source);
  }
}

void Ground_detect_response_msg::MergeFrom(const Ground_detect_response_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Ground_detect_response_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_command_key();
      command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_id_struct()->::message::Id_struct::MergeFrom(from.id_struct());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_locate_information()->::message::Locate_information::MergeFrom(from.locate_information());
    }
    if (cached_has_bits & 0x00000010u) {
      mutable_error_manager()->::message::Error_manager::MergeFrom(from.error_manager());
    }
  }
}

void Ground_detect_response_msg::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Ground_detect_response_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Ground_detect_response_msg::CopyFrom(const Ground_detect_response_msg& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Ground_detect_response_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Ground_detect_response_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000017) != 0x00000017) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  if (has_error_manager()) {
    if (!this->error_manager_->IsInitialized()) return false;
  }
  return true;
}

void Ground_detect_response_msg::Swap(Ground_detect_response_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Ground_detect_response_msg::InternalSwap(Ground_detect_response_msg* other) {
  using std::swap;
  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(base_info_, other->base_info_);
  swap(id_struct_, other->id_struct_);
  swap(locate_information_, other->locate_information_);
  swap(error_manager_, other->error_manager_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Ground_detect_response_msg::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Ground_status_msg::InitAsDefaultInstance() {
  ::message::_Ground_status_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
  ::message::_Ground_status_msg_default_instance_._instance.get_mutable()->id_struct_ = const_cast< ::message::Id_struct*>(
      ::message::Id_struct::internal_default_instance());
  ::message::_Ground_status_msg_default_instance_._instance.get_mutable()->locate_information_realtime_ = const_cast< ::message::Locate_information*>(
      ::message::Locate_information::internal_default_instance());
  ::message::_Ground_status_msg_default_instance_._instance.get_mutable()->error_manager_ = const_cast< ::message::Error_manager*>(
      ::message::Error_manager::internal_default_instance());
}
void Ground_status_msg::clear_base_info() {
  if (base_info_ != NULL) base_info_->Clear();
  clear_has_base_info();
}
void Ground_status_msg::clear_id_struct() {
  if (id_struct_ != NULL) id_struct_->Clear();
  clear_has_id_struct();
}
void Ground_status_msg::clear_locate_information_realtime() {
  if (locate_information_realtime_ != NULL) locate_information_realtime_->Clear();
  clear_has_locate_information_realtime();
}
void Ground_status_msg::clear_error_manager() {
  if (error_manager_ != NULL) error_manager_->Clear();
  clear_has_error_manager();
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Ground_status_msg::kBaseInfoFieldNumber;
const int Ground_status_msg::kIdStructFieldNumber;
const int Ground_status_msg::kWanjiManagerStatusFieldNumber;
const int Ground_status_msg::kWanjiLidarDeviceStatusFieldNumber;
const int Ground_status_msg::kRegionWorkerStatusFieldNumber;
const int Ground_status_msg::kLocateInformationRealtimeFieldNumber;
const int Ground_status_msg::kGroundStatusFieldNumber;
const int Ground_status_msg::kBorderStatusFieldNumber;
const int Ground_status_msg::kErrorManagerFieldNumber;
const int Ground_status_msg::kCloudFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Ground_status_msg::Ground_status_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Ground_status_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Ground_status_msg)
}
Ground_status_msg::Ground_status_msg(const Ground_status_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      wanji_lidar_device_status_(from.wanji_lidar_device_status_),
      cloud_(from.cloud_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  if (from.has_id_struct()) {
    id_struct_ = new ::message::Id_struct(*from.id_struct_);
  } else {
    id_struct_ = NULL;
  }
  if (from.has_locate_information_realtime()) {
    locate_information_realtime_ = new ::message::Locate_information(*from.locate_information_realtime_);
  } else {
    locate_information_realtime_ = NULL;
  }
  if (from.has_error_manager()) {
    error_manager_ = new ::message::Error_manager(*from.error_manager_);
  } else {
    error_manager_ = NULL;
  }
  ::memcpy(&wanji_manager_status_, &from.wanji_manager_status_,
    static_cast<size_t>(reinterpret_cast<char*>(&border_status_) -
    reinterpret_cast<char*>(&wanji_manager_status_)) + sizeof(border_status_));
  // @@protoc_insertion_point(copy_constructor:message.Ground_status_msg)
}

void Ground_status_msg::SharedCtor() {
  ::memset(&base_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&border_status_) -
      reinterpret_cast<char*>(&base_info_)) + sizeof(border_status_));
}

Ground_status_msg::~Ground_status_msg() {
  // @@protoc_insertion_point(destructor:message.Ground_status_msg)
  SharedDtor();
}

void Ground_status_msg::SharedDtor() {
  if (this != internal_default_instance()) delete base_info_;
  if (this != internal_default_instance()) delete id_struct_;
  if (this != internal_default_instance()) delete locate_information_realtime_;
  if (this != internal_default_instance()) delete error_manager_;
}

void Ground_status_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Ground_status_msg::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Ground_status_msg& Ground_status_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Ground_status_msg.base);
  return *internal_default_instance();
}


void Ground_status_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Ground_status_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  wanji_lidar_device_status_.Clear();
  cloud_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(base_info_ != NULL);
      base_info_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(id_struct_ != NULL);
      id_struct_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(locate_information_realtime_ != NULL);
      locate_information_realtime_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(error_manager_ != NULL);
      error_manager_->Clear();
    }
  }
  if (cached_has_bits & 240u) {
    ::memset(&wanji_manager_status_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&border_status_) -
        reinterpret_cast<char*>(&wanji_manager_status_)) + sizeof(border_status_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Ground_status_msg::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Ground_status_msg)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Id_struct id_struct = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_id_struct()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Wanji_manager_status wanji_manager_status = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Wanji_manager_status_IsValid(value)) {
            set_wanji_manager_status(static_cast< ::message::Wanji_manager_status >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                3, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .message.Wanji_lidar_device_status wanji_lidar_device_status = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Wanji_lidar_device_status_IsValid(value)) {
            add_wanji_lidar_device_status(static_cast< ::message::Wanji_lidar_device_status >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                4, static_cast< ::google::protobuf::uint64>(value));
          }
        } else if (
            static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormat::ReadPackedEnumPreserveUnknowns(
                 input,
                 4,
                 ::message::Wanji_lidar_device_status_IsValid,
                 mutable_unknown_fields(),
                 this->mutable_wanji_lidar_device_status())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Region_worker_status region_worker_status = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Region_worker_status_IsValid(value)) {
            set_region_worker_status(static_cast< ::message::Region_worker_status >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                5, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Locate_information locate_information_realtime = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_locate_information_realtime()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Ground_statu ground_status = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::message::Ground_statu_IsValid(value)) {
            set_ground_status(static_cast< ::message::Ground_statu >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                7, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required int32 border_status = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(64u /* 64 & 0xFF */)) {
          set_has_border_status();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &border_status_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Error_manager error_manager = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_error_manager()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .message.Cloud_coordinate cloud = 10;
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(82u /* 82 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                input, add_cloud()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Ground_status_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Ground_status_msg)
  return false;
#undef DO_
}

void Ground_status_msg::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Ground_status_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  // required .message.Id_struct id_struct = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, this->_internal_id_struct(), output);
  }

  // required .message.Wanji_manager_status wanji_manager_status = 3;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      3, this->wanji_manager_status(), output);
  }

  // repeated .message.Wanji_lidar_device_status wanji_lidar_device_status = 4;
  for (int i = 0, n = this->wanji_lidar_device_status_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->wanji_lidar_device_status(i), output);
  }

  // required .message.Region_worker_status region_worker_status = 5;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      5, this->region_worker_status(), output);
  }

  // required .message.Locate_information locate_information_realtime = 6;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      6, this->_internal_locate_information_realtime(), output);
  }

  // required .message.Ground_statu ground_status = 7;
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      7, this->ground_status(), output);
  }

  // required int32 border_status = 8;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(8, this->border_status(), output);
  }

  // required .message.Error_manager error_manager = 9;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      9, this->_internal_error_manager(), output);
  }

  // repeated .message.Cloud_coordinate cloud = 10;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->cloud_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      10,
      this->cloud(static_cast<int>(i)),
      output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Ground_status_msg)
}

::google::protobuf::uint8* Ground_status_msg::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Ground_status_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  // required .message.Id_struct id_struct = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, this->_internal_id_struct(), deterministic, target);
  }

  // required .message.Wanji_manager_status wanji_manager_status = 3;
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      3, this->wanji_manager_status(), target);
  }

  // repeated .message.Wanji_lidar_device_status wanji_lidar_device_status = 4;
  target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
    4, this->wanji_lidar_device_status_, target);

  // required .message.Region_worker_status region_worker_status = 5;
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      5, this->region_worker_status(), target);
  }

  // required .message.Locate_information locate_information_realtime = 6;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        6, this->_internal_locate_information_realtime(), deterministic, target);
  }

  // required .message.Ground_statu ground_status = 7;
  if (cached_has_bits & 0x00000040u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      7, this->ground_status(), target);
  }

  // required int32 border_status = 8;
  if (cached_has_bits & 0x00000080u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(8, this->border_status(), target);
  }

  // required .message.Error_manager error_manager = 9;
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        9, this->_internal_error_manager(), deterministic, target);
  }

  // repeated .message.Cloud_coordinate cloud = 10;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->cloud_size()); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        10, this->cloud(static_cast<int>(i)), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Ground_status_msg)
  return target;
}

size_t Ground_status_msg::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Ground_status_msg)
  size_t total_size = 0;

  if (has_base_info()) {
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }

  if (has_id_struct()) {
    // required .message.Id_struct id_struct = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);
  }

  if (has_locate_information_realtime()) {
    // required .message.Locate_information locate_information_realtime = 6;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *locate_information_realtime_);
  }

  if (has_error_manager()) {
    // required .message.Error_manager error_manager = 9;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);
  }

  if (has_wanji_manager_status()) {
    // required .message.Wanji_manager_status wanji_manager_status = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->wanji_manager_status());
  }

  if (has_region_worker_status()) {
    // required .message.Region_worker_status region_worker_status = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->region_worker_status());
  }

  if (has_ground_status()) {
    // required .message.Ground_statu ground_status = 7;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->ground_status());
  }

  if (has_border_status()) {
    // required int32 border_status = 8;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->border_status());
  }

  return total_size;
}
size_t Ground_status_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Ground_status_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x000000ff) ^ 0x000000ff) == 0) {  // All required fields are present.
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);

    // required .message.Id_struct id_struct = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);

    // required .message.Locate_information locate_information_realtime = 6;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *locate_information_realtime_);

    // required .message.Error_manager error_manager = 9;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);

    // required .message.Wanji_manager_status wanji_manager_status = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->wanji_manager_status());

    // required .message.Region_worker_status region_worker_status = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->region_worker_status());

    // required .message.Ground_statu ground_status = 7;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->ground_status());

    // required int32 border_status = 8;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->border_status());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  // repeated .message.Wanji_lidar_device_status wanji_lidar_device_status = 4;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->wanji_lidar_device_status_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::google::protobuf::internal::WireFormatLite::EnumSize(
        this->wanji_lidar_device_status(static_cast<int>(i)));
    }
    total_size += (1UL * count) + data_size;
  }

  // repeated .message.Cloud_coordinate cloud = 10;
  {
    unsigned int count = static_cast<unsigned int>(this->cloud_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          this->cloud(static_cast<int>(i)));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Ground_status_msg::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Ground_status_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Ground_status_msg* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Ground_status_msg>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Ground_status_msg)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Ground_status_msg)
    MergeFrom(*source);
  }
}

void Ground_status_msg::MergeFrom(const Ground_status_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Ground_status_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  wanji_lidar_device_status_.MergeFrom(from.wanji_lidar_device_status_);
  cloud_.MergeFrom(from.cloud_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_id_struct()->::message::Id_struct::MergeFrom(from.id_struct());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_locate_information_realtime()->::message::Locate_information::MergeFrom(from.locate_information_realtime());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_error_manager()->::message::Error_manager::MergeFrom(from.error_manager());
    }
    if (cached_has_bits & 0x00000010u) {
      wanji_manager_status_ = from.wanji_manager_status_;
    }
    if (cached_has_bits & 0x00000020u) {
      region_worker_status_ = from.region_worker_status_;
    }
    if (cached_has_bits & 0x00000040u) {
      ground_status_ = from.ground_status_;
    }
    if (cached_has_bits & 0x00000080u) {
      border_status_ = from.border_status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Ground_status_msg::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Ground_status_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Ground_status_msg::CopyFrom(const Ground_status_msg& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Ground_status_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Ground_status_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x000000ff) != 0x000000ff) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->cloud())) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  if (has_error_manager()) {
    if (!this->error_manager_->IsInitialized()) return false;
  }
  return true;
}

void Ground_status_msg::Swap(Ground_status_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Ground_status_msg::InternalSwap(Ground_status_msg* other) {
  using std::swap;
  wanji_lidar_device_status_.InternalSwap(&other->wanji_lidar_device_status_);
  CastToBase(&cloud_)->InternalSwap(CastToBase(&other->cloud_));
  swap(base_info_, other->base_info_);
  swap(id_struct_, other->id_struct_);
  swap(locate_information_realtime_, other->locate_information_realtime_);
  swap(error_manager_, other->error_manager_);
  swap(wanji_manager_status_, other->wanji_manager_status_);
  swap(region_worker_status_, other->region_worker_status_);
  swap(ground_status_, other->ground_status_);
  swap(border_status_, other->border_status_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Ground_status_msg::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Cloud_coordinate::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Cloud_coordinate::kXFieldNumber;
const int Cloud_coordinate::kYFieldNumber;
const int Cloud_coordinate::kZFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Cloud_coordinate::Cloud_coordinate()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Cloud_coordinate.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Cloud_coordinate)
}
Cloud_coordinate::Cloud_coordinate(const Cloud_coordinate& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&x_, &from.x_,
    static_cast<size_t>(reinterpret_cast<char*>(&z_) -
    reinterpret_cast<char*>(&x_)) + sizeof(z_));
  // @@protoc_insertion_point(copy_constructor:message.Cloud_coordinate)
}

void Cloud_coordinate::SharedCtor() {
  ::memset(&x_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&z_) -
      reinterpret_cast<char*>(&x_)) + sizeof(z_));
}

Cloud_coordinate::~Cloud_coordinate() {
  // @@protoc_insertion_point(destructor:message.Cloud_coordinate)
  SharedDtor();
}

void Cloud_coordinate::SharedDtor() {
}

void Cloud_coordinate::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Cloud_coordinate::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Cloud_coordinate& Cloud_coordinate::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Cloud_coordinate.base);
  return *internal_default_instance();
}


void Cloud_coordinate::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Cloud_coordinate)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    ::memset(&x_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&z_) -
        reinterpret_cast<char*>(&x_)) + sizeof(z_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Cloud_coordinate::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Cloud_coordinate)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required float x = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(13u /* 13 & 0xFF */)) {
          set_has_x();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &x_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required float y = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(21u /* 21 & 0xFF */)) {
          set_has_y();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &y_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required float z = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(29u /* 29 & 0xFF */)) {
          set_has_z();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &z_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Cloud_coordinate)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Cloud_coordinate)
  return false;
#undef DO_
}

void Cloud_coordinate::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Cloud_coordinate)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required float x = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->x(), output);
  }

  // required float y = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->y(), output);
  }

  // required float z = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->z(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Cloud_coordinate)
}

::google::protobuf::uint8* Cloud_coordinate::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Cloud_coordinate)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required float x = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->x(), target);
  }

  // required float y = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->y(), target);
  }

  // required float z = 3;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->z(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Cloud_coordinate)
  return target;
}

size_t Cloud_coordinate::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Cloud_coordinate)
  size_t total_size = 0;

  if (has_x()) {
    // required float x = 1;
    total_size += 1 + 4;
  }

  if (has_y()) {
    // required float y = 2;
    total_size += 1 + 4;
  }

  if (has_z()) {
    // required float z = 3;
    total_size += 1 + 4;
  }

  return total_size;
}
size_t Cloud_coordinate::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Cloud_coordinate)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
    // required float x = 1;
    total_size += 1 + 4;

    // required float y = 2;
    total_size += 1 + 4;

    // required float z = 3;
    total_size += 1 + 4;

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Cloud_coordinate::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Cloud_coordinate)
  GOOGLE_DCHECK_NE(&from, this);
  const Cloud_coordinate* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Cloud_coordinate>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Cloud_coordinate)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Cloud_coordinate)
    MergeFrom(*source);
  }
}

void Cloud_coordinate::MergeFrom(const Cloud_coordinate& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Cloud_coordinate)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      x_ = from.x_;
    }
    if (cached_has_bits & 0x00000002u) {
      y_ = from.y_;
    }
    if (cached_has_bits & 0x00000004u) {
      z_ = from.z_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Cloud_coordinate::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Cloud_coordinate)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Cloud_coordinate::CopyFrom(const Cloud_coordinate& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Cloud_coordinate)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Cloud_coordinate::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
  return true;
}

void Cloud_coordinate::Swap(Cloud_coordinate* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Cloud_coordinate::InternalSwap(Cloud_coordinate* other) {
  using std::swap;
  swap(x_, other->x_);
  swap(y_, other->y_);
  swap(z_, other->z_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Cloud_coordinate::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Cloud_type::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Cloud_type::kTypeFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Cloud_type::Cloud_type()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Cloud_type.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Cloud_type)
}
Cloud_type::Cloud_type(const Cloud_type& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  type_ = from.type_;
  // @@protoc_insertion_point(copy_constructor:message.Cloud_type)
}

void Cloud_type::SharedCtor() {
  type_ = 0;
}

Cloud_type::~Cloud_type() {
  // @@protoc_insertion_point(destructor:message.Cloud_type)
  SharedDtor();
}

void Cloud_type::SharedDtor() {
}

void Cloud_type::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Cloud_type::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Cloud_type& Cloud_type::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Cloud_type.base);
  return *internal_default_instance();
}


void Cloud_type::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Cloud_type)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  type_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Cloud_type::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Cloud_type)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 type = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_type();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &type_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Cloud_type)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Cloud_type)
  return false;
#undef DO_
}

void Cloud_type::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Cloud_type)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required int32 type = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->type(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Cloud_type)
}

::google::protobuf::uint8* Cloud_type::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Cloud_type)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required int32 type = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->type(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Cloud_type)
  return target;
}

size_t Cloud_type::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Cloud_type)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  // required int32 type = 1;
  if (has_type()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->type());
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Cloud_type::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Cloud_type)
  GOOGLE_DCHECK_NE(&from, this);
  const Cloud_type* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Cloud_type>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Cloud_type)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Cloud_type)
    MergeFrom(*source);
  }
}

void Cloud_type::MergeFrom(const Cloud_type& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Cloud_type)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_type()) {
    set_type(from.type());
  }
}

void Cloud_type::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Cloud_type)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Cloud_type::CopyFrom(const Cloud_type& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Cloud_type)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Cloud_type::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  return true;
}

void Cloud_type::Swap(Cloud_type* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Cloud_type::InternalSwap(Cloud_type* other) {
  using std::swap;
  swap(type_, other->type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Cloud_type::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Locate_sift_request_msg::InitAsDefaultInstance() {
  ::message::_Locate_sift_request_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
  ::message::_Locate_sift_request_msg_default_instance_._instance.get_mutable()->id_struct_ = const_cast< ::message::Id_struct*>(
      ::message::Id_struct::internal_default_instance());
}
void Locate_sift_request_msg::clear_base_info() {
  if (base_info_ != NULL) base_info_->Clear();
  clear_has_base_info();
}
void Locate_sift_request_msg::clear_id_struct() {
  if (id_struct_ != NULL) id_struct_->Clear();
  clear_has_id_struct();
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Locate_sift_request_msg::kBaseInfoFieldNumber;
const int Locate_sift_request_msg::kCommandKeyFieldNumber;
const int Locate_sift_request_msg::kIdStructFieldNumber;
const int Locate_sift_request_msg::kLidarIdFieldNumber;
const int Locate_sift_request_msg::kCloudCoordinatesFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Locate_sift_request_msg::Locate_sift_request_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Locate_sift_request_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Locate_sift_request_msg)
}
Locate_sift_request_msg::Locate_sift_request_msg(const Locate_sift_request_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      cloud_coordinates_(from.cloud_coordinates_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_command_key()) {
    command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
  }
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  if (from.has_id_struct()) {
    id_struct_ = new ::message::Id_struct(*from.id_struct_);
  } else {
    id_struct_ = NULL;
  }
  lidar_id_ = from.lidar_id_;
  // @@protoc_insertion_point(copy_constructor:message.Locate_sift_request_msg)
}

void Locate_sift_request_msg::SharedCtor() {
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&base_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&lidar_id_) -
      reinterpret_cast<char*>(&base_info_)) + sizeof(lidar_id_));
}

Locate_sift_request_msg::~Locate_sift_request_msg() {
  // @@protoc_insertion_point(destructor:message.Locate_sift_request_msg)
  SharedDtor();
}

void Locate_sift_request_msg::SharedDtor() {
  command_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_info_;
  if (this != internal_default_instance()) delete id_struct_;
}

void Locate_sift_request_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Locate_sift_request_msg::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Locate_sift_request_msg& Locate_sift_request_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Locate_sift_request_msg.base);
  return *internal_default_instance();
}


void Locate_sift_request_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Locate_sift_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cloud_coordinates_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      command_key_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(base_info_ != NULL);
      base_info_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(id_struct_ != NULL);
      id_struct_->Clear();
    }
  }
  lidar_id_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Locate_sift_request_msg::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Locate_sift_request_msg)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string command_key = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_command_key()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->command_key().data(), static_cast<int>(this->command_key().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Locate_sift_request_msg.command_key");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Id_struct id_struct = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_id_struct()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required int32 lidar_id = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_lidar_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &lidar_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .message.Cloud_coordinate cloud_coordinates = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                input, add_cloud_coordinates()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Locate_sift_request_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Locate_sift_request_msg)
  return false;
#undef DO_
}

void Locate_sift_request_msg::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Locate_sift_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Locate_sift_request_msg.command_key");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->command_key(), output);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->_internal_id_struct(), output);
  }

  // required int32 lidar_id = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->lidar_id(), output);
  }

  // repeated .message.Cloud_coordinate cloud_coordinates = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->cloud_coordinates_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      5,
      this->cloud_coordinates(static_cast<int>(i)),
      output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Locate_sift_request_msg)
}

::google::protobuf::uint8* Locate_sift_request_msg::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Locate_sift_request_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Locate_sift_request_msg.command_key");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->command_key(), target);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->_internal_id_struct(), deterministic, target);
  }

  // required int32 lidar_id = 4;
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->lidar_id(), target);
  }

  // repeated .message.Cloud_coordinate cloud_coordinates = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->cloud_coordinates_size()); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        5, this->cloud_coordinates(static_cast<int>(i)), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Locate_sift_request_msg)
  return target;
}

size_t Locate_sift_request_msg::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Locate_sift_request_msg)
  size_t total_size = 0;

  if (has_command_key()) {
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());
  }

  if (has_base_info()) {
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }

  if (has_id_struct()) {
    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);
  }

  if (has_lidar_id()) {
    // required int32 lidar_id = 4;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->lidar_id());
  }

  return total_size;
}
size_t Locate_sift_request_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Locate_sift_request_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x0000000f) ^ 0x0000000f) == 0) {  // All required fields are present.
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());

    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);

    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);

    // required int32 lidar_id = 4;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->lidar_id());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  // repeated .message.Cloud_coordinate cloud_coordinates = 5;
  {
    unsigned int count = static_cast<unsigned int>(this->cloud_coordinates_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          this->cloud_coordinates(static_cast<int>(i)));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Locate_sift_request_msg::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Locate_sift_request_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Locate_sift_request_msg* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Locate_sift_request_msg>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Locate_sift_request_msg)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Locate_sift_request_msg)
    MergeFrom(*source);
  }
}

void Locate_sift_request_msg::MergeFrom(const Locate_sift_request_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Locate_sift_request_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cloud_coordinates_.MergeFrom(from.cloud_coordinates_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_command_key();
      command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_id_struct()->::message::Id_struct::MergeFrom(from.id_struct());
    }
    if (cached_has_bits & 0x00000008u) {
      lidar_id_ = from.lidar_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Locate_sift_request_msg::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Locate_sift_request_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Locate_sift_request_msg::CopyFrom(const Locate_sift_request_msg& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Locate_sift_request_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Locate_sift_request_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x0000000f) != 0x0000000f) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->cloud_coordinates())) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  return true;
}

void Locate_sift_request_msg::Swap(Locate_sift_request_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Locate_sift_request_msg::InternalSwap(Locate_sift_request_msg* other) {
  using std::swap;
  CastToBase(&cloud_coordinates_)->InternalSwap(CastToBase(&other->cloud_coordinates_));
  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(base_info_, other->base_info_);
  swap(id_struct_, other->id_struct_);
  swap(lidar_id_, other->lidar_id_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Locate_sift_request_msg::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void Locate_sift_response_msg::InitAsDefaultInstance() {
  ::message::_Locate_sift_response_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
  ::message::_Locate_sift_response_msg_default_instance_._instance.get_mutable()->id_struct_ = const_cast< ::message::Id_struct*>(
      ::message::Id_struct::internal_default_instance());
  ::message::_Locate_sift_response_msg_default_instance_._instance.get_mutable()->error_manager_ = const_cast< ::message::Error_manager*>(
      ::message::Error_manager::internal_default_instance());
}
void Locate_sift_response_msg::clear_base_info() {
  if (base_info_ != NULL) base_info_->Clear();
  clear_has_base_info();
}
void Locate_sift_response_msg::clear_id_struct() {
  if (id_struct_ != NULL) id_struct_->Clear();
  clear_has_id_struct();
}
void Locate_sift_response_msg::clear_error_manager() {
  if (error_manager_ != NULL) error_manager_->Clear();
  clear_has_error_manager();
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Locate_sift_response_msg::kBaseInfoFieldNumber;
const int Locate_sift_response_msg::kCommandKeyFieldNumber;
const int Locate_sift_response_msg::kIdStructFieldNumber;
const int Locate_sift_response_msg::kLidarIdFieldNumber;
const int Locate_sift_response_msg::kCloudTypeFieldNumber;
const int Locate_sift_response_msg::kErrorManagerFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Locate_sift_response_msg::Locate_sift_response_msg()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_measure_5fmessage_2eproto::scc_info_Locate_sift_response_msg.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:message.Locate_sift_response_msg)
}
Locate_sift_response_msg::Locate_sift_response_msg(const Locate_sift_response_msg& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      cloud_type_(from.cloud_type_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_command_key()) {
    command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
  }
  if (from.has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = NULL;
  }
  if (from.has_id_struct()) {
    id_struct_ = new ::message::Id_struct(*from.id_struct_);
  } else {
    id_struct_ = NULL;
  }
  if (from.has_error_manager()) {
    error_manager_ = new ::message::Error_manager(*from.error_manager_);
  } else {
    error_manager_ = NULL;
  }
  lidar_id_ = from.lidar_id_;
  // @@protoc_insertion_point(copy_constructor:message.Locate_sift_response_msg)
}

void Locate_sift_response_msg::SharedCtor() {
  command_key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&base_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&lidar_id_) -
      reinterpret_cast<char*>(&base_info_)) + sizeof(lidar_id_));
}

Locate_sift_response_msg::~Locate_sift_response_msg() {
  // @@protoc_insertion_point(destructor:message.Locate_sift_response_msg)
  SharedDtor();
}

void Locate_sift_response_msg::SharedDtor() {
  command_key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_info_;
  if (this != internal_default_instance()) delete id_struct_;
  if (this != internal_default_instance()) delete error_manager_;
}

void Locate_sift_response_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* Locate_sift_response_msg::descriptor() {
  ::protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const Locate_sift_response_msg& Locate_sift_response_msg::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_measure_5fmessage_2eproto::scc_info_Locate_sift_response_msg.base);
  return *internal_default_instance();
}


void Locate_sift_response_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Locate_sift_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cloud_type_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      command_key_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(base_info_ != NULL);
      base_info_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(id_struct_ != NULL);
      id_struct_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(error_manager_ != NULL);
      error_manager_->Clear();
    }
  }
  lidar_id_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool Locate_sift_response_msg::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:message.Locate_sift_response_msg)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .message.Base_info base_info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_base_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string command_key = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_command_key()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->command_key().data(), static_cast<int>(this->command_key().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "message.Locate_sift_response_msg.command_key");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Id_struct id_struct = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_id_struct()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required int32 lidar_id = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_lidar_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &lidar_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .message.Cloud_type cloud_type = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                input, add_cloud_type()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .message.Error_manager error_manager = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
               input, mutable_error_manager()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:message.Locate_sift_response_msg)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:message.Locate_sift_response_msg)
  return false;
#undef DO_
}

void Locate_sift_response_msg::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:message.Locate_sift_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->_internal_base_info(), output);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Locate_sift_response_msg.command_key");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->command_key(), output);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->_internal_id_struct(), output);
  }

  // required int32 lidar_id = 4;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->lidar_id(), output);
  }

  // repeated .message.Cloud_type cloud_type = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->cloud_type_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      5,
      this->cloud_type(static_cast<int>(i)),
      output);
  }

  // required .message.Error_manager error_manager = 6;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      6, this->_internal_error_manager(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:message.Locate_sift_response_msg)
}

::google::protobuf::uint8* Locate_sift_response_msg::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:message.Locate_sift_response_msg)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, this->_internal_base_info(), deterministic, target);
  }

  // required string command_key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->command_key().data(), static_cast<int>(this->command_key().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "message.Locate_sift_response_msg.command_key");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->command_key(), target);
  }

  // required .message.Id_struct id_struct = 3;
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, this->_internal_id_struct(), deterministic, target);
  }

  // required int32 lidar_id = 4;
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->lidar_id(), target);
  }

  // repeated .message.Cloud_type cloud_type = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->cloud_type_size()); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        5, this->cloud_type(static_cast<int>(i)), deterministic, target);
  }

  // required .message.Error_manager error_manager = 6;
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        6, this->_internal_error_manager(), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:message.Locate_sift_response_msg)
  return target;
}

size_t Locate_sift_response_msg::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Locate_sift_response_msg)
  size_t total_size = 0;

  if (has_command_key()) {
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());
  }

  if (has_base_info()) {
    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);
  }

  if (has_id_struct()) {
    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);
  }

  if (has_error_manager()) {
    // required .message.Error_manager error_manager = 6;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);
  }

  if (has_lidar_id()) {
    // required int32 lidar_id = 4;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->lidar_id());
  }

  return total_size;
}
size_t Locate_sift_response_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Locate_sift_response_msg)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x0000001f) ^ 0x0000001f) == 0) {  // All required fields are present.
    // required string command_key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->command_key());

    // required .message.Base_info base_info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *base_info_);

    // required .message.Id_struct id_struct = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *id_struct_);

    // required .message.Error_manager error_manager = 6;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSize(
        *error_manager_);

    // required int32 lidar_id = 4;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->lidar_id());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  // repeated .message.Cloud_type cloud_type = 5;
  {
    unsigned int count = static_cast<unsigned int>(this->cloud_type_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          this->cloud_type(static_cast<int>(i)));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Locate_sift_response_msg::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Locate_sift_response_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Locate_sift_response_msg* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Locate_sift_response_msg>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Locate_sift_response_msg)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Locate_sift_response_msg)
    MergeFrom(*source);
  }
}

void Locate_sift_response_msg::MergeFrom(const Locate_sift_response_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Locate_sift_response_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cloud_type_.MergeFrom(from.cloud_type_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_command_key();
      command_key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_key_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_id_struct()->::message::Id_struct::MergeFrom(from.id_struct());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_error_manager()->::message::Error_manager::MergeFrom(from.error_manager());
    }
    if (cached_has_bits & 0x00000010u) {
      lidar_id_ = from.lidar_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Locate_sift_response_msg::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Locate_sift_response_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Locate_sift_response_msg::CopyFrom(const Locate_sift_response_msg& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:message.Locate_sift_response_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Locate_sift_response_msg::IsInitialized() const {
  if ((_has_bits_[0] & 0x0000001f) != 0x0000001f) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->cloud_type())) return false;
  if (has_base_info()) {
    if (!this->base_info_->IsInitialized()) return false;
  }
  if (has_error_manager()) {
    if (!this->error_manager_->IsInitialized()) return false;
  }
  return true;
}

void Locate_sift_response_msg::Swap(Locate_sift_response_msg* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Locate_sift_response_msg::InternalSwap(Locate_sift_response_msg* other) {
  using std::swap;
  CastToBase(&cloud_type_)->InternalSwap(CastToBase(&other->cloud_type_));
  command_key_.Swap(&other->command_key_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(base_info_, other->base_info_);
  swap(id_struct_, other->id_struct_);
  swap(error_manager_, other->error_manager_);
  swap(lidar_id_, other->lidar_id_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata Locate_sift_response_msg::GetMetadata() const {
  protobuf_measure_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_measure_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace message
namespace google {
namespace protobuf {
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Measure_status_msg* Arena::CreateMaybeMessage< ::message::Measure_status_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Measure_status_msg >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Measure_request_msg* Arena::CreateMaybeMessage< ::message::Measure_request_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Measure_request_msg >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Measure_response_msg* Arena::CreateMaybeMessage< ::message::Measure_response_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Measure_response_msg >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Ground_detect_request_msg* Arena::CreateMaybeMessage< ::message::Ground_detect_request_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Ground_detect_request_msg >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Ground_detect_response_msg* Arena::CreateMaybeMessage< ::message::Ground_detect_response_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Ground_detect_response_msg >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Ground_status_msg* Arena::CreateMaybeMessage< ::message::Ground_status_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Ground_status_msg >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Cloud_coordinate* Arena::CreateMaybeMessage< ::message::Cloud_coordinate >(Arena* arena) {
  return Arena::CreateInternal< ::message::Cloud_coordinate >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Cloud_type* Arena::CreateMaybeMessage< ::message::Cloud_type >(Arena* arena) {
  return Arena::CreateInternal< ::message::Cloud_type >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Locate_sift_request_msg* Arena::CreateMaybeMessage< ::message::Locate_sift_request_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Locate_sift_request_msg >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::message::Locate_sift_response_msg* Arena::CreateMaybeMessage< ::message::Locate_sift_response_msg >(Arena* arena) {
  return Arena::CreateInternal< ::message::Locate_sift_response_msg >(arena);
}
}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)
