// Generated by the protocol buffer compiler.  DO NOT EDIT!

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "ril.pb.h"
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)

namespace ril_proto {

namespace {

const ::google::protobuf::Descriptor* RilAppStatus_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RilAppStatus_reflection_ = NULL;
const ::google::protobuf::Descriptor* RilCardStatus_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RilCardStatus_reflection_ = NULL;
const ::google::protobuf::Descriptor* RilUusInfo_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RilUusInfo_reflection_ = NULL;
const ::google::protobuf::Descriptor* RilCall_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RilCall_reflection_ = NULL;
const ::google::protobuf::Descriptor* RILGWSignalStrength_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RILGWSignalStrength_reflection_ = NULL;
const ::google::protobuf::Descriptor* RILCDMASignalStrength_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RILCDMASignalStrength_reflection_ = NULL;
const ::google::protobuf::Descriptor* RILEVDOSignalStrength_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RILEVDOSignalStrength_reflection_ = NULL;
const ::google::protobuf::Descriptor* RspStrings_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RspStrings_reflection_ = NULL;
const ::google::protobuf::Descriptor* RspIntegers_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RspIntegers_reflection_ = NULL;
const ::google::protobuf::Descriptor* RspGetSimStatus_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RspGetSimStatus_reflection_ = NULL;
const ::google::protobuf::Descriptor* ReqEnterSimPin_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ReqEnterSimPin_reflection_ = NULL;
const ::google::protobuf::Descriptor* RspEnterSimPin_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RspEnterSimPin_reflection_ = NULL;
const ::google::protobuf::Descriptor* RspGetCurrentCalls_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RspGetCurrentCalls_reflection_ = NULL;
const ::google::protobuf::Descriptor* ReqDial_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ReqDial_reflection_ = NULL;
const ::google::protobuf::Descriptor* ReqHangUp_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ReqHangUp_reflection_ = NULL;
const ::google::protobuf::Descriptor* RspLastCallFailCause_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RspLastCallFailCause_reflection_ = NULL;
const ::google::protobuf::Descriptor* RspSignalStrength_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RspSignalStrength_reflection_ = NULL;
const ::google::protobuf::Descriptor* RspOperator_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  RspOperator_reflection_ = NULL;
const ::google::protobuf::Descriptor* ReqSeparateConnection_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ReqSeparateConnection_reflection_ = NULL;
const ::google::protobuf::Descriptor* ReqSetMute_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ReqSetMute_reflection_ = NULL;
const ::google::protobuf::Descriptor* ReqScreenState_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ReqScreenState_reflection_ = NULL;
const ::google::protobuf::EnumDescriptor* RadioState_descriptor_ = NULL;
const ::google::protobuf::EnumDescriptor* RilCardState_descriptor_ = NULL;
const ::google::protobuf::EnumDescriptor* RilPersoSubstate_descriptor_ = NULL;
const ::google::protobuf::EnumDescriptor* RilAppState_descriptor_ = NULL;
const ::google::protobuf::EnumDescriptor* RilPinState_descriptor_ = NULL;
const ::google::protobuf::EnumDescriptor* RilAppType_descriptor_ = NULL;
const ::google::protobuf::EnumDescriptor* RilUusType_descriptor_ = NULL;
const ::google::protobuf::EnumDescriptor* RilUusDcs_descriptor_ = NULL;
const ::google::protobuf::EnumDescriptor* RilCallState_descriptor_ = NULL;

}  // namespace


void protobuf_AssignDesc_ril_2eproto() {
  protobuf_AddDesc_ril_2eproto();
  const ::google::protobuf::FileDescriptor* file =
    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
      "ril.proto");
  GOOGLE_CHECK(file != NULL);
  RilAppStatus_descriptor_ = file->message_type(0);
  static const int RilAppStatus_offsets_[8] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, app_type_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, app_state_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, perso_substate_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, aid_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, app_label_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, pin1_replaced_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, pin1_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, pin2_),
  };
  RilAppStatus_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RilAppStatus_descriptor_,
      RilAppStatus::default_instance_,
      RilAppStatus_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RilAppStatus));
  RilCardStatus_descriptor_ = file->message_type(1);
  static const int RilCardStatus_offsets_[6] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, card_state_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, universal_pin_state_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, gsm_umts_subscription_app_index_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, cdma_subscription_app_index_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, num_applications_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, applications_),
  };
  RilCardStatus_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RilCardStatus_descriptor_,
      RilCardStatus::default_instance_,
      RilCardStatus_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RilCardStatus));
  RilUusInfo_descriptor_ = file->message_type(2);
  static const int RilUusInfo_offsets_[4] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, uus_type_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, uus_dcs_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, uus_length_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, uus_data_),
  };
  RilUusInfo_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RilUusInfo_descriptor_,
      RilUusInfo::default_instance_,
      RilUusInfo_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RilUusInfo));
  RilCall_descriptor_ = file->message_type(3);
  static const int RilCall_offsets_[13] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, state_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, index_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, toa_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, is_mpty_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, is_mt_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, als_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, is_voice_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, is_voice_privacy_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, number_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, number_presentation_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, name_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, name_presentation_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, uus_info_),
  };
  RilCall_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RilCall_descriptor_,
      RilCall::default_instance_,
      RilCall_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RilCall));
  RILGWSignalStrength_descriptor_ = file->message_type(4);
  static const int RILGWSignalStrength_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILGWSignalStrength, signal_strength_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILGWSignalStrength, bit_error_rate_),
  };
  RILGWSignalStrength_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RILGWSignalStrength_descriptor_,
      RILGWSignalStrength::default_instance_,
      RILGWSignalStrength_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILGWSignalStrength, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILGWSignalStrength, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RILGWSignalStrength));
  RILCDMASignalStrength_descriptor_ = file->message_type(5);
  static const int RILCDMASignalStrength_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILCDMASignalStrength, dbm_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILCDMASignalStrength, ecio_),
  };
  RILCDMASignalStrength_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RILCDMASignalStrength_descriptor_,
      RILCDMASignalStrength::default_instance_,
      RILCDMASignalStrength_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILCDMASignalStrength, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILCDMASignalStrength, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RILCDMASignalStrength));
  RILEVDOSignalStrength_descriptor_ = file->message_type(6);
  static const int RILEVDOSignalStrength_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, dbm_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, ecio_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, signal_noise_ratio_),
  };
  RILEVDOSignalStrength_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RILEVDOSignalStrength_descriptor_,
      RILEVDOSignalStrength::default_instance_,
      RILEVDOSignalStrength_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RILEVDOSignalStrength));
  RspStrings_descriptor_ = file->message_type(7);
  static const int RspStrings_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspStrings, strings_),
  };
  RspStrings_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RspStrings_descriptor_,
      RspStrings::default_instance_,
      RspStrings_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspStrings, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspStrings, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RspStrings));
  RspIntegers_descriptor_ = file->message_type(8);
  static const int RspIntegers_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspIntegers, integers_),
  };
  RspIntegers_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RspIntegers_descriptor_,
      RspIntegers::default_instance_,
      RspIntegers_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspIntegers, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspIntegers, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RspIntegers));
  RspGetSimStatus_descriptor_ = file->message_type(9);
  static const int RspGetSimStatus_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetSimStatus, card_status_),
  };
  RspGetSimStatus_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RspGetSimStatus_descriptor_,
      RspGetSimStatus::default_instance_,
      RspGetSimStatus_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetSimStatus, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetSimStatus, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RspGetSimStatus));
  ReqEnterSimPin_descriptor_ = file->message_type(10);
  static const int ReqEnterSimPin_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqEnterSimPin, pin_),
  };
  ReqEnterSimPin_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      ReqEnterSimPin_descriptor_,
      ReqEnterSimPin::default_instance_,
      ReqEnterSimPin_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqEnterSimPin, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqEnterSimPin, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(ReqEnterSimPin));
  RspEnterSimPin_descriptor_ = file->message_type(11);
  static const int RspEnterSimPin_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspEnterSimPin, retries_remaining_),
  };
  RspEnterSimPin_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RspEnterSimPin_descriptor_,
      RspEnterSimPin::default_instance_,
      RspEnterSimPin_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspEnterSimPin, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspEnterSimPin, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RspEnterSimPin));
  RspGetCurrentCalls_descriptor_ = file->message_type(12);
  static const int RspGetCurrentCalls_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetCurrentCalls, calls_),
  };
  RspGetCurrentCalls_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RspGetCurrentCalls_descriptor_,
      RspGetCurrentCalls::default_instance_,
      RspGetCurrentCalls_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetCurrentCalls, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetCurrentCalls, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RspGetCurrentCalls));
  ReqDial_descriptor_ = file->message_type(13);
  static const int ReqDial_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, address_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, clir_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, uus_info_),
  };
  ReqDial_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      ReqDial_descriptor_,
      ReqDial::default_instance_,
      ReqDial_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(ReqDial));
  ReqHangUp_descriptor_ = file->message_type(14);
  static const int ReqHangUp_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqHangUp, connection_index_),
  };
  ReqHangUp_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      ReqHangUp_descriptor_,
      ReqHangUp::default_instance_,
      ReqHangUp_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqHangUp, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqHangUp, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(ReqHangUp));
  RspLastCallFailCause_descriptor_ = file->message_type(15);
  static const int RspLastCallFailCause_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspLastCallFailCause, last_call_fail_cause_),
  };
  RspLastCallFailCause_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RspLastCallFailCause_descriptor_,
      RspLastCallFailCause::default_instance_,
      RspLastCallFailCause_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspLastCallFailCause, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspLastCallFailCause, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RspLastCallFailCause));
  RspSignalStrength_descriptor_ = file->message_type(16);
  static const int RspSignalStrength_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, gw_signalstrength_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, cdma_signalstrength_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, evdo_signalstrength_),
  };
  RspSignalStrength_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RspSignalStrength_descriptor_,
      RspSignalStrength::default_instance_,
      RspSignalStrength_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RspSignalStrength));
  RspOperator_descriptor_ = file->message_type(17);
  static const int RspOperator_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, long_alpha_ons_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, short_alpha_ons_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, mcc_mnc_),
  };
  RspOperator_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      RspOperator_descriptor_,
      RspOperator::default_instance_,
      RspOperator_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(RspOperator));
  ReqSeparateConnection_descriptor_ = file->message_type(18);
  static const int ReqSeparateConnection_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSeparateConnection, index_),
  };
  ReqSeparateConnection_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      ReqSeparateConnection_descriptor_,
      ReqSeparateConnection::default_instance_,
      ReqSeparateConnection_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSeparateConnection, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSeparateConnection, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(ReqSeparateConnection));
  ReqSetMute_descriptor_ = file->message_type(19);
  static const int ReqSetMute_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSetMute, state_),
  };
  ReqSetMute_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      ReqSetMute_descriptor_,
      ReqSetMute::default_instance_,
      ReqSetMute_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSetMute, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSetMute, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(ReqSetMute));
  ReqScreenState_descriptor_ = file->message_type(20);
  static const int ReqScreenState_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqScreenState, state_),
  };
  ReqScreenState_reflection_ =
    new ::google::protobuf::internal::GeneratedMessageReflection(
      ReqScreenState_descriptor_,
      ReqScreenState::default_instance_,
      ReqScreenState_offsets_,
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqScreenState, _has_bits_[0]),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqScreenState, _unknown_fields_),
      -1,
      ::google::protobuf::DescriptorPool::generated_pool(),
      ::google::protobuf::MessageFactory::generated_factory(),
      sizeof(ReqScreenState));
  RadioState_descriptor_ = file->enum_type(0);
  RilCardState_descriptor_ = file->enum_type(1);
  RilPersoSubstate_descriptor_ = file->enum_type(2);
  RilAppState_descriptor_ = file->enum_type(3);
  RilPinState_descriptor_ = file->enum_type(4);
  RilAppType_descriptor_ = file->enum_type(5);
  RilUusType_descriptor_ = file->enum_type(6);
  RilUusDcs_descriptor_ = file->enum_type(7);
  RilCallState_descriptor_ = file->enum_type(8);
}

namespace {

GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
inline void protobuf_AssignDescriptorsOnce() {
  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
                 &protobuf_AssignDesc_ril_2eproto);
}

void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RilAppStatus_descriptor_, &RilAppStatus::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RilCardStatus_descriptor_, &RilCardStatus::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RilUusInfo_descriptor_, &RilUusInfo::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RilCall_descriptor_, &RilCall::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RILGWSignalStrength_descriptor_, &RILGWSignalStrength::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RILCDMASignalStrength_descriptor_, &RILCDMASignalStrength::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RILEVDOSignalStrength_descriptor_, &RILEVDOSignalStrength::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RspStrings_descriptor_, &RspStrings::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RspIntegers_descriptor_, &RspIntegers::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RspGetSimStatus_descriptor_, &RspGetSimStatus::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    ReqEnterSimPin_descriptor_, &ReqEnterSimPin::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RspEnterSimPin_descriptor_, &RspEnterSimPin::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RspGetCurrentCalls_descriptor_, &RspGetCurrentCalls::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    ReqDial_descriptor_, &ReqDial::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    ReqHangUp_descriptor_, &ReqHangUp::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RspLastCallFailCause_descriptor_, &RspLastCallFailCause::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RspSignalStrength_descriptor_, &RspSignalStrength::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    RspOperator_descriptor_, &RspOperator::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    ReqSeparateConnection_descriptor_, &ReqSeparateConnection::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    ReqSetMute_descriptor_, &ReqSetMute::default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    ReqScreenState_descriptor_, &ReqScreenState::default_instance());
}

}  // namespace

void protobuf_ShutdownFile_ril_2eproto() {
  delete RilAppStatus::default_instance_;
  delete RilAppStatus_reflection_;
  delete RilCardStatus::default_instance_;
  delete RilCardStatus_reflection_;
  delete RilUusInfo::default_instance_;
  delete RilUusInfo_reflection_;
  delete RilCall::default_instance_;
  delete RilCall_reflection_;
  delete RILGWSignalStrength::default_instance_;
  delete RILGWSignalStrength_reflection_;
  delete RILCDMASignalStrength::default_instance_;
  delete RILCDMASignalStrength_reflection_;
  delete RILEVDOSignalStrength::default_instance_;
  delete RILEVDOSignalStrength_reflection_;
  delete RspStrings::default_instance_;
  delete RspStrings_reflection_;
  delete RspIntegers::default_instance_;
  delete RspIntegers_reflection_;
  delete RspGetSimStatus::default_instance_;
  delete RspGetSimStatus_reflection_;
  delete ReqEnterSimPin::default_instance_;
  delete ReqEnterSimPin_reflection_;
  delete RspEnterSimPin::default_instance_;
  delete RspEnterSimPin_reflection_;
  delete RspGetCurrentCalls::default_instance_;
  delete RspGetCurrentCalls_reflection_;
  delete ReqDial::default_instance_;
  delete ReqDial_reflection_;
  delete ReqHangUp::default_instance_;
  delete ReqHangUp_reflection_;
  delete RspLastCallFailCause::default_instance_;
  delete RspLastCallFailCause_reflection_;
  delete RspSignalStrength::default_instance_;
  delete RspSignalStrength_reflection_;
  delete RspOperator::default_instance_;
  delete RspOperator_reflection_;
  delete ReqSeparateConnection::default_instance_;
  delete ReqSeparateConnection_reflection_;
  delete ReqSetMute::default_instance_;
  delete ReqSetMute_reflection_;
  delete ReqScreenState::default_instance_;
  delete ReqScreenState_reflection_;
}

void protobuf_AddDesc_ril_2eproto() {
  static bool already_here = false;
  if (already_here) return;
  already_here = true;
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
    "\n\tril.proto\022\tril_proto\"\232\002\n\014RilAppStatus\022"
    "\'\n\010app_type\030\001 \001(\0162\025.ril_proto.RilAppType"
    "\022)\n\tapp_state\030\002 \001(\0162\026.ril_proto.RilAppSt"
    "ate\0223\n\016perso_substate\030\003 \001(\0162\033.ril_proto."
    "RilPersoSubstate\022\013\n\003aid\030\004 \001(\t\022\021\n\tapp_lab"
    "el\030\005 \001(\t\022\025\n\rpin1_replaced\030\006 \001(\005\022$\n\004pin1\030"
    "\007 \001(\0162\026.ril_proto.RilPinState\022$\n\004pin2\030\010 "
    "\001(\0162\026.ril_proto.RilPinState\"\210\002\n\rRilCardS"
    "tatus\022+\n\ncard_state\030\001 \001(\0162\027.ril_proto.Ri"
    "lCardState\0223\n\023universal_pin_state\030\002 \001(\0162"
    "\026.ril_proto.RilPinState\022\'\n\037gsm_umts_subs"
    "cription_app_index\030\003 \001(\005\022#\n\033cdma_subscri"
    "ption_app_index\030\004 \001(\005\022\030\n\020num_application"
    "s\030\005 \001(\005\022-\n\014applications\030\006 \003(\0132\027.ril_prot"
    "o.RilAppStatus\"\202\001\n\nRilUusInfo\022\'\n\010uus_typ"
    "e\030\001 \001(\0162\025.ril_proto.RilUusType\022%\n\007uus_dc"
    "s\030\002 \001(\0162\024.ril_proto.RilUusDcs\022\022\n\nuus_len"
    "gth\030\003 \001(\005\022\020\n\010uus_data\030\004 \001(\t\"\245\002\n\007RilCall\022"
    "&\n\005state\030\001 \001(\0162\027.ril_proto.RilCallState\022"
    "\r\n\005index\030\002 \001(\005\022\013\n\003toa\030\003 \001(\005\022\017\n\007is_mpty\030\004"
    " \001(\010\022\r\n\005is_mt\030\005 \001(\010\022\013\n\003als\030\006 \001(\005\022\020\n\010is_v"
    "oice\030\007 \001(\010\022\030\n\020is_voice_privacy\030\010 \001(\010\022\016\n\006"
    "number\030\t \001(\t\022\033\n\023number_presentation\030\n \001("
    "\005\022\014\n\004name\030\013 \001(\t\022\031\n\021name_presentation\030\014 \001"
    "(\005\022\'\n\010uus_info\030\r \001(\0132\025.ril_proto.RilUusI"
    "nfo\"F\n\023RILGWSignalStrength\022\027\n\017signal_str"
    "ength\030\001 \001(\005\022\026\n\016bit_error_rate\030\002 \001(\005\"2\n\025R"
    "ILCDMASignalStrength\022\013\n\003dbm\030\001 \001(\005\022\014\n\004eci"
    "o\030\002 \001(\005\"N\n\025RILEVDOSignalStrength\022\013\n\003dbm\030"
    "\001 \001(\005\022\014\n\004ecio\030\002 \001(\005\022\032\n\022signal_noise_rati"
    "o\030\003 \001(\005\"\035\n\nRspStrings\022\017\n\007strings\030\001 \003(\t\"\037"
    "\n\013RspIntegers\022\020\n\010integers\030\001 \003(\005\"@\n\017RspGe"
    "tSimStatus\022-\n\013card_status\030\001 \002(\0132\030.ril_pr"
    "oto.RilCardStatus\"\035\n\016ReqEnterSimPin\022\013\n\003p"
    "in\030\001 \002(\t\"+\n\016RspEnterSimPin\022\031\n\021retries_re"
    "maining\030\001 \002(\005\"7\n\022RspGetCurrentCalls\022!\n\005c"
    "alls\030\001 \003(\0132\022.ril_proto.RilCall\"Q\n\007ReqDia"
    "l\022\017\n\007address\030\001 \001(\t\022\014\n\004clir\030\002 \001(\005\022\'\n\010uus_"
    "info\030\003 \001(\0132\025.ril_proto.RilUusInfo\"%\n\tReq"
    "HangUp\022\030\n\020connection_index\030\001 \002(\005\"4\n\024RspL"
    "astCallFailCause\022\034\n\024last_call_fail_cause"
    "\030\001 \002(\005\"\314\001\n\021RspSignalStrength\0229\n\021gw_signa"
    "lstrength\030\001 \001(\0132\036.ril_proto.RILGWSignalS"
    "trength\022=\n\023cdma_signalstrength\030\002 \001(\0132 .r"
    "il_proto.RILCDMASignalStrength\022=\n\023evdo_s"
    "ignalstrength\030\003 \001(\0132 .ril_proto.RILEVDOS"
    "ignalStrength\"O\n\013RspOperator\022\026\n\016long_alp"
    "ha_ons\030\001 \001(\t\022\027\n\017short_alpha_ons\030\002 \001(\t\022\017\n"
    "\007mcc_mnc\030\003 \001(\t\"&\n\025ReqSeparateConnection\022"
    "\r\n\005index\030\001 \002(\005\"\033\n\nReqSetMute\022\r\n\005state\030\001 "
    "\002(\010\"\037\n\016ReqScreenState\022\r\n\005state\030\001 \002(\010*\257\002\n"
    "\nRadioState\022\022\n\016RADIOSTATE_OFF\020\000\022\032\n\026RADIO"
    "STATE_UNAVAILABLE\020\001\022\034\n\030RADIOSTATE_SIM_NO"
    "T_READY\020\002\022#\n\037RADIOSTATE_SIM_LOCKED_OR_AB"
    "SENT\020\003\022\030\n\024RADIOSTATE_SIM_READY\020\004\022\035\n\031RADI"
    "OSTATE_RUIM_NOT_READY\020\005\022\031\n\025RADIOSTATE_RU"
    "IM_READY\020\006\022$\n RADIOSTATE_RUIM_LOCKED_OR_"
    "ABSENT\020\007\022\033\n\027RADIOSTATE_NV_NOT_READY\020\010\022\027\n"
    "\023RADIOSTATE_NV_READY\020\t*P\n\014RilCardState\022\024"
    "\n\020CARDSTATE_ABSENT\020\000\022\025\n\021CARDSTATE_PRESEN"
    "T\020\001\022\023\n\017CARDSTATE_ERROR\020\002*\361\006\n\020RilPersoSub"
    "state\022\031\n\025PERSOSUBSTATE_UNKNOWN\020\000\022\035\n\031PERS"
    "OSUBSTATE_IN_PROGRESS\020\001\022\027\n\023PERSOSUBSTATE"
    "_READY\020\002\022\035\n\031PERSOSUBSTATE_SIM_NETWORK\020\003\022"
    "$\n PERSOSUBSTATE_SIM_NETWORK_SUBSET\020\004\022\037\n"
    "\033PERSOSUBSTATE_SIM_CORPORATE\020\005\022&\n\"PERSOS"
    "UBSTATE_SIM_SERVICE_PROVIDER\020\006\022\031\n\025PERSOS"
    "UBSTATE_SIM_SIM\020\007\022!\n\035PERSOSUBSTATE_SIM_N"
    "ETWORK_PUK\020\010\022(\n$PERSOSUBSTATE_SIM_NETWOR"
    "K_SUBSET_PUK\020\t\022#\n\037PERSOSUBSTATE_SIM_CORP"
    "ORATE_PUK\020\n\022*\n&PERSOSUBSTATE_SIM_SERVICE"
    "_PROVIDER_PUK\020\013\022\035\n\031PERSOSUBSTATE_SIM_SIM"
    "_PUK\020\014\022\037\n\033PERSOSUBSTATE_RUIM_NETWORK1\020\r\022"
    "\037\n\033PERSOSUBSTATE_RUIM_NETWORK2\020\016\022\033\n\027PERS"
    "OSUBSTATE_RUIM_HRPD\020\017\022 \n\034PERSOSUBSTATE_R"
    "UIM_CORPORATE\020\020\022\'\n#PERSOSUBSTATE_RUIM_SE"
    "RVICE_PROVIDER\020\021\022\033\n\027PERSOSUBSTATE_RUIM_R"
    "UIM\020\022\022#\n\037PERSOSUBSTATE_RUIM_NETWORK1_PUK"
    "\020\023\022#\n\037PERSOSUBSTATE_RUIM_NETWORK2_PUK\020\024\022"
    "\037\n\033PERSOSUBSTATE_RUIM_HRPD_PUK\020\025\022$\n PERS"
    "OSUBSTATE_RUIM_CORPORATE_PUK\020\026\022+\n\'PERSOS"
    "UBSTATE_RUIM_SERVICE_PROVIDER_PUK\020\027\022\037\n\033P"
    "ERSOSUBSTATE_RUIM_RUIM_PUK\020\030*\223\001\n\013RilAppS"
    "tate\022\024\n\020APPSTATE_UNKNOWN\020\000\022\025\n\021APPSTATE_D"
    "ETECTED\020\001\022\020\n\014APPSTATE_PIN\020\002\022\020\n\014APPSTATE_"
    "PUK\020\003\022\037\n\033APPSTATE_SUBSCRIPTION_PERSO\020\004\022\022"
    "\n\016APPSTATE_READY\020\005*\275\001\n\013RilPinState\022\024\n\020PI"
    "NSTATE_UNKNOWN\020\000\022!\n\035PINSTATE_ENABLED_NOT"
    "_VERIFIED\020\001\022\035\n\031PINSTATE_ENABLED_VERIFIED"
    "\020\002\022\025\n\021PINSTATE_DISABLED\020\003\022\034\n\030PINSTATE_EN"
    "ABLED_BLOCKED\020\004\022!\n\035PINSTATE_ENABLED_PERM"
    "_BLOCKED\020\005*h\n\nRilAppType\022\023\n\017APPTYPE_UNKN"
    "OWN\020\000\022\017\n\013APPTYPE_SIM\020\001\022\020\n\014APPTYPE_USIM\020\002"
    "\022\020\n\014APPTYPE_RUIM\020\003\022\020\n\014APPTYPE_CSIM\020\004*\316\001\n"
    "\nRilUusType\022\030\n\024RILUUSTYPE1_IMPLICIT\020\000\022\030\n"
    "\024RILUUSTYPE1_REQUIRED\020\001\022\034\n\030RILUUSTYPE1_N"
    "OT_REQUIRED\020\002\022\030\n\024RILUUSTYPE2_REQUIRED\020\003\022"
    "\034\n\030RILUUSTYPE2_NOT_REQUIRED\020\004\022\030\n\024RILUUST"
    "YPE3_REQUIRED\020\005\022\034\n\030RILUUSTYPE3_NOT_REQUI"
    "RED\020\006*p\n\tRilUusDcs\022\021\n\rRILUUSDCS_USP\020\000\022\024\n"
    "\020RILUUSDCS_OSIHLP\020\001\022\022\n\016RILUUSDCS_X244\020\002\022"
    "\022\n\016RILUUSDCS_RMCF\020\003\022\022\n\016RILUUSDCS_IA5c\020\004*"
    "\231\001\n\014RilCallState\022\024\n\020CALLSTATE_ACTIVE\020\000\022\025"
    "\n\021CALLSTATE_HOLDING\020\001\022\025\n\021CALLSTATE_DIALI"
    "NG\020\002\022\026\n\022CALLSTATE_ALERTING\020\003\022\026\n\022CALLSTAT"
    "E_INCOMING\020\004\022\025\n\021CALLSTATE_WAITING\020\005B3\n(c"
    "om.android.internal.telephony.ril_protoB"
    "\007RilCmds", 4288);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "ril.proto", &protobuf_RegisterTypes);
  RilAppStatus::default_instance_ = new RilAppStatus();
  RilCardStatus::default_instance_ = new RilCardStatus();
  RilUusInfo::default_instance_ = new RilUusInfo();
  RilCall::default_instance_ = new RilCall();
  RILGWSignalStrength::default_instance_ = new RILGWSignalStrength();
  RILCDMASignalStrength::default_instance_ = new RILCDMASignalStrength();
  RILEVDOSignalStrength::default_instance_ = new RILEVDOSignalStrength();
  RspStrings::default_instance_ = new RspStrings();
  RspIntegers::default_instance_ = new RspIntegers();
  RspGetSimStatus::default_instance_ = new RspGetSimStatus();
  ReqEnterSimPin::default_instance_ = new ReqEnterSimPin();
  RspEnterSimPin::default_instance_ = new RspEnterSimPin();
  RspGetCurrentCalls::default_instance_ = new RspGetCurrentCalls();
  ReqDial::default_instance_ = new ReqDial();
  ReqHangUp::default_instance_ = new ReqHangUp();
  RspLastCallFailCause::default_instance_ = new RspLastCallFailCause();
  RspSignalStrength::default_instance_ = new RspSignalStrength();
  RspOperator::default_instance_ = new RspOperator();
  ReqSeparateConnection::default_instance_ = new ReqSeparateConnection();
  ReqSetMute::default_instance_ = new ReqSetMute();
  ReqScreenState::default_instance_ = new ReqScreenState();
  RilAppStatus::default_instance_->InitAsDefaultInstance();
  RilCardStatus::default_instance_->InitAsDefaultInstance();
  RilUusInfo::default_instance_->InitAsDefaultInstance();
  RilCall::default_instance_->InitAsDefaultInstance();
  RILGWSignalStrength::default_instance_->InitAsDefaultInstance();
  RILCDMASignalStrength::default_instance_->InitAsDefaultInstance();
  RILEVDOSignalStrength::default_instance_->InitAsDefaultInstance();
  RspStrings::default_instance_->InitAsDefaultInstance();
  RspIntegers::default_instance_->InitAsDefaultInstance();
  RspGetSimStatus::default_instance_->InitAsDefaultInstance();
  ReqEnterSimPin::default_instance_->InitAsDefaultInstance();
  RspEnterSimPin::default_instance_->InitAsDefaultInstance();
  RspGetCurrentCalls::default_instance_->InitAsDefaultInstance();
  ReqDial::default_instance_->InitAsDefaultInstance();
  ReqHangUp::default_instance_->InitAsDefaultInstance();
  RspLastCallFailCause::default_instance_->InitAsDefaultInstance();
  RspSignalStrength::default_instance_->InitAsDefaultInstance();
  RspOperator::default_instance_->InitAsDefaultInstance();
  ReqSeparateConnection::default_instance_->InitAsDefaultInstance();
  ReqSetMute::default_instance_->InitAsDefaultInstance();
  ReqScreenState::default_instance_->InitAsDefaultInstance();
  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ril_2eproto);
}

// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer_ril_2eproto {
  StaticDescriptorInitializer_ril_2eproto() {
    protobuf_AddDesc_ril_2eproto();
  }
} static_descriptor_initializer_ril_2eproto_;

const ::google::protobuf::EnumDescriptor* RadioState_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RadioState_descriptor_;
}
bool RadioState_IsValid(int value) {
  switch(value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* RilCardState_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilCardState_descriptor_;
}
bool RilCardState_IsValid(int value) {
  switch(value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* RilPersoSubstate_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilPersoSubstate_descriptor_;
}
bool RilPersoSubstate_IsValid(int value) {
  switch(value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* RilAppState_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilAppState_descriptor_;
}
bool RilAppState_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* RilPinState_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilPinState_descriptor_;
}
bool RilPinState_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* RilAppType_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilAppType_descriptor_;
}
bool RilAppType_IsValid(int value) {
  switch(value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* RilUusType_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilUusType_descriptor_;
}
bool RilUusType_IsValid(int value) {
  switch(value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* RilUusDcs_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilUusDcs_descriptor_;
}
bool RilUusDcs_IsValid(int value) {
  switch(value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* RilCallState_descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilCallState_descriptor_;
}
bool RilCallState_IsValid(int value) {
  switch(value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}


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

const ::std::string RilAppStatus::_default_aid_;
const ::std::string RilAppStatus::_default_app_label_;
#ifndef _MSC_VER
const int RilAppStatus::kAppTypeFieldNumber;
const int RilAppStatus::kAppStateFieldNumber;
const int RilAppStatus::kPersoSubstateFieldNumber;
const int RilAppStatus::kAidFieldNumber;
const int RilAppStatus::kAppLabelFieldNumber;
const int RilAppStatus::kPin1ReplacedFieldNumber;
const int RilAppStatus::kPin1FieldNumber;
const int RilAppStatus::kPin2FieldNumber;
#endif  // !_MSC_VER

RilAppStatus::RilAppStatus()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RilAppStatus::InitAsDefaultInstance() {
}

RilAppStatus::RilAppStatus(const RilAppStatus& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RilAppStatus::SharedCtor() {
  _cached_size_ = 0;
  app_type_ = 0;
  app_state_ = 0;
  perso_substate_ = 0;
  aid_ = const_cast< ::std::string*>(&_default_aid_);
  app_label_ = const_cast< ::std::string*>(&_default_app_label_);
  pin1_replaced_ = 0;
  pin1_ = 0;
  pin2_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RilAppStatus::~RilAppStatus() {
  SharedDtor();
}

void RilAppStatus::SharedDtor() {
  if (aid_ != &_default_aid_) {
    delete aid_;
  }
  if (app_label_ != &_default_app_label_) {
    delete app_label_;
  }
  if (this != default_instance_) {
  }
}

void RilAppStatus::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RilAppStatus::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilAppStatus_descriptor_;
}

const RilAppStatus& RilAppStatus::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RilAppStatus* RilAppStatus::default_instance_ = NULL;

RilAppStatus* RilAppStatus::New() const {
  return new RilAppStatus;
}

void RilAppStatus::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    app_type_ = 0;
    app_state_ = 0;
    perso_substate_ = 0;
    if (_has_bit(3)) {
      if (aid_ != &_default_aid_) {
        aid_->clear();
      }
    }
    if (_has_bit(4)) {
      if (app_label_ != &_default_app_label_) {
        app_label_->clear();
      }
    }
    pin1_replaced_ = 0;
    pin1_ = 0;
    pin2_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RilAppStatus::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .ril_proto.RilAppType app_type = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilAppType_IsValid(value)) {
            set_app_type(static_cast< ril_proto::RilAppType >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_app_state;
        break;
      }
      
      // optional .ril_proto.RilAppState app_state = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_app_state:
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilAppState_IsValid(value)) {
            set_app_state(static_cast< ril_proto::RilAppState >(value));
          } else {
            mutable_unknown_fields()->AddVarint(2, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_perso_substate;
        break;
      }
      
      // optional .ril_proto.RilPersoSubstate perso_substate = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_perso_substate:
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilPersoSubstate_IsValid(value)) {
            set_perso_substate(static_cast< ril_proto::RilPersoSubstate >(value));
          } else {
            mutable_unknown_fields()->AddVarint(3, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(34)) goto parse_aid;
        break;
      }
      
      // optional string aid = 4;
      case 4: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_aid:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_aid()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->aid().data(), this->aid().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(42)) goto parse_app_label;
        break;
      }
      
      // optional string app_label = 5;
      case 5: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_app_label:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_app_label()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->app_label().data(), this->app_label().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(48)) goto parse_pin1_replaced;
        break;
      }
      
      // optional int32 pin1_replaced = 6;
      case 6: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_pin1_replaced:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &pin1_replaced_)));
          _set_bit(5);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(56)) goto parse_pin1;
        break;
      }
      
      // optional .ril_proto.RilPinState pin1 = 7;
      case 7: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_pin1:
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilPinState_IsValid(value)) {
            set_pin1(static_cast< ril_proto::RilPinState >(value));
          } else {
            mutable_unknown_fields()->AddVarint(7, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(64)) goto parse_pin2;
        break;
      }
      
      // optional .ril_proto.RilPinState pin2 = 8;
      case 8: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_pin2:
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilPinState_IsValid(value)) {
            set_pin2(static_cast< ril_proto::RilPinState >(value));
          } else {
            mutable_unknown_fields()->AddVarint(8, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RilAppStatus::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .ril_proto.RilAppType app_type = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->app_type(), output);
  }
  
  // optional .ril_proto.RilAppState app_state = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->app_state(), output);
  }
  
  // optional .ril_proto.RilPersoSubstate perso_substate = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      3, this->perso_substate(), output);
  }
  
  // optional string aid = 4;
  if (_has_bit(3)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->aid().data(), this->aid().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      4, this->aid(), output);
  }
  
  // optional string app_label = 5;
  if (_has_bit(4)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->app_label().data(), this->app_label().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      5, this->app_label(), output);
  }
  
  // optional int32 pin1_replaced = 6;
  if (_has_bit(5)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->pin1_replaced(), output);
  }
  
  // optional .ril_proto.RilPinState pin1 = 7;
  if (_has_bit(6)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      7, this->pin1(), output);
  }
  
  // optional .ril_proto.RilPinState pin2 = 8;
  if (_has_bit(7)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      8, this->pin2(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RilAppStatus::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .ril_proto.RilAppType app_type = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->app_type(), target);
  }
  
  // optional .ril_proto.RilAppState app_state = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      2, this->app_state(), target);
  }
  
  // optional .ril_proto.RilPersoSubstate perso_substate = 3;
  if (_has_bit(2)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      3, this->perso_substate(), target);
  }
  
  // optional string aid = 4;
  if (_has_bit(3)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->aid().data(), this->aid().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        4, this->aid(), target);
  }
  
  // optional string app_label = 5;
  if (_has_bit(4)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->app_label().data(), this->app_label().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        5, this->app_label(), target);
  }
  
  // optional int32 pin1_replaced = 6;
  if (_has_bit(5)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->pin1_replaced(), target);
  }
  
  // optional .ril_proto.RilPinState pin1 = 7;
  if (_has_bit(6)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      7, this->pin1(), target);
  }
  
  // optional .ril_proto.RilPinState pin2 = 8;
  if (_has_bit(7)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      8, this->pin2(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RilAppStatus::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .ril_proto.RilAppType app_type = 1;
    if (has_app_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->app_type());
    }
    
    // optional .ril_proto.RilAppState app_state = 2;
    if (has_app_state()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->app_state());
    }
    
    // optional .ril_proto.RilPersoSubstate perso_substate = 3;
    if (has_perso_substate()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->perso_substate());
    }
    
    // optional string aid = 4;
    if (has_aid()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->aid());
    }
    
    // optional string app_label = 5;
    if (has_app_label()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->app_label());
    }
    
    // optional int32 pin1_replaced = 6;
    if (has_pin1_replaced()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->pin1_replaced());
    }
    
    // optional .ril_proto.RilPinState pin1 = 7;
    if (has_pin1()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->pin1());
    }
    
    // optional .ril_proto.RilPinState pin2 = 8;
    if (has_pin2()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->pin2());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RilAppStatus::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RilAppStatus* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RilAppStatus*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RilAppStatus::MergeFrom(const RilAppStatus& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_app_type(from.app_type());
    }
    if (from._has_bit(1)) {
      set_app_state(from.app_state());
    }
    if (from._has_bit(2)) {
      set_perso_substate(from.perso_substate());
    }
    if (from._has_bit(3)) {
      set_aid(from.aid());
    }
    if (from._has_bit(4)) {
      set_app_label(from.app_label());
    }
    if (from._has_bit(5)) {
      set_pin1_replaced(from.pin1_replaced());
    }
    if (from._has_bit(6)) {
      set_pin1(from.pin1());
    }
    if (from._has_bit(7)) {
      set_pin2(from.pin2());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RilAppStatus::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RilAppStatus::CopyFrom(const RilAppStatus& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RilAppStatus::IsInitialized() const {
  
  return true;
}

void RilAppStatus::Swap(RilAppStatus* other) {
  if (other != this) {
    std::swap(app_type_, other->app_type_);
    std::swap(app_state_, other->app_state_);
    std::swap(perso_substate_, other->perso_substate_);
    std::swap(aid_, other->aid_);
    std::swap(app_label_, other->app_label_);
    std::swap(pin1_replaced_, other->pin1_replaced_);
    std::swap(pin1_, other->pin1_);
    std::swap(pin2_, other->pin2_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RilAppStatus::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RilAppStatus_descriptor_;
  metadata.reflection = RilAppStatus_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RilCardStatus::kCardStateFieldNumber;
const int RilCardStatus::kUniversalPinStateFieldNumber;
const int RilCardStatus::kGsmUmtsSubscriptionAppIndexFieldNumber;
const int RilCardStatus::kCdmaSubscriptionAppIndexFieldNumber;
const int RilCardStatus::kNumApplicationsFieldNumber;
const int RilCardStatus::kApplicationsFieldNumber;
#endif  // !_MSC_VER

RilCardStatus::RilCardStatus()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RilCardStatus::InitAsDefaultInstance() {
}

RilCardStatus::RilCardStatus(const RilCardStatus& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RilCardStatus::SharedCtor() {
  _cached_size_ = 0;
  card_state_ = 0;
  universal_pin_state_ = 0;
  gsm_umts_subscription_app_index_ = 0;
  cdma_subscription_app_index_ = 0;
  num_applications_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RilCardStatus::~RilCardStatus() {
  SharedDtor();
}

void RilCardStatus::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RilCardStatus::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RilCardStatus::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilCardStatus_descriptor_;
}

const RilCardStatus& RilCardStatus::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RilCardStatus* RilCardStatus::default_instance_ = NULL;

RilCardStatus* RilCardStatus::New() const {
  return new RilCardStatus;
}

void RilCardStatus::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    card_state_ = 0;
    universal_pin_state_ = 0;
    gsm_umts_subscription_app_index_ = 0;
    cdma_subscription_app_index_ = 0;
    num_applications_ = 0;
  }
  applications_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RilCardStatus::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .ril_proto.RilCardState card_state = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilCardState_IsValid(value)) {
            set_card_state(static_cast< ril_proto::RilCardState >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_universal_pin_state;
        break;
      }
      
      // optional .ril_proto.RilPinState universal_pin_state = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_universal_pin_state:
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilPinState_IsValid(value)) {
            set_universal_pin_state(static_cast< ril_proto::RilPinState >(value));
          } else {
            mutable_unknown_fields()->AddVarint(2, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_gsm_umts_subscription_app_index;
        break;
      }
      
      // optional int32 gsm_umts_subscription_app_index = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_gsm_umts_subscription_app_index:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &gsm_umts_subscription_app_index_)));
          _set_bit(2);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(32)) goto parse_cdma_subscription_app_index;
        break;
      }
      
      // optional int32 cdma_subscription_app_index = 4;
      case 4: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_cdma_subscription_app_index:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &cdma_subscription_app_index_)));
          _set_bit(3);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(40)) goto parse_num_applications;
        break;
      }
      
      // optional int32 num_applications = 5;
      case 5: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_num_applications:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &num_applications_)));
          _set_bit(4);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(50)) goto parse_applications;
        break;
      }
      
      // repeated .ril_proto.RilAppStatus applications = 6;
      case 6: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_applications:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_applications()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(50)) goto parse_applications;
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RilCardStatus::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .ril_proto.RilCardState card_state = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->card_state(), output);
  }
  
  // optional .ril_proto.RilPinState universal_pin_state = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->universal_pin_state(), output);
  }
  
  // optional int32 gsm_umts_subscription_app_index = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->gsm_umts_subscription_app_index(), output);
  }
  
  // optional int32 cdma_subscription_app_index = 4;
  if (_has_bit(3)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->cdma_subscription_app_index(), output);
  }
  
  // optional int32 num_applications = 5;
  if (_has_bit(4)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->num_applications(), output);
  }
  
  // repeated .ril_proto.RilAppStatus applications = 6;
  for (int i = 0; i < this->applications_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      6, this->applications(i), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RilCardStatus::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .ril_proto.RilCardState card_state = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->card_state(), target);
  }
  
  // optional .ril_proto.RilPinState universal_pin_state = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      2, this->universal_pin_state(), target);
  }
  
  // optional int32 gsm_umts_subscription_app_index = 3;
  if (_has_bit(2)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->gsm_umts_subscription_app_index(), target);
  }
  
  // optional int32 cdma_subscription_app_index = 4;
  if (_has_bit(3)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->cdma_subscription_app_index(), target);
  }
  
  // optional int32 num_applications = 5;
  if (_has_bit(4)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->num_applications(), target);
  }
  
  // repeated .ril_proto.RilAppStatus applications = 6;
  for (int i = 0; i < this->applications_size(); i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        6, this->applications(i), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RilCardStatus::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .ril_proto.RilCardState card_state = 1;
    if (has_card_state()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->card_state());
    }
    
    // optional .ril_proto.RilPinState universal_pin_state = 2;
    if (has_universal_pin_state()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->universal_pin_state());
    }
    
    // optional int32 gsm_umts_subscription_app_index = 3;
    if (has_gsm_umts_subscription_app_index()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->gsm_umts_subscription_app_index());
    }
    
    // optional int32 cdma_subscription_app_index = 4;
    if (has_cdma_subscription_app_index()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->cdma_subscription_app_index());
    }
    
    // optional int32 num_applications = 5;
    if (has_num_applications()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->num_applications());
    }
    
  }
  // repeated .ril_proto.RilAppStatus applications = 6;
  total_size += 1 * this->applications_size();
  for (int i = 0; i < this->applications_size(); i++) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        this->applications(i));
  }
  
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RilCardStatus::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RilCardStatus* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RilCardStatus*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RilCardStatus::MergeFrom(const RilCardStatus& from) {
  GOOGLE_CHECK_NE(&from, this);
  applications_.MergeFrom(from.applications_);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_card_state(from.card_state());
    }
    if (from._has_bit(1)) {
      set_universal_pin_state(from.universal_pin_state());
    }
    if (from._has_bit(2)) {
      set_gsm_umts_subscription_app_index(from.gsm_umts_subscription_app_index());
    }
    if (from._has_bit(3)) {
      set_cdma_subscription_app_index(from.cdma_subscription_app_index());
    }
    if (from._has_bit(4)) {
      set_num_applications(from.num_applications());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RilCardStatus::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RilCardStatus::CopyFrom(const RilCardStatus& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RilCardStatus::IsInitialized() const {
  
  return true;
}

void RilCardStatus::Swap(RilCardStatus* other) {
  if (other != this) {
    std::swap(card_state_, other->card_state_);
    std::swap(universal_pin_state_, other->universal_pin_state_);
    std::swap(gsm_umts_subscription_app_index_, other->gsm_umts_subscription_app_index_);
    std::swap(cdma_subscription_app_index_, other->cdma_subscription_app_index_);
    std::swap(num_applications_, other->num_applications_);
    applications_.Swap(&other->applications_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RilCardStatus::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RilCardStatus_descriptor_;
  metadata.reflection = RilCardStatus_reflection_;
  return metadata;
}


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

const ::std::string RilUusInfo::_default_uus_data_;
#ifndef _MSC_VER
const int RilUusInfo::kUusTypeFieldNumber;
const int RilUusInfo::kUusDcsFieldNumber;
const int RilUusInfo::kUusLengthFieldNumber;
const int RilUusInfo::kUusDataFieldNumber;
#endif  // !_MSC_VER

RilUusInfo::RilUusInfo()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RilUusInfo::InitAsDefaultInstance() {
}

RilUusInfo::RilUusInfo(const RilUusInfo& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RilUusInfo::SharedCtor() {
  _cached_size_ = 0;
  uus_type_ = 0;
  uus_dcs_ = 0;
  uus_length_ = 0;
  uus_data_ = const_cast< ::std::string*>(&_default_uus_data_);
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RilUusInfo::~RilUusInfo() {
  SharedDtor();
}

void RilUusInfo::SharedDtor() {
  if (uus_data_ != &_default_uus_data_) {
    delete uus_data_;
  }
  if (this != default_instance_) {
  }
}

void RilUusInfo::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RilUusInfo::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilUusInfo_descriptor_;
}

const RilUusInfo& RilUusInfo::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RilUusInfo* RilUusInfo::default_instance_ = NULL;

RilUusInfo* RilUusInfo::New() const {
  return new RilUusInfo;
}

void RilUusInfo::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    uus_type_ = 0;
    uus_dcs_ = 0;
    uus_length_ = 0;
    if (_has_bit(3)) {
      if (uus_data_ != &_default_uus_data_) {
        uus_data_->clear();
      }
    }
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RilUusInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .ril_proto.RilUusType uus_type = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilUusType_IsValid(value)) {
            set_uus_type(static_cast< ril_proto::RilUusType >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_uus_dcs;
        break;
      }
      
      // optional .ril_proto.RilUusDcs uus_dcs = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_uus_dcs:
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilUusDcs_IsValid(value)) {
            set_uus_dcs(static_cast< ril_proto::RilUusDcs >(value));
          } else {
            mutable_unknown_fields()->AddVarint(2, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_uus_length;
        break;
      }
      
      // optional int32 uus_length = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_uus_length:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &uus_length_)));
          _set_bit(2);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(34)) goto parse_uus_data;
        break;
      }
      
      // optional string uus_data = 4;
      case 4: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_uus_data:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_uus_data()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->uus_data().data(), this->uus_data().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RilUusInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .ril_proto.RilUusType uus_type = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->uus_type(), output);
  }
  
  // optional .ril_proto.RilUusDcs uus_dcs = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->uus_dcs(), output);
  }
  
  // optional int32 uus_length = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->uus_length(), output);
  }
  
  // optional string uus_data = 4;
  if (_has_bit(3)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->uus_data().data(), this->uus_data().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      4, this->uus_data(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RilUusInfo::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .ril_proto.RilUusType uus_type = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->uus_type(), target);
  }
  
  // optional .ril_proto.RilUusDcs uus_dcs = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      2, this->uus_dcs(), target);
  }
  
  // optional int32 uus_length = 3;
  if (_has_bit(2)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->uus_length(), target);
  }
  
  // optional string uus_data = 4;
  if (_has_bit(3)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->uus_data().data(), this->uus_data().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        4, this->uus_data(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RilUusInfo::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .ril_proto.RilUusType uus_type = 1;
    if (has_uus_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->uus_type());
    }
    
    // optional .ril_proto.RilUusDcs uus_dcs = 2;
    if (has_uus_dcs()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->uus_dcs());
    }
    
    // optional int32 uus_length = 3;
    if (has_uus_length()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->uus_length());
    }
    
    // optional string uus_data = 4;
    if (has_uus_data()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->uus_data());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RilUusInfo::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RilUusInfo* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RilUusInfo*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RilUusInfo::MergeFrom(const RilUusInfo& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_uus_type(from.uus_type());
    }
    if (from._has_bit(1)) {
      set_uus_dcs(from.uus_dcs());
    }
    if (from._has_bit(2)) {
      set_uus_length(from.uus_length());
    }
    if (from._has_bit(3)) {
      set_uus_data(from.uus_data());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RilUusInfo::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RilUusInfo::CopyFrom(const RilUusInfo& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RilUusInfo::IsInitialized() const {
  
  return true;
}

void RilUusInfo::Swap(RilUusInfo* other) {
  if (other != this) {
    std::swap(uus_type_, other->uus_type_);
    std::swap(uus_dcs_, other->uus_dcs_);
    std::swap(uus_length_, other->uus_length_);
    std::swap(uus_data_, other->uus_data_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RilUusInfo::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RilUusInfo_descriptor_;
  metadata.reflection = RilUusInfo_reflection_;
  return metadata;
}


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

const ::std::string RilCall::_default_number_;
const ::std::string RilCall::_default_name_;
#ifndef _MSC_VER
const int RilCall::kStateFieldNumber;
const int RilCall::kIndexFieldNumber;
const int RilCall::kToaFieldNumber;
const int RilCall::kIsMptyFieldNumber;
const int RilCall::kIsMtFieldNumber;
const int RilCall::kAlsFieldNumber;
const int RilCall::kIsVoiceFieldNumber;
const int RilCall::kIsVoicePrivacyFieldNumber;
const int RilCall::kNumberFieldNumber;
const int RilCall::kNumberPresentationFieldNumber;
const int RilCall::kNameFieldNumber;
const int RilCall::kNamePresentationFieldNumber;
const int RilCall::kUusInfoFieldNumber;
#endif  // !_MSC_VER

RilCall::RilCall()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RilCall::InitAsDefaultInstance() {
  uus_info_ = const_cast< ::ril_proto::RilUusInfo*>(&::ril_proto::RilUusInfo::default_instance());
}

RilCall::RilCall(const RilCall& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RilCall::SharedCtor() {
  _cached_size_ = 0;
  state_ = 0;
  index_ = 0;
  toa_ = 0;
  is_mpty_ = false;
  is_mt_ = false;
  als_ = 0;
  is_voice_ = false;
  is_voice_privacy_ = false;
  number_ = const_cast< ::std::string*>(&_default_number_);
  number_presentation_ = 0;
  name_ = const_cast< ::std::string*>(&_default_name_);
  name_presentation_ = 0;
  uus_info_ = NULL;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RilCall::~RilCall() {
  SharedDtor();
}

void RilCall::SharedDtor() {
  if (number_ != &_default_number_) {
    delete number_;
  }
  if (name_ != &_default_name_) {
    delete name_;
  }
  if (this != default_instance_) {
    delete uus_info_;
  }
}

void RilCall::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RilCall::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RilCall_descriptor_;
}

const RilCall& RilCall::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RilCall* RilCall::default_instance_ = NULL;

RilCall* RilCall::New() const {
  return new RilCall;
}

void RilCall::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    state_ = 0;
    index_ = 0;
    toa_ = 0;
    is_mpty_ = false;
    is_mt_ = false;
    als_ = 0;
    is_voice_ = false;
    is_voice_privacy_ = false;
  }
  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
    if (_has_bit(8)) {
      if (number_ != &_default_number_) {
        number_->clear();
      }
    }
    number_presentation_ = 0;
    if (_has_bit(10)) {
      if (name_ != &_default_name_) {
        name_->clear();
      }
    }
    name_presentation_ = 0;
    if (_has_bit(12)) {
      if (uus_info_ != NULL) uus_info_->::ril_proto::RilUusInfo::Clear();
    }
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RilCall::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .ril_proto.RilCallState state = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (ril_proto::RilCallState_IsValid(value)) {
            set_state(static_cast< ril_proto::RilCallState >(value));
          } else {
            mutable_unknown_fields()->AddVarint(1, value);
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_index;
        break;
      }
      
      // optional int32 index = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_index:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &index_)));
          _set_bit(1);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_toa;
        break;
      }
      
      // optional int32 toa = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_toa:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &toa_)));
          _set_bit(2);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(32)) goto parse_is_mpty;
        break;
      }
      
      // optional bool is_mpty = 4;
      case 4: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_is_mpty:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_mpty_)));
          _set_bit(3);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(40)) goto parse_is_mt;
        break;
      }
      
      // optional bool is_mt = 5;
      case 5: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_is_mt:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_mt_)));
          _set_bit(4);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(48)) goto parse_als;
        break;
      }
      
      // optional int32 als = 6;
      case 6: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_als:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &als_)));
          _set_bit(5);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(56)) goto parse_is_voice;
        break;
      }
      
      // optional bool is_voice = 7;
      case 7: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_is_voice:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_voice_)));
          _set_bit(6);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(64)) goto parse_is_voice_privacy;
        break;
      }
      
      // optional bool is_voice_privacy = 8;
      case 8: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_is_voice_privacy:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_voice_privacy_)));
          _set_bit(7);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(74)) goto parse_number;
        break;
      }
      
      // optional string number = 9;
      case 9: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_number:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_number()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->number().data(), this->number().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(80)) goto parse_number_presentation;
        break;
      }
      
      // optional int32 number_presentation = 10;
      case 10: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_number_presentation:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &number_presentation_)));
          _set_bit(9);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(90)) goto parse_name;
        break;
      }
      
      // optional string name = 11;
      case 11: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_name:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->name().data(), this->name().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(96)) goto parse_name_presentation;
        break;
      }
      
      // optional int32 name_presentation = 12;
      case 12: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_name_presentation:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &name_presentation_)));
          _set_bit(11);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(106)) goto parse_uus_info;
        break;
      }
      
      // optional .ril_proto.RilUusInfo uus_info = 13;
      case 13: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_uus_info:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_uus_info()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RilCall::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .ril_proto.RilCallState state = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->state(), output);
  }
  
  // optional int32 index = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->index(), output);
  }
  
  // optional int32 toa = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->toa(), output);
  }
  
  // optional bool is_mpty = 4;
  if (_has_bit(3)) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->is_mpty(), output);
  }
  
  // optional bool is_mt = 5;
  if (_has_bit(4)) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->is_mt(), output);
  }
  
  // optional int32 als = 6;
  if (_has_bit(5)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->als(), output);
  }
  
  // optional bool is_voice = 7;
  if (_has_bit(6)) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->is_voice(), output);
  }
  
  // optional bool is_voice_privacy = 8;
  if (_has_bit(7)) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->is_voice_privacy(), output);
  }
  
  // optional string number = 9;
  if (_has_bit(8)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->number().data(), this->number().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      9, this->number(), output);
  }
  
  // optional int32 number_presentation = 10;
  if (_has_bit(9)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(10, this->number_presentation(), output);
  }
  
  // optional string name = 11;
  if (_has_bit(10)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->name().data(), this->name().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      11, this->name(), output);
  }
  
  // optional int32 name_presentation = 12;
  if (_has_bit(11)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(12, this->name_presentation(), output);
  }
  
  // optional .ril_proto.RilUusInfo uus_info = 13;
  if (_has_bit(12)) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      13, this->uus_info(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RilCall::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .ril_proto.RilCallState state = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->state(), target);
  }
  
  // optional int32 index = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->index(), target);
  }
  
  // optional int32 toa = 3;
  if (_has_bit(2)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->toa(), target);
  }
  
  // optional bool is_mpty = 4;
  if (_has_bit(3)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->is_mpty(), target);
  }
  
  // optional bool is_mt = 5;
  if (_has_bit(4)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->is_mt(), target);
  }
  
  // optional int32 als = 6;
  if (_has_bit(5)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->als(), target);
  }
  
  // optional bool is_voice = 7;
  if (_has_bit(6)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->is_voice(), target);
  }
  
  // optional bool is_voice_privacy = 8;
  if (_has_bit(7)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->is_voice_privacy(), target);
  }
  
  // optional string number = 9;
  if (_has_bit(8)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->number().data(), this->number().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        9, this->number(), target);
  }
  
  // optional int32 number_presentation = 10;
  if (_has_bit(9)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(10, this->number_presentation(), target);
  }
  
  // optional string name = 11;
  if (_has_bit(10)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->name().data(), this->name().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        11, this->name(), target);
  }
  
  // optional int32 name_presentation = 12;
  if (_has_bit(11)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(12, this->name_presentation(), target);
  }
  
  // optional .ril_proto.RilUusInfo uus_info = 13;
  if (_has_bit(12)) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        13, this->uus_info(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RilCall::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .ril_proto.RilCallState state = 1;
    if (has_state()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->state());
    }
    
    // optional int32 index = 2;
    if (has_index()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->index());
    }
    
    // optional int32 toa = 3;
    if (has_toa()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->toa());
    }
    
    // optional bool is_mpty = 4;
    if (has_is_mpty()) {
      total_size += 1 + 1;
    }
    
    // optional bool is_mt = 5;
    if (has_is_mt()) {
      total_size += 1 + 1;
    }
    
    // optional int32 als = 6;
    if (has_als()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->als());
    }
    
    // optional bool is_voice = 7;
    if (has_is_voice()) {
      total_size += 1 + 1;
    }
    
    // optional bool is_voice_privacy = 8;
    if (has_is_voice_privacy()) {
      total_size += 1 + 1;
    }
    
  }
  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
    // optional string number = 9;
    if (has_number()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->number());
    }
    
    // optional int32 number_presentation = 10;
    if (has_number_presentation()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->number_presentation());
    }
    
    // optional string name = 11;
    if (has_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
    }
    
    // optional int32 name_presentation = 12;
    if (has_name_presentation()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->name_presentation());
    }
    
    // optional .ril_proto.RilUusInfo uus_info = 13;
    if (has_uus_info()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->uus_info());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RilCall::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RilCall* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RilCall*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RilCall::MergeFrom(const RilCall& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_state(from.state());
    }
    if (from._has_bit(1)) {
      set_index(from.index());
    }
    if (from._has_bit(2)) {
      set_toa(from.toa());
    }
    if (from._has_bit(3)) {
      set_is_mpty(from.is_mpty());
    }
    if (from._has_bit(4)) {
      set_is_mt(from.is_mt());
    }
    if (from._has_bit(5)) {
      set_als(from.als());
    }
    if (from._has_bit(6)) {
      set_is_voice(from.is_voice());
    }
    if (from._has_bit(7)) {
      set_is_voice_privacy(from.is_voice_privacy());
    }
  }
  if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
    if (from._has_bit(8)) {
      set_number(from.number());
    }
    if (from._has_bit(9)) {
      set_number_presentation(from.number_presentation());
    }
    if (from._has_bit(10)) {
      set_name(from.name());
    }
    if (from._has_bit(11)) {
      set_name_presentation(from.name_presentation());
    }
    if (from._has_bit(12)) {
      mutable_uus_info()->::ril_proto::RilUusInfo::MergeFrom(from.uus_info());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RilCall::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RilCall::CopyFrom(const RilCall& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RilCall::IsInitialized() const {
  
  return true;
}

void RilCall::Swap(RilCall* other) {
  if (other != this) {
    std::swap(state_, other->state_);
    std::swap(index_, other->index_);
    std::swap(toa_, other->toa_);
    std::swap(is_mpty_, other->is_mpty_);
    std::swap(is_mt_, other->is_mt_);
    std::swap(als_, other->als_);
    std::swap(is_voice_, other->is_voice_);
    std::swap(is_voice_privacy_, other->is_voice_privacy_);
    std::swap(number_, other->number_);
    std::swap(number_presentation_, other->number_presentation_);
    std::swap(name_, other->name_);
    std::swap(name_presentation_, other->name_presentation_);
    std::swap(uus_info_, other->uus_info_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RilCall::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RilCall_descriptor_;
  metadata.reflection = RilCall_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RILGWSignalStrength::kSignalStrengthFieldNumber;
const int RILGWSignalStrength::kBitErrorRateFieldNumber;
#endif  // !_MSC_VER

RILGWSignalStrength::RILGWSignalStrength()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RILGWSignalStrength::InitAsDefaultInstance() {
}

RILGWSignalStrength::RILGWSignalStrength(const RILGWSignalStrength& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RILGWSignalStrength::SharedCtor() {
  _cached_size_ = 0;
  signal_strength_ = 0;
  bit_error_rate_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RILGWSignalStrength::~RILGWSignalStrength() {
  SharedDtor();
}

void RILGWSignalStrength::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RILGWSignalStrength::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RILGWSignalStrength::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RILGWSignalStrength_descriptor_;
}

const RILGWSignalStrength& RILGWSignalStrength::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RILGWSignalStrength* RILGWSignalStrength::default_instance_ = NULL;

RILGWSignalStrength* RILGWSignalStrength::New() const {
  return new RILGWSignalStrength;
}

void RILGWSignalStrength::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    signal_strength_ = 0;
    bit_error_rate_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RILGWSignalStrength::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 signal_strength = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &signal_strength_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_bit_error_rate;
        break;
      }
      
      // optional int32 bit_error_rate = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_bit_error_rate:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &bit_error_rate_)));
          _set_bit(1);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RILGWSignalStrength::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional int32 signal_strength = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->signal_strength(), output);
  }
  
  // optional int32 bit_error_rate = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->bit_error_rate(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RILGWSignalStrength::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional int32 signal_strength = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->signal_strength(), target);
  }
  
  // optional int32 bit_error_rate = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->bit_error_rate(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RILGWSignalStrength::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional int32 signal_strength = 1;
    if (has_signal_strength()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->signal_strength());
    }
    
    // optional int32 bit_error_rate = 2;
    if (has_bit_error_rate()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->bit_error_rate());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RILGWSignalStrength::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RILGWSignalStrength* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RILGWSignalStrength*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RILGWSignalStrength::MergeFrom(const RILGWSignalStrength& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_signal_strength(from.signal_strength());
    }
    if (from._has_bit(1)) {
      set_bit_error_rate(from.bit_error_rate());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RILGWSignalStrength::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RILGWSignalStrength::CopyFrom(const RILGWSignalStrength& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RILGWSignalStrength::IsInitialized() const {
  
  return true;
}

void RILGWSignalStrength::Swap(RILGWSignalStrength* other) {
  if (other != this) {
    std::swap(signal_strength_, other->signal_strength_);
    std::swap(bit_error_rate_, other->bit_error_rate_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RILGWSignalStrength::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RILGWSignalStrength_descriptor_;
  metadata.reflection = RILGWSignalStrength_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RILCDMASignalStrength::kDbmFieldNumber;
const int RILCDMASignalStrength::kEcioFieldNumber;
#endif  // !_MSC_VER

RILCDMASignalStrength::RILCDMASignalStrength()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RILCDMASignalStrength::InitAsDefaultInstance() {
}

RILCDMASignalStrength::RILCDMASignalStrength(const RILCDMASignalStrength& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RILCDMASignalStrength::SharedCtor() {
  _cached_size_ = 0;
  dbm_ = 0;
  ecio_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RILCDMASignalStrength::~RILCDMASignalStrength() {
  SharedDtor();
}

void RILCDMASignalStrength::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RILCDMASignalStrength::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RILCDMASignalStrength::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RILCDMASignalStrength_descriptor_;
}

const RILCDMASignalStrength& RILCDMASignalStrength::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RILCDMASignalStrength* RILCDMASignalStrength::default_instance_ = NULL;

RILCDMASignalStrength* RILCDMASignalStrength::New() const {
  return new RILCDMASignalStrength;
}

void RILCDMASignalStrength::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    dbm_ = 0;
    ecio_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RILCDMASignalStrength::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 dbm = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &dbm_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_ecio;
        break;
      }
      
      // optional int32 ecio = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_ecio:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &ecio_)));
          _set_bit(1);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RILCDMASignalStrength::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional int32 dbm = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->dbm(), output);
  }
  
  // optional int32 ecio = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->ecio(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RILCDMASignalStrength::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional int32 dbm = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->dbm(), target);
  }
  
  // optional int32 ecio = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->ecio(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RILCDMASignalStrength::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional int32 dbm = 1;
    if (has_dbm()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->dbm());
    }
    
    // optional int32 ecio = 2;
    if (has_ecio()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->ecio());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RILCDMASignalStrength::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RILCDMASignalStrength* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RILCDMASignalStrength*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RILCDMASignalStrength::MergeFrom(const RILCDMASignalStrength& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_dbm(from.dbm());
    }
    if (from._has_bit(1)) {
      set_ecio(from.ecio());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RILCDMASignalStrength::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RILCDMASignalStrength::CopyFrom(const RILCDMASignalStrength& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RILCDMASignalStrength::IsInitialized() const {
  
  return true;
}

void RILCDMASignalStrength::Swap(RILCDMASignalStrength* other) {
  if (other != this) {
    std::swap(dbm_, other->dbm_);
    std::swap(ecio_, other->ecio_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RILCDMASignalStrength::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RILCDMASignalStrength_descriptor_;
  metadata.reflection = RILCDMASignalStrength_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RILEVDOSignalStrength::kDbmFieldNumber;
const int RILEVDOSignalStrength::kEcioFieldNumber;
const int RILEVDOSignalStrength::kSignalNoiseRatioFieldNumber;
#endif  // !_MSC_VER

RILEVDOSignalStrength::RILEVDOSignalStrength()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RILEVDOSignalStrength::InitAsDefaultInstance() {
}

RILEVDOSignalStrength::RILEVDOSignalStrength(const RILEVDOSignalStrength& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RILEVDOSignalStrength::SharedCtor() {
  _cached_size_ = 0;
  dbm_ = 0;
  ecio_ = 0;
  signal_noise_ratio_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RILEVDOSignalStrength::~RILEVDOSignalStrength() {
  SharedDtor();
}

void RILEVDOSignalStrength::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RILEVDOSignalStrength::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RILEVDOSignalStrength::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RILEVDOSignalStrength_descriptor_;
}

const RILEVDOSignalStrength& RILEVDOSignalStrength::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RILEVDOSignalStrength* RILEVDOSignalStrength::default_instance_ = NULL;

RILEVDOSignalStrength* RILEVDOSignalStrength::New() const {
  return new RILEVDOSignalStrength;
}

void RILEVDOSignalStrength::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    dbm_ = 0;
    ecio_ = 0;
    signal_noise_ratio_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RILEVDOSignalStrength::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 dbm = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &dbm_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_ecio;
        break;
      }
      
      // optional int32 ecio = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_ecio:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &ecio_)));
          _set_bit(1);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_signal_noise_ratio;
        break;
      }
      
      // optional int32 signal_noise_ratio = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_signal_noise_ratio:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &signal_noise_ratio_)));
          _set_bit(2);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RILEVDOSignalStrength::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional int32 dbm = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->dbm(), output);
  }
  
  // optional int32 ecio = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->ecio(), output);
  }
  
  // optional int32 signal_noise_ratio = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->signal_noise_ratio(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RILEVDOSignalStrength::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional int32 dbm = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->dbm(), target);
  }
  
  // optional int32 ecio = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->ecio(), target);
  }
  
  // optional int32 signal_noise_ratio = 3;
  if (_has_bit(2)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->signal_noise_ratio(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RILEVDOSignalStrength::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional int32 dbm = 1;
    if (has_dbm()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->dbm());
    }
    
    // optional int32 ecio = 2;
    if (has_ecio()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->ecio());
    }
    
    // optional int32 signal_noise_ratio = 3;
    if (has_signal_noise_ratio()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->signal_noise_ratio());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RILEVDOSignalStrength::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RILEVDOSignalStrength* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RILEVDOSignalStrength*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RILEVDOSignalStrength::MergeFrom(const RILEVDOSignalStrength& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_dbm(from.dbm());
    }
    if (from._has_bit(1)) {
      set_ecio(from.ecio());
    }
    if (from._has_bit(2)) {
      set_signal_noise_ratio(from.signal_noise_ratio());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RILEVDOSignalStrength::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RILEVDOSignalStrength::CopyFrom(const RILEVDOSignalStrength& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RILEVDOSignalStrength::IsInitialized() const {
  
  return true;
}

void RILEVDOSignalStrength::Swap(RILEVDOSignalStrength* other) {
  if (other != this) {
    std::swap(dbm_, other->dbm_);
    std::swap(ecio_, other->ecio_);
    std::swap(signal_noise_ratio_, other->signal_noise_ratio_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RILEVDOSignalStrength::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RILEVDOSignalStrength_descriptor_;
  metadata.reflection = RILEVDOSignalStrength_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RspStrings::kStringsFieldNumber;
#endif  // !_MSC_VER

RspStrings::RspStrings()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RspStrings::InitAsDefaultInstance() {
}

RspStrings::RspStrings(const RspStrings& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RspStrings::SharedCtor() {
  _cached_size_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RspStrings::~RspStrings() {
  SharedDtor();
}

void RspStrings::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RspStrings::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RspStrings::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RspStrings_descriptor_;
}

const RspStrings& RspStrings::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RspStrings* RspStrings::default_instance_ = NULL;

RspStrings* RspStrings::New() const {
  return new RspStrings;
}

void RspStrings::Clear() {
  strings_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RspStrings::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated string strings = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_strings:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_strings()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->strings(0).data(), this->strings(0).length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(10)) goto parse_strings;
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RspStrings::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // repeated string strings = 1;
  for (int i = 0; i < this->strings_size(); i++) {
  ::google::protobuf::internal::WireFormat::VerifyUTF8String(
    this->strings(i).data(), this->strings(i).length(),
    ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      1, this->strings(i), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RspStrings::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // repeated string strings = 1;
  for (int i = 0; i < this->strings_size(); i++) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->strings(i).data(), this->strings(i).length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target = ::google::protobuf::internal::WireFormatLite::
      WriteStringToArray(1, this->strings(i), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RspStrings::ByteSize() const {
  int total_size = 0;
  
  // repeated string strings = 1;
  total_size += 1 * this->strings_size();
  for (int i = 0; i < this->strings_size(); i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->strings(i));
  }
  
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RspStrings::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RspStrings* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RspStrings*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RspStrings::MergeFrom(const RspStrings& from) {
  GOOGLE_CHECK_NE(&from, this);
  strings_.MergeFrom(from.strings_);
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RspStrings::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RspStrings::CopyFrom(const RspStrings& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RspStrings::IsInitialized() const {
  
  return true;
}

void RspStrings::Swap(RspStrings* other) {
  if (other != this) {
    strings_.Swap(&other->strings_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RspStrings::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RspStrings_descriptor_;
  metadata.reflection = RspStrings_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RspIntegers::kIntegersFieldNumber;
#endif  // !_MSC_VER

RspIntegers::RspIntegers()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RspIntegers::InitAsDefaultInstance() {
}

RspIntegers::RspIntegers(const RspIntegers& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RspIntegers::SharedCtor() {
  _cached_size_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RspIntegers::~RspIntegers() {
  SharedDtor();
}

void RspIntegers::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RspIntegers::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RspIntegers::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RspIntegers_descriptor_;
}

const RspIntegers& RspIntegers::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RspIntegers* RspIntegers::default_instance_ = NULL;

RspIntegers* RspIntegers::New() const {
  return new RspIntegers;
}

void RspIntegers::Clear() {
  integers_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RspIntegers::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated int32 integers = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_integers:
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 1, 8, input, this->mutable_integers())));
        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
                   == ::google::protobuf::internal::WireFormatLite::
                      WIRETYPE_LENGTH_DELIMITED) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, this->mutable_integers())));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(8)) goto parse_integers;
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RspIntegers::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // repeated int32 integers = 1;
  for (int i = 0; i < this->integers_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(
      1, this->integers(i), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RspIntegers::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // repeated int32 integers = 1;
  for (int i = 0; i < this->integers_size(); i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteInt32ToArray(1, this->integers(i), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RspIntegers::ByteSize() const {
  int total_size = 0;
  
  // repeated int32 integers = 1;
  {
    int data_size = 0;
    for (int i = 0; i < this->integers_size(); i++) {
      data_size += ::google::protobuf::internal::WireFormatLite::
        Int32Size(this->integers(i));
    }
    total_size += 1 * this->integers_size() + data_size;
  }
  
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RspIntegers::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RspIntegers* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RspIntegers*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RspIntegers::MergeFrom(const RspIntegers& from) {
  GOOGLE_CHECK_NE(&from, this);
  integers_.MergeFrom(from.integers_);
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RspIntegers::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RspIntegers::CopyFrom(const RspIntegers& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RspIntegers::IsInitialized() const {
  
  return true;
}

void RspIntegers::Swap(RspIntegers* other) {
  if (other != this) {
    integers_.Swap(&other->integers_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RspIntegers::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RspIntegers_descriptor_;
  metadata.reflection = RspIntegers_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RspGetSimStatus::kCardStatusFieldNumber;
#endif  // !_MSC_VER

RspGetSimStatus::RspGetSimStatus()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RspGetSimStatus::InitAsDefaultInstance() {
  card_status_ = const_cast< ::ril_proto::RilCardStatus*>(&::ril_proto::RilCardStatus::default_instance());
}

RspGetSimStatus::RspGetSimStatus(const RspGetSimStatus& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RspGetSimStatus::SharedCtor() {
  _cached_size_ = 0;
  card_status_ = NULL;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RspGetSimStatus::~RspGetSimStatus() {
  SharedDtor();
}

void RspGetSimStatus::SharedDtor() {
  if (this != default_instance_) {
    delete card_status_;
  }
}

void RspGetSimStatus::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RspGetSimStatus::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RspGetSimStatus_descriptor_;
}

const RspGetSimStatus& RspGetSimStatus::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RspGetSimStatus* RspGetSimStatus::default_instance_ = NULL;

RspGetSimStatus* RspGetSimStatus::New() const {
  return new RspGetSimStatus;
}

void RspGetSimStatus::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (_has_bit(0)) {
      if (card_status_ != NULL) card_status_->::ril_proto::RilCardStatus::Clear();
    }
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RspGetSimStatus::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .ril_proto.RilCardStatus card_status = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_card_status()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RspGetSimStatus::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required .ril_proto.RilCardStatus card_status = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->card_status(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RspGetSimStatus::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // required .ril_proto.RilCardStatus card_status = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        1, this->card_status(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RspGetSimStatus::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required .ril_proto.RilCardStatus card_status = 1;
    if (has_card_status()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->card_status());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RspGetSimStatus::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RspGetSimStatus* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RspGetSimStatus*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RspGetSimStatus::MergeFrom(const RspGetSimStatus& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      mutable_card_status()->::ril_proto::RilCardStatus::MergeFrom(from.card_status());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RspGetSimStatus::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RspGetSimStatus::CopyFrom(const RspGetSimStatus& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void RspGetSimStatus::Swap(RspGetSimStatus* other) {
  if (other != this) {
    std::swap(card_status_, other->card_status_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RspGetSimStatus::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RspGetSimStatus_descriptor_;
  metadata.reflection = RspGetSimStatus_reflection_;
  return metadata;
}


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

const ::std::string ReqEnterSimPin::_default_pin_;
#ifndef _MSC_VER
const int ReqEnterSimPin::kPinFieldNumber;
#endif  // !_MSC_VER

ReqEnterSimPin::ReqEnterSimPin()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void ReqEnterSimPin::InitAsDefaultInstance() {
}

ReqEnterSimPin::ReqEnterSimPin(const ReqEnterSimPin& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void ReqEnterSimPin::SharedCtor() {
  _cached_size_ = 0;
  pin_ = const_cast< ::std::string*>(&_default_pin_);
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

ReqEnterSimPin::~ReqEnterSimPin() {
  SharedDtor();
}

void ReqEnterSimPin::SharedDtor() {
  if (pin_ != &_default_pin_) {
    delete pin_;
  }
  if (this != default_instance_) {
  }
}

void ReqEnterSimPin::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ReqEnterSimPin::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ReqEnterSimPin_descriptor_;
}

const ReqEnterSimPin& ReqEnterSimPin::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

ReqEnterSimPin* ReqEnterSimPin::default_instance_ = NULL;

ReqEnterSimPin* ReqEnterSimPin::New() const {
  return new ReqEnterSimPin;
}

void ReqEnterSimPin::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (_has_bit(0)) {
      if (pin_ != &_default_pin_) {
        pin_->clear();
      }
    }
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool ReqEnterSimPin::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string pin = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_pin()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->pin().data(), this->pin().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void ReqEnterSimPin::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required string pin = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->pin().data(), this->pin().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      1, this->pin(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* ReqEnterSimPin::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // required string pin = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->pin().data(), this->pin().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->pin(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int ReqEnterSimPin::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required string pin = 1;
    if (has_pin()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->pin());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReqEnterSimPin::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const ReqEnterSimPin* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const ReqEnterSimPin*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void ReqEnterSimPin::MergeFrom(const ReqEnterSimPin& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_pin(from.pin());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void ReqEnterSimPin::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReqEnterSimPin::CopyFrom(const ReqEnterSimPin& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void ReqEnterSimPin::Swap(ReqEnterSimPin* other) {
  if (other != this) {
    std::swap(pin_, other->pin_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata ReqEnterSimPin::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ReqEnterSimPin_descriptor_;
  metadata.reflection = ReqEnterSimPin_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RspEnterSimPin::kRetriesRemainingFieldNumber;
#endif  // !_MSC_VER

RspEnterSimPin::RspEnterSimPin()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RspEnterSimPin::InitAsDefaultInstance() {
}

RspEnterSimPin::RspEnterSimPin(const RspEnterSimPin& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RspEnterSimPin::SharedCtor() {
  _cached_size_ = 0;
  retries_remaining_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RspEnterSimPin::~RspEnterSimPin() {
  SharedDtor();
}

void RspEnterSimPin::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RspEnterSimPin::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RspEnterSimPin::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RspEnterSimPin_descriptor_;
}

const RspEnterSimPin& RspEnterSimPin::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RspEnterSimPin* RspEnterSimPin::default_instance_ = NULL;

RspEnterSimPin* RspEnterSimPin::New() const {
  return new RspEnterSimPin;
}

void RspEnterSimPin::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    retries_remaining_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RspEnterSimPin::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 retries_remaining = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &retries_remaining_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RspEnterSimPin::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required int32 retries_remaining = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->retries_remaining(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RspEnterSimPin::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // required int32 retries_remaining = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->retries_remaining(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RspEnterSimPin::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required int32 retries_remaining = 1;
    if (has_retries_remaining()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->retries_remaining());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RspEnterSimPin::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RspEnterSimPin* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RspEnterSimPin*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RspEnterSimPin::MergeFrom(const RspEnterSimPin& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_retries_remaining(from.retries_remaining());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RspEnterSimPin::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RspEnterSimPin::CopyFrom(const RspEnterSimPin& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void RspEnterSimPin::Swap(RspEnterSimPin* other) {
  if (other != this) {
    std::swap(retries_remaining_, other->retries_remaining_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RspEnterSimPin::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RspEnterSimPin_descriptor_;
  metadata.reflection = RspEnterSimPin_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RspGetCurrentCalls::kCallsFieldNumber;
#endif  // !_MSC_VER

RspGetCurrentCalls::RspGetCurrentCalls()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RspGetCurrentCalls::InitAsDefaultInstance() {
}

RspGetCurrentCalls::RspGetCurrentCalls(const RspGetCurrentCalls& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RspGetCurrentCalls::SharedCtor() {
  _cached_size_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RspGetCurrentCalls::~RspGetCurrentCalls() {
  SharedDtor();
}

void RspGetCurrentCalls::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RspGetCurrentCalls::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RspGetCurrentCalls::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RspGetCurrentCalls_descriptor_;
}

const RspGetCurrentCalls& RspGetCurrentCalls::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RspGetCurrentCalls* RspGetCurrentCalls::default_instance_ = NULL;

RspGetCurrentCalls* RspGetCurrentCalls::New() const {
  return new RspGetCurrentCalls;
}

void RspGetCurrentCalls::Clear() {
  calls_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RspGetCurrentCalls::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated .ril_proto.RilCall calls = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_calls:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_calls()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(10)) goto parse_calls;
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RspGetCurrentCalls::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // repeated .ril_proto.RilCall calls = 1;
  for (int i = 0; i < this->calls_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->calls(i), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RspGetCurrentCalls::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // repeated .ril_proto.RilCall calls = 1;
  for (int i = 0; i < this->calls_size(); i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        1, this->calls(i), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RspGetCurrentCalls::ByteSize() const {
  int total_size = 0;
  
  // repeated .ril_proto.RilCall calls = 1;
  total_size += 1 * this->calls_size();
  for (int i = 0; i < this->calls_size(); i++) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        this->calls(i));
  }
  
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RspGetCurrentCalls::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RspGetCurrentCalls* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RspGetCurrentCalls*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RspGetCurrentCalls::MergeFrom(const RspGetCurrentCalls& from) {
  GOOGLE_CHECK_NE(&from, this);
  calls_.MergeFrom(from.calls_);
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RspGetCurrentCalls::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RspGetCurrentCalls::CopyFrom(const RspGetCurrentCalls& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RspGetCurrentCalls::IsInitialized() const {
  
  return true;
}

void RspGetCurrentCalls::Swap(RspGetCurrentCalls* other) {
  if (other != this) {
    calls_.Swap(&other->calls_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RspGetCurrentCalls::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RspGetCurrentCalls_descriptor_;
  metadata.reflection = RspGetCurrentCalls_reflection_;
  return metadata;
}


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

const ::std::string ReqDial::_default_address_;
#ifndef _MSC_VER
const int ReqDial::kAddressFieldNumber;
const int ReqDial::kClirFieldNumber;
const int ReqDial::kUusInfoFieldNumber;
#endif  // !_MSC_VER

ReqDial::ReqDial()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void ReqDial::InitAsDefaultInstance() {
  uus_info_ = const_cast< ::ril_proto::RilUusInfo*>(&::ril_proto::RilUusInfo::default_instance());
}

ReqDial::ReqDial(const ReqDial& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void ReqDial::SharedCtor() {
  _cached_size_ = 0;
  address_ = const_cast< ::std::string*>(&_default_address_);
  clir_ = 0;
  uus_info_ = NULL;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

ReqDial::~ReqDial() {
  SharedDtor();
}

void ReqDial::SharedDtor() {
  if (address_ != &_default_address_) {
    delete address_;
  }
  if (this != default_instance_) {
    delete uus_info_;
  }
}

void ReqDial::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ReqDial::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ReqDial_descriptor_;
}

const ReqDial& ReqDial::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

ReqDial* ReqDial::default_instance_ = NULL;

ReqDial* ReqDial::New() const {
  return new ReqDial;
}

void ReqDial::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (_has_bit(0)) {
      if (address_ != &_default_address_) {
        address_->clear();
      }
    }
    clir_ = 0;
    if (_has_bit(2)) {
      if (uus_info_ != NULL) uus_info_->::ril_proto::RilUusInfo::Clear();
    }
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool ReqDial::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string address = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_address()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->address().data(), this->address().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_clir;
        break;
      }
      
      // optional int32 clir = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_clir:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &clir_)));
          _set_bit(1);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(26)) goto parse_uus_info;
        break;
      }
      
      // optional .ril_proto.RilUusInfo uus_info = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_uus_info:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_uus_info()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void ReqDial::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional string address = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->address().data(), this->address().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      1, this->address(), output);
  }
  
  // optional int32 clir = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->clir(), output);
  }
  
  // optional .ril_proto.RilUusInfo uus_info = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->uus_info(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* ReqDial::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional string address = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->address().data(), this->address().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->address(), target);
  }
  
  // optional int32 clir = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->clir(), target);
  }
  
  // optional .ril_proto.RilUusInfo uus_info = 3;
  if (_has_bit(2)) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        3, this->uus_info(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int ReqDial::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional string address = 1;
    if (has_address()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->address());
    }
    
    // optional int32 clir = 2;
    if (has_clir()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->clir());
    }
    
    // optional .ril_proto.RilUusInfo uus_info = 3;
    if (has_uus_info()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->uus_info());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReqDial::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const ReqDial* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const ReqDial*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void ReqDial::MergeFrom(const ReqDial& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_address(from.address());
    }
    if (from._has_bit(1)) {
      set_clir(from.clir());
    }
    if (from._has_bit(2)) {
      mutable_uus_info()->::ril_proto::RilUusInfo::MergeFrom(from.uus_info());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void ReqDial::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReqDial::CopyFrom(const ReqDial& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ReqDial::IsInitialized() const {
  
  return true;
}

void ReqDial::Swap(ReqDial* other) {
  if (other != this) {
    std::swap(address_, other->address_);
    std::swap(clir_, other->clir_);
    std::swap(uus_info_, other->uus_info_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata ReqDial::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ReqDial_descriptor_;
  metadata.reflection = ReqDial_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int ReqHangUp::kConnectionIndexFieldNumber;
#endif  // !_MSC_VER

ReqHangUp::ReqHangUp()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void ReqHangUp::InitAsDefaultInstance() {
}

ReqHangUp::ReqHangUp(const ReqHangUp& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void ReqHangUp::SharedCtor() {
  _cached_size_ = 0;
  connection_index_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

ReqHangUp::~ReqHangUp() {
  SharedDtor();
}

void ReqHangUp::SharedDtor() {
  if (this != default_instance_) {
  }
}

void ReqHangUp::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ReqHangUp::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ReqHangUp_descriptor_;
}

const ReqHangUp& ReqHangUp::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

ReqHangUp* ReqHangUp::default_instance_ = NULL;

ReqHangUp* ReqHangUp::New() const {
  return new ReqHangUp;
}

void ReqHangUp::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    connection_index_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool ReqHangUp::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 connection_index = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &connection_index_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void ReqHangUp::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required int32 connection_index = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->connection_index(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* ReqHangUp::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // required int32 connection_index = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->connection_index(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int ReqHangUp::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required int32 connection_index = 1;
    if (has_connection_index()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->connection_index());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReqHangUp::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const ReqHangUp* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const ReqHangUp*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void ReqHangUp::MergeFrom(const ReqHangUp& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_connection_index(from.connection_index());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void ReqHangUp::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReqHangUp::CopyFrom(const ReqHangUp& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void ReqHangUp::Swap(ReqHangUp* other) {
  if (other != this) {
    std::swap(connection_index_, other->connection_index_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata ReqHangUp::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ReqHangUp_descriptor_;
  metadata.reflection = ReqHangUp_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RspLastCallFailCause::kLastCallFailCauseFieldNumber;
#endif  // !_MSC_VER

RspLastCallFailCause::RspLastCallFailCause()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RspLastCallFailCause::InitAsDefaultInstance() {
}

RspLastCallFailCause::RspLastCallFailCause(const RspLastCallFailCause& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RspLastCallFailCause::SharedCtor() {
  _cached_size_ = 0;
  last_call_fail_cause_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RspLastCallFailCause::~RspLastCallFailCause() {
  SharedDtor();
}

void RspLastCallFailCause::SharedDtor() {
  if (this != default_instance_) {
  }
}

void RspLastCallFailCause::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RspLastCallFailCause::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RspLastCallFailCause_descriptor_;
}

const RspLastCallFailCause& RspLastCallFailCause::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RspLastCallFailCause* RspLastCallFailCause::default_instance_ = NULL;

RspLastCallFailCause* RspLastCallFailCause::New() const {
  return new RspLastCallFailCause;
}

void RspLastCallFailCause::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    last_call_fail_cause_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RspLastCallFailCause::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 last_call_fail_cause = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &last_call_fail_cause_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RspLastCallFailCause::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required int32 last_call_fail_cause = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->last_call_fail_cause(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RspLastCallFailCause::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // required int32 last_call_fail_cause = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->last_call_fail_cause(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RspLastCallFailCause::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required int32 last_call_fail_cause = 1;
    if (has_last_call_fail_cause()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->last_call_fail_cause());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RspLastCallFailCause::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RspLastCallFailCause* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RspLastCallFailCause*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RspLastCallFailCause::MergeFrom(const RspLastCallFailCause& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_last_call_fail_cause(from.last_call_fail_cause());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RspLastCallFailCause::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RspLastCallFailCause::CopyFrom(const RspLastCallFailCause& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void RspLastCallFailCause::Swap(RspLastCallFailCause* other) {
  if (other != this) {
    std::swap(last_call_fail_cause_, other->last_call_fail_cause_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RspLastCallFailCause::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RspLastCallFailCause_descriptor_;
  metadata.reflection = RspLastCallFailCause_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int RspSignalStrength::kGwSignalstrengthFieldNumber;
const int RspSignalStrength::kCdmaSignalstrengthFieldNumber;
const int RspSignalStrength::kEvdoSignalstrengthFieldNumber;
#endif  // !_MSC_VER

RspSignalStrength::RspSignalStrength()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RspSignalStrength::InitAsDefaultInstance() {
  gw_signalstrength_ = const_cast< ::ril_proto::RILGWSignalStrength*>(&::ril_proto::RILGWSignalStrength::default_instance());
  cdma_signalstrength_ = const_cast< ::ril_proto::RILCDMASignalStrength*>(&::ril_proto::RILCDMASignalStrength::default_instance());
  evdo_signalstrength_ = const_cast< ::ril_proto::RILEVDOSignalStrength*>(&::ril_proto::RILEVDOSignalStrength::default_instance());
}

RspSignalStrength::RspSignalStrength(const RspSignalStrength& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RspSignalStrength::SharedCtor() {
  _cached_size_ = 0;
  gw_signalstrength_ = NULL;
  cdma_signalstrength_ = NULL;
  evdo_signalstrength_ = NULL;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RspSignalStrength::~RspSignalStrength() {
  SharedDtor();
}

void RspSignalStrength::SharedDtor() {
  if (this != default_instance_) {
    delete gw_signalstrength_;
    delete cdma_signalstrength_;
    delete evdo_signalstrength_;
  }
}

void RspSignalStrength::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RspSignalStrength::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RspSignalStrength_descriptor_;
}

const RspSignalStrength& RspSignalStrength::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RspSignalStrength* RspSignalStrength::default_instance_ = NULL;

RspSignalStrength* RspSignalStrength::New() const {
  return new RspSignalStrength;
}

void RspSignalStrength::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (_has_bit(0)) {
      if (gw_signalstrength_ != NULL) gw_signalstrength_->::ril_proto::RILGWSignalStrength::Clear();
    }
    if (_has_bit(1)) {
      if (cdma_signalstrength_ != NULL) cdma_signalstrength_->::ril_proto::RILCDMASignalStrength::Clear();
    }
    if (_has_bit(2)) {
      if (evdo_signalstrength_ != NULL) evdo_signalstrength_->::ril_proto::RILEVDOSignalStrength::Clear();
    }
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RspSignalStrength::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_gw_signalstrength()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(18)) goto parse_cdma_signalstrength;
        break;
      }
      
      // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_cdma_signalstrength:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_cdma_signalstrength()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(26)) goto parse_evdo_signalstrength;
        break;
      }
      
      // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_evdo_signalstrength:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_evdo_signalstrength()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RspSignalStrength::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->gw_signalstrength(), output);
  }
  
  // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, this->cdma_signalstrength(), output);
  }
  
  // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, this->evdo_signalstrength(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RspSignalStrength::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        1, this->gw_signalstrength(), target);
  }
  
  // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
  if (_has_bit(1)) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        2, this->cdma_signalstrength(), target);
  }
  
  // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
  if (_has_bit(2)) {
    target = ::google::protobuf::internal::WireFormatLite::
      WriteMessageNoVirtualToArray(
        3, this->evdo_signalstrength(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RspSignalStrength::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
    if (has_gw_signalstrength()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->gw_signalstrength());
    }
    
    // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
    if (has_cdma_signalstrength()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->cdma_signalstrength());
    }
    
    // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
    if (has_evdo_signalstrength()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->evdo_signalstrength());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RspSignalStrength::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RspSignalStrength* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RspSignalStrength*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RspSignalStrength::MergeFrom(const RspSignalStrength& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      mutable_gw_signalstrength()->::ril_proto::RILGWSignalStrength::MergeFrom(from.gw_signalstrength());
    }
    if (from._has_bit(1)) {
      mutable_cdma_signalstrength()->::ril_proto::RILCDMASignalStrength::MergeFrom(from.cdma_signalstrength());
    }
    if (from._has_bit(2)) {
      mutable_evdo_signalstrength()->::ril_proto::RILEVDOSignalStrength::MergeFrom(from.evdo_signalstrength());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RspSignalStrength::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RspSignalStrength::CopyFrom(const RspSignalStrength& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RspSignalStrength::IsInitialized() const {
  
  return true;
}

void RspSignalStrength::Swap(RspSignalStrength* other) {
  if (other != this) {
    std::swap(gw_signalstrength_, other->gw_signalstrength_);
    std::swap(cdma_signalstrength_, other->cdma_signalstrength_);
    std::swap(evdo_signalstrength_, other->evdo_signalstrength_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RspSignalStrength::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RspSignalStrength_descriptor_;
  metadata.reflection = RspSignalStrength_reflection_;
  return metadata;
}


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

const ::std::string RspOperator::_default_long_alpha_ons_;
const ::std::string RspOperator::_default_short_alpha_ons_;
const ::std::string RspOperator::_default_mcc_mnc_;
#ifndef _MSC_VER
const int RspOperator::kLongAlphaOnsFieldNumber;
const int RspOperator::kShortAlphaOnsFieldNumber;
const int RspOperator::kMccMncFieldNumber;
#endif  // !_MSC_VER

RspOperator::RspOperator()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void RspOperator::InitAsDefaultInstance() {
}

RspOperator::RspOperator(const RspOperator& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void RspOperator::SharedCtor() {
  _cached_size_ = 0;
  long_alpha_ons_ = const_cast< ::std::string*>(&_default_long_alpha_ons_);
  short_alpha_ons_ = const_cast< ::std::string*>(&_default_short_alpha_ons_);
  mcc_mnc_ = const_cast< ::std::string*>(&_default_mcc_mnc_);
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

RspOperator::~RspOperator() {
  SharedDtor();
}

void RspOperator::SharedDtor() {
  if (long_alpha_ons_ != &_default_long_alpha_ons_) {
    delete long_alpha_ons_;
  }
  if (short_alpha_ons_ != &_default_short_alpha_ons_) {
    delete short_alpha_ons_;
  }
  if (mcc_mnc_ != &_default_mcc_mnc_) {
    delete mcc_mnc_;
  }
  if (this != default_instance_) {
  }
}

void RspOperator::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* RspOperator::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return RspOperator_descriptor_;
}

const RspOperator& RspOperator::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

RspOperator* RspOperator::default_instance_ = NULL;

RspOperator* RspOperator::New() const {
  return new RspOperator;
}

void RspOperator::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (_has_bit(0)) {
      if (long_alpha_ons_ != &_default_long_alpha_ons_) {
        long_alpha_ons_->clear();
      }
    }
    if (_has_bit(1)) {
      if (short_alpha_ons_ != &_default_short_alpha_ons_) {
        short_alpha_ons_->clear();
      }
    }
    if (_has_bit(2)) {
      if (mcc_mnc_ != &_default_mcc_mnc_) {
        mcc_mnc_->clear();
      }
    }
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool RspOperator::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string long_alpha_ons = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_long_alpha_ons()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->long_alpha_ons().data(), this->long_alpha_ons().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(18)) goto parse_short_alpha_ons;
        break;
      }
      
      // optional string short_alpha_ons = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_short_alpha_ons:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_short_alpha_ons()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->short_alpha_ons().data(), this->short_alpha_ons().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(26)) goto parse_mcc_mnc;
        break;
      }
      
      // optional string mcc_mnc = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_mcc_mnc:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_mcc_mnc()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
            this->mcc_mnc().data(), this->mcc_mnc().length(),
            ::google::protobuf::internal::WireFormat::PARSE);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void RspOperator::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // optional string long_alpha_ons = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->long_alpha_ons().data(), this->long_alpha_ons().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      1, this->long_alpha_ons(), output);
  }
  
  // optional string short_alpha_ons = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->short_alpha_ons().data(), this->short_alpha_ons().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      2, this->short_alpha_ons(), output);
  }
  
  // optional string mcc_mnc = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->mcc_mnc().data(), this->mcc_mnc().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    ::google::protobuf::internal::WireFormatLite::WriteString(
      3, this->mcc_mnc(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* RspOperator::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // optional string long_alpha_ons = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->long_alpha_ons().data(), this->long_alpha_ons().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->long_alpha_ons(), target);
  }
  
  // optional string short_alpha_ons = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->short_alpha_ons().data(), this->short_alpha_ons().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->short_alpha_ons(), target);
  }
  
  // optional string mcc_mnc = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
      this->mcc_mnc().data(), this->mcc_mnc().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE);
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->mcc_mnc(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int RspOperator::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // optional string long_alpha_ons = 1;
    if (has_long_alpha_ons()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->long_alpha_ons());
    }
    
    // optional string short_alpha_ons = 2;
    if (has_short_alpha_ons()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->short_alpha_ons());
    }
    
    // optional string mcc_mnc = 3;
    if (has_mcc_mnc()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->mcc_mnc());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void RspOperator::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const RspOperator* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const RspOperator*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void RspOperator::MergeFrom(const RspOperator& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_long_alpha_ons(from.long_alpha_ons());
    }
    if (from._has_bit(1)) {
      set_short_alpha_ons(from.short_alpha_ons());
    }
    if (from._has_bit(2)) {
      set_mcc_mnc(from.mcc_mnc());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void RspOperator::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RspOperator::CopyFrom(const RspOperator& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RspOperator::IsInitialized() const {
  
  return true;
}

void RspOperator::Swap(RspOperator* other) {
  if (other != this) {
    std::swap(long_alpha_ons_, other->long_alpha_ons_);
    std::swap(short_alpha_ons_, other->short_alpha_ons_);
    std::swap(mcc_mnc_, other->mcc_mnc_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata RspOperator::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = RspOperator_descriptor_;
  metadata.reflection = RspOperator_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int ReqSeparateConnection::kIndexFieldNumber;
#endif  // !_MSC_VER

ReqSeparateConnection::ReqSeparateConnection()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void ReqSeparateConnection::InitAsDefaultInstance() {
}

ReqSeparateConnection::ReqSeparateConnection(const ReqSeparateConnection& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void ReqSeparateConnection::SharedCtor() {
  _cached_size_ = 0;
  index_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

ReqSeparateConnection::~ReqSeparateConnection() {
  SharedDtor();
}

void ReqSeparateConnection::SharedDtor() {
  if (this != default_instance_) {
  }
}

void ReqSeparateConnection::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ReqSeparateConnection::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ReqSeparateConnection_descriptor_;
}

const ReqSeparateConnection& ReqSeparateConnection::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

ReqSeparateConnection* ReqSeparateConnection::default_instance_ = NULL;

ReqSeparateConnection* ReqSeparateConnection::New() const {
  return new ReqSeparateConnection;
}

void ReqSeparateConnection::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    index_ = 0;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool ReqSeparateConnection::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 index = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &index_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void ReqSeparateConnection::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required int32 index = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->index(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* ReqSeparateConnection::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // required int32 index = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->index(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int ReqSeparateConnection::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required int32 index = 1;
    if (has_index()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->index());
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReqSeparateConnection::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const ReqSeparateConnection* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const ReqSeparateConnection*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void ReqSeparateConnection::MergeFrom(const ReqSeparateConnection& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_index(from.index());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void ReqSeparateConnection::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReqSeparateConnection::CopyFrom(const ReqSeparateConnection& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void ReqSeparateConnection::Swap(ReqSeparateConnection* other) {
  if (other != this) {
    std::swap(index_, other->index_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata ReqSeparateConnection::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ReqSeparateConnection_descriptor_;
  metadata.reflection = ReqSeparateConnection_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int ReqSetMute::kStateFieldNumber;
#endif  // !_MSC_VER

ReqSetMute::ReqSetMute()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void ReqSetMute::InitAsDefaultInstance() {
}

ReqSetMute::ReqSetMute(const ReqSetMute& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void ReqSetMute::SharedCtor() {
  _cached_size_ = 0;
  state_ = false;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

ReqSetMute::~ReqSetMute() {
  SharedDtor();
}

void ReqSetMute::SharedDtor() {
  if (this != default_instance_) {
  }
}

void ReqSetMute::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ReqSetMute::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ReqSetMute_descriptor_;
}

const ReqSetMute& ReqSetMute::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

ReqSetMute* ReqSetMute::default_instance_ = NULL;

ReqSetMute* ReqSetMute::New() const {
  return new ReqSetMute;
}

void ReqSetMute::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    state_ = false;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool ReqSetMute::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required bool state = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &state_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void ReqSetMute::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required bool state = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->state(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* ReqSetMute::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // required bool state = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->state(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int ReqSetMute::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required bool state = 1;
    if (has_state()) {
      total_size += 1 + 1;
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReqSetMute::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const ReqSetMute* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const ReqSetMute*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void ReqSetMute::MergeFrom(const ReqSetMute& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_state(from.state());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void ReqSetMute::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReqSetMute::CopyFrom(const ReqSetMute& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void ReqSetMute::Swap(ReqSetMute* other) {
  if (other != this) {
    std::swap(state_, other->state_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata ReqSetMute::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ReqSetMute_descriptor_;
  metadata.reflection = ReqSetMute_reflection_;
  return metadata;
}


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

#ifndef _MSC_VER
const int ReqScreenState::kStateFieldNumber;
#endif  // !_MSC_VER

ReqScreenState::ReqScreenState()
  : ::google::protobuf::Message() {
  SharedCtor();
}

void ReqScreenState::InitAsDefaultInstance() {
}

ReqScreenState::ReqScreenState(const ReqScreenState& from)
  : ::google::protobuf::Message() {
  SharedCtor();
  MergeFrom(from);
}

void ReqScreenState::SharedCtor() {
  _cached_size_ = 0;
  state_ = false;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

ReqScreenState::~ReqScreenState() {
  SharedDtor();
}

void ReqScreenState::SharedDtor() {
  if (this != default_instance_) {
  }
}

void ReqScreenState::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ReqScreenState::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ReqScreenState_descriptor_;
}

const ReqScreenState& ReqScreenState::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
}

ReqScreenState* ReqScreenState::default_instance_ = NULL;

ReqScreenState* ReqScreenState::New() const {
  return new ReqScreenState;
}

void ReqScreenState::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    state_ = false;
  }
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
  mutable_unknown_fields()->Clear();
}

bool ReqScreenState::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required bool state = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &state_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void ReqScreenState::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required bool state = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->state(), output);
  }
  
  if (!unknown_fields().empty()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
}

::google::protobuf::uint8* ReqScreenState::SerializeWithCachedSizesToArray(
    ::google::protobuf::uint8* target) const {
  // required bool state = 1;
  if (_has_bit(0)) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->state(), target);
  }
  
  if (!unknown_fields().empty()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  return target;
}

int ReqScreenState::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required bool state = 1;
    if (has_state()) {
      total_size += 1 + 1;
    }
    
  }
  if (!unknown_fields().empty()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReqScreenState::MergeFrom(const ::google::protobuf::Message& from) {
  GOOGLE_CHECK_NE(&from, this);
  const ReqScreenState* source =
    ::google::protobuf::internal::dynamic_cast_if_available<const ReqScreenState*>(
      &from);
  if (source == NULL) {
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
    MergeFrom(*source);
  }
}

void ReqScreenState::MergeFrom(const ReqScreenState& from) {
  GOOGLE_CHECK_NE(&from, this);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_state(from.state());
    }
  }
  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}

void ReqScreenState::CopyFrom(const ::google::protobuf::Message& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReqScreenState::CopyFrom(const ReqScreenState& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void ReqScreenState::Swap(ReqScreenState* other) {
  if (other != this) {
    std::swap(state_, other->state_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    _unknown_fields_.Swap(&other->_unknown_fields_);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::google::protobuf::Metadata ReqScreenState::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ReqScreenState_descriptor_;
  metadata.reflection = ReqScreenState_reflection_;
  return metadata;
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace ril_proto

// @@protoc_insertion_point(global_scope)