// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: client/v3beta/dto/message/message_dto.proto

#include "client/v3beta/dto/message/message_dto.pb.h"

#include <algorithm>

#include <herogoogle/protobuf/io/coded_stream.h>
#include <herogoogle/protobuf/extension_set.h>
#include <herogoogle/protobuf/wire_format_lite.h>
#include <herogoogle/protobuf/descriptor.h>
#include <herogoogle/protobuf/generated_message_reflection.h>
#include <herogoogle/protobuf/reflection_ops.h>
#include <herogoogle/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)


PROTOBUF_PRAGMA_INIT_SEG
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace message {
constexpr MessageSendRequest_PayloadEntry_DoNotUse::MessageSendRequest_PayloadEntry_DoNotUse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct MessageSendRequest_PayloadEntry_DoNotUseDefaultTypeInternal {
  constexpr MessageSendRequest_PayloadEntry_DoNotUseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageSendRequest_PayloadEntry_DoNotUseDefaultTypeInternal() {}
  union {
    MessageSendRequest_PayloadEntry_DoNotUse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageSendRequest_PayloadEntry_DoNotUseDefaultTypeInternal _MessageSendRequest_PayloadEntry_DoNotUse_default_instance_;
constexpr MessageSendRequest::MessageSendRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : payload_(::herogoogle::protobuf::internal::ConstantInitialized{})
  , msgtype_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , content_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , clientmsgid_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , base_(nullptr)
  , sessionkey_(nullptr){}
struct MessageSendRequestDefaultTypeInternal {
  constexpr MessageSendRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageSendRequestDefaultTypeInternal() {}
  union {
    MessageSendRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageSendRequestDefaultTypeInternal _MessageSendRequest_default_instance_;
constexpr MessageSendResponse::MessageSendResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct MessageSendResponseDefaultTypeInternal {
  constexpr MessageSendResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageSendResponseDefaultTypeInternal() {}
  union {
    MessageSendResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageSendResponseDefaultTypeInternal _MessageSendResponse_default_instance_;
constexpr MessageHistoryRequest::MessageHistoryRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : lastmsgid_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , base_(nullptr)
  , sessionkey_(nullptr)
  , size_(0)
  , direction_(0)
{}
struct MessageHistoryRequestDefaultTypeInternal {
  constexpr MessageHistoryRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageHistoryRequestDefaultTypeInternal() {}
  union {
    MessageHistoryRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageHistoryRequestDefaultTypeInternal _MessageHistoryRequest_default_instance_;
constexpr MessageHistoryResponse::MessageHistoryResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_()
  , readseq_(int64_t{0}){}
struct MessageHistoryResponseDefaultTypeInternal {
  constexpr MessageHistoryResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageHistoryResponseDefaultTypeInternal() {}
  union {
    MessageHistoryResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageHistoryResponseDefaultTypeInternal _MessageHistoryResponse_default_instance_;
constexpr MessageTranslateRequest::MessageTranslateRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : content_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , sourcelanguage_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , targetlanguage_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , base_(nullptr){}
struct MessageTranslateRequestDefaultTypeInternal {
  constexpr MessageTranslateRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageTranslateRequestDefaultTypeInternal() {}
  union {
    MessageTranslateRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageTranslateRequestDefaultTypeInternal _MessageTranslateRequest_default_instance_;
constexpr MessageTranslateResponse::MessageTranslateResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : content_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , sourcelanguage_(&::herogoogle::protobuf::internal::fixed_address_empty_string){}
struct MessageTranslateResponseDefaultTypeInternal {
  constexpr MessageTranslateResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageTranslateResponseDefaultTypeInternal() {}
  union {
    MessageTranslateResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageTranslateResponseDefaultTypeInternal _MessageTranslateResponse_default_instance_;
constexpr MessageNewRequest::MessageNewRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr)
  , size_(0)
  , querytype_(0)
{}
struct MessageNewRequestDefaultTypeInternal {
  constexpr MessageNewRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageNewRequestDefaultTypeInternal() {}
  union {
    MessageNewRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageNewRequestDefaultTypeInternal _MessageNewRequest_default_instance_;
constexpr MessageNewResponse::MessageNewResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_()
  , more_(false){}
struct MessageNewResponseDefaultTypeInternal {
  constexpr MessageNewResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageNewResponseDefaultTypeInternal() {}
  union {
    MessageNewResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageNewResponseDefaultTypeInternal _MessageNewResponse_default_instance_;
constexpr MessageRevokeRequest::MessageRevokeRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : msgid_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , base_(nullptr)
  , sessionkey_(nullptr){}
struct MessageRevokeRequestDefaultTypeInternal {
  constexpr MessageRevokeRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageRevokeRequestDefaultTypeInternal() {}
  union {
    MessageRevokeRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageRevokeRequestDefaultTypeInternal _MessageRevokeRequest_default_instance_;
constexpr MessageRevokeResponse::MessageRevokeResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct MessageRevokeResponseDefaultTypeInternal {
  constexpr MessageRevokeResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageRevokeResponseDefaultTypeInternal() {}
  union {
    MessageRevokeResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageRevokeResponseDefaultTypeInternal _MessageRevokeResponse_default_instance_;
constexpr MessageDeleteRequest::MessageDeleteRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : msgids_()
  , base_(nullptr)
  , sessionkey_(nullptr){}
struct MessageDeleteRequestDefaultTypeInternal {
  constexpr MessageDeleteRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageDeleteRequestDefaultTypeInternal() {}
  union {
    MessageDeleteRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageDeleteRequestDefaultTypeInternal _MessageDeleteRequest_default_instance_;
constexpr MessageDeleteResponse::MessageDeleteResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct MessageDeleteResponseDefaultTypeInternal {
  constexpr MessageDeleteResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageDeleteResponseDefaultTypeInternal() {}
  union {
    MessageDeleteResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageDeleteResponseDefaultTypeInternal _MessageDeleteResponse_default_instance_;
constexpr MessageCleanupRequest::MessageCleanupRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr)
  , sessionkey_(nullptr){}
struct MessageCleanupRequestDefaultTypeInternal {
  constexpr MessageCleanupRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageCleanupRequestDefaultTypeInternal() {}
  union {
    MessageCleanupRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageCleanupRequestDefaultTypeInternal _MessageCleanupRequest_default_instance_;
constexpr MessageCleanupResponse::MessageCleanupResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct MessageCleanupResponseDefaultTypeInternal {
  constexpr MessageCleanupResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~MessageCleanupResponseDefaultTypeInternal() {}
  union {
    MessageCleanupResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT MessageCleanupResponseDefaultTypeInternal _MessageCleanupResponse_default_instance_;
}  // namespace message
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim
static ::herogoogle::protobuf::Metadata file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[15];
static const ::herogoogle::protobuf::EnumDescriptor* file_level_enum_descriptors_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[1];
static constexpr ::herogoogle::protobuf::ServiceDescriptor const** file_level_service_descriptors_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto = nullptr;

const ::herogoogle::protobuf::uint32 TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest, sessionkey_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest, msgtype_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest, content_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest, clientmsgid_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendRequest, payload_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageSendResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryRequest, sessionkey_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryRequest, size_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryRequest, lastmsgid_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryRequest, direction_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryResponse, list_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageHistoryResponse, readseq_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageTranslateRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageTranslateRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageTranslateRequest, content_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageTranslateRequest, sourcelanguage_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageTranslateRequest, targetlanguage_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageTranslateResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageTranslateResponse, content_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageTranslateResponse, sourcelanguage_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageNewRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageNewRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageNewRequest, size_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageNewRequest, querytype_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageNewResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageNewResponse, list_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageNewResponse, more_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageRevokeRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageRevokeRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageRevokeRequest, sessionkey_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageRevokeRequest, msgid_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageRevokeResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageDeleteRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageDeleteRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageDeleteRequest, sessionkey_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageDeleteRequest, msgids_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageDeleteResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageCleanupRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageCleanupRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageCleanupRequest, sessionkey_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::message::MessageCleanupResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
};
static const ::herogoogle::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 8, -1, sizeof(::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse)},
  { 10, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageSendRequest)},
  { 22, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageSendResponse)},
  { 28, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageHistoryRequest)},
  { 39, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageHistoryResponse)},
  { 47, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageTranslateRequest)},
  { 57, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageTranslateResponse)},
  { 65, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageNewRequest)},
  { 74, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageNewResponse)},
  { 82, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageRevokeRequest)},
  { 91, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageRevokeResponse)},
  { 97, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageDeleteRequest)},
  { 106, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageDeleteResponse)},
  { 112, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageCleanupRequest)},
  { 120, -1, -1, sizeof(::heroim::client::v3beta::dto::message::MessageCleanupResponse)},
};

static ::herogoogle::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageSendRequest_PayloadEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageSendRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageSendResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageHistoryRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageHistoryResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageTranslateRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageTranslateResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageNewRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageNewResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageRevokeRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageRevokeResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageDeleteRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageDeleteResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageCleanupRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::message::_MessageCleanupResponse_default_instance_),
};
#ifdef _MSC_VER
#  pragma warning(disable : 4125)
#endif  /* _MSC_VER */
const char descriptor_table_protodef_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n+client/v3beta/dto/message/message_dto."
  "proto\022 heroim.client.v3beta.dto.message\032"
  "+client/v3beta/dto/message/session_dto.p"
  "roto\0323client/v3beta/dto/message/model/me"
  "ssage_model.proto\032\"client/v3beta/dto/sha"
  "red/api.proto\"\322\002\n\022MessageSendRequest\0229\n\004"
  "base\030\001 \001(\0132+.heroim.client.v3beta.dto.sh"
  "ared.APIRequest\022F\n\nsessionKey\030\002 \001(\01322.he"
  "roim.client.v3beta.dto.message.model.Ses"
  "sionKey\022\017\n\007msgType\030\003 \001(\t\022\017\n\007content\030\004 \001("
  "\t\022\023\n\013clientMsgId\030\005 \001(\t\022R\n\007payload\030\006 \003(\0132"
  "A.heroim.client.v3beta.dto.message.Messa"
  "geSendRequest.PayloadEntry\032.\n\014PayloadEnt"
  "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\025\n\023Me"
  "ssageSendResponse\"\200\002\n\025MessageHistoryRequ"
  "est\0229\n\004base\030\001 \001(\0132+.heroim.client.v3beta"
  ".dto.shared.APIRequest\022F\n\nsessionKey\030\002 \001"
  "(\01322.heroim.client.v3beta.dto.message.mo"
  "del.SessionKey\022\014\n\004size\030\003 \001(\005\022\021\n\tlastMsgI"
  "d\030\004 \001(\t\022C\n\tdirection\030\005 \001(\01620.heroim.clie"
  "nt.v3beta.dto.message.QueryDirection\"h\n\026"
  "MessageHistoryResponse\022=\n\004list\030\001 \003(\0132/.h"
  "eroim.client.v3beta.dto.message.model.Me"
  "ssage\022\017\n\007readSeq\030\002 \001(\003\"\225\001\n\027MessageTransl"
  "ateRequest\0229\n\004base\030\001 \001(\0132+.heroim.client"
  ".v3beta.dto.shared.APIRequest\022\017\n\007content"
  "\030\002 \001(\t\022\026\n\016sourceLanguage\030\003 \001(\t\022\026\n\016target"
  "Language\030\004 \001(\t\"C\n\030MessageTranslateRespon"
  "se\022\017\n\007content\030\001 \001(\t\022\026\n\016sourceLanguage\030\002 "
  "\001(\t\"\321\001\n\021MessageNewRequest\0229\n\004base\030\001 \001(\0132"
  "+.heroim.client.v3beta.dto.shared.APIReq"
  "uest\022\014\n\004size\030\002 \001(\005\022P\n\tqueryType\030\003 \001(\0162=."
  "heroim.client.v3beta.dto.message.Message"
  "NewRequest.QueryType\"!\n\tQueryType\022\007\n\003ALL"
  "\020\000\022\013\n\007Private\020\001\"a\n\022MessageNewResponse\022=\n"
  "\004list\030\001 \003(\0132/.heroim.client.v3beta.dto.m"
  "essage.model.Message\022\014\n\004more\030\002 \001(\010\"\250\001\n\024M"
  "essageRevokeRequest\0229\n\004base\030\001 \001(\0132+.hero"
  "im.client.v3beta.dto.shared.APIRequest\022F"
  "\n\nsessionKey\030\002 \001(\01322.heroim.client.v3bet"
  "a.dto.message.model.SessionKey\022\r\n\005msgId\030"
  "\003 \001(\t\"\027\n\025MessageRevokeResponse\"\251\001\n\024Messa"
  "geDeleteRequest\0229\n\004base\030\001 \001(\0132+.heroim.c"
  "lient.v3beta.dto.shared.APIRequest\022F\n\nse"
  "ssionKey\030\002 \001(\01322.heroim.client.v3beta.dt"
  "o.message.model.SessionKey\022\016\n\006msgIds\030\003 \003"
  "(\t\"\027\n\025MessageDeleteResponse\"\232\001\n\025MessageC"
  "leanupRequest\0229\n\004base\030\001 \001(\0132+.heroim.cli"
  "ent.v3beta.dto.shared.APIRequest\022F\n\nsess"
  "ionKey\030\002 \001(\01322.heroim.client.v3beta.dto."
  "message.model.SessionKey\"\030\n\026MessageClean"
  "upResponseB\213\001\n$com.hero.csdk.api.v3beta."
  "dto.messageP\001Z$heroim/api/client/v3beta/"
  "dto/message\242\002\005IMSdk\252\0022Im.CSDK.Unity.chat"
  ".entry.Runtime.entry2.v3.messageb\006proto3"
  ;
static const ::herogoogle::protobuf::internal::DescriptorTable*const descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_deps[3] = {
  &::descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmodel_2fmessage_5fmodel_2eproto,
  &::descriptor_table_client_2fv3beta_2fdto_2fmessage_2fsession_5fdto_2eproto,
  &::descriptor_table_client_2fv3beta_2fdto_2fshared_2fapi_2eproto,
};
static ::herogoogle::protobuf::internal::once_flag descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once;
const ::herogoogle::protobuf::internal::DescriptorTable descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto = {
  false, false, 2200, descriptor_table_protodef_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto, "client/v3beta/dto/message/message_dto.proto", 
  &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once, descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_deps, 3, 15,
  schemas, file_default_instances, TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto::offsets,
  file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto, file_level_enum_descriptors_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto, file_level_service_descriptors_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::herogoogle::protobuf::internal::DescriptorTable* descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter() {
  return &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::herogoogle::protobuf::internal::AddDescriptorsRunner dynamic_init_dummy_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto(&descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto);
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace message {
const ::herogoogle::protobuf::EnumDescriptor* MessageNewRequest_QueryType_descriptor() {
  ::herogoogle::protobuf::internal::AssignDescriptors(&descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto);
  return file_level_enum_descriptors_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[0];
}
bool MessageNewRequest_QueryType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
constexpr MessageNewRequest_QueryType MessageNewRequest::ALL;
constexpr MessageNewRequest_QueryType MessageNewRequest::Private;
constexpr MessageNewRequest_QueryType MessageNewRequest::QueryType_MIN;
constexpr MessageNewRequest_QueryType MessageNewRequest::QueryType_MAX;
constexpr int MessageNewRequest::QueryType_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)

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

MessageSendRequest_PayloadEntry_DoNotUse::MessageSendRequest_PayloadEntry_DoNotUse() {}
MessageSendRequest_PayloadEntry_DoNotUse::MessageSendRequest_PayloadEntry_DoNotUse(::herogoogle::protobuf::Arena* arena)
    : SuperType(arena) {}
void MessageSendRequest_PayloadEntry_DoNotUse::MergeFrom(const MessageSendRequest_PayloadEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::herogoogle::protobuf::Metadata MessageSendRequest_PayloadEntry_DoNotUse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[0]);
}

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

class MessageSendRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const MessageSendRequest* msg);
  static const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey(const MessageSendRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
MessageSendRequest::_Internal::base(const MessageSendRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::message::model::SessionKey&
MessageSendRequest::_Internal::sessionkey(const MessageSendRequest* msg) {
  return *msg->sessionkey_;
}
void MessageSendRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void MessageSendRequest::clear_sessionkey() {
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
}
MessageSendRequest::MessageSendRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  payload_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageSendRequest)
}
MessageSendRequest::MessageSendRequest(const MessageSendRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  payload_.MergeFrom(from.payload_);
  msgtype_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_msgtype().empty()) {
    msgtype_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_msgtype(), 
      GetArenaForAllocation());
  }
  content_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_content().empty()) {
    content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_content(), 
      GetArenaForAllocation());
  }
  clientmsgid_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_clientmsgid().empty()) {
    clientmsgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_clientmsgid(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_sessionkey()) {
    sessionkey_ = new ::heroim::client::v3beta::dto::message::model::SessionKey(*from.sessionkey_);
  } else {
    sessionkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageSendRequest)
}

void MessageSendRequest::SharedCtor() {
msgtype_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
content_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
clientmsgid_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&sessionkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(sessionkey_));
}

MessageSendRequest::~MessageSendRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageSendRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageSendRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  msgtype_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  content_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  clientmsgid_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete sessionkey_;
}

void MessageSendRequest::ArenaDtor(void* object) {
  MessageSendRequest* _this = reinterpret_cast< MessageSendRequest* >(object);
  (void)_this;
  _this->payload_. ~MapField();
}
inline void MessageSendRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena* arena) {
  if (arena != nullptr) {
    arena->OwnCustomDestructor(this, &MessageSendRequest::ArenaDtor);
  }
}
void MessageSendRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageSendRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageSendRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  payload_.Clear();
  msgtype_.ClearToEmpty();
  content_.ClearToEmpty();
  clientmsgid_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageSendRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_sessionkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string msgType = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          auto str = _internal_mutable_msgtype();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageSendRequest.msgType"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string content = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 34)) {
          auto str = _internal_mutable_content();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageSendRequest.content"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string clientMsgId = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 42)) {
          auto str = _internal_mutable_clientmsgid();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageSendRequest.clientMsgId"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // map<string, string> payload = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(&payload_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<50>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageSendRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageSendRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::sessionkey(this), target, stream);
  }

  // string msgType = 3;
  if (!this->_internal_msgtype().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_msgtype().data(), static_cast<int>(this->_internal_msgtype().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageSendRequest.msgType");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_msgtype(), target);
  }

  // string content = 4;
  if (!this->_internal_content().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_content().data(), static_cast<int>(this->_internal_content().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageSendRequest.content");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_content(), target);
  }

  // string clientMsgId = 5;
  if (!this->_internal_clientmsgid().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_clientmsgid().data(), static_cast<int>(this->_internal_clientmsgid().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageSendRequest.clientMsgId");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_clientmsgid(), target);
  }

  // map<string, string> payload = 6;
  if (!this->_internal_payload().empty()) {
    typedef ::herogoogle::protobuf::Map< std::string, std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::herogoogle::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        (void)p;
        ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
          "heroim.client.v3beta.dto.message.MessageSendRequest.PayloadEntry.key");
        ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
          "heroim.client.v3beta.dto.message.MessageSendRequest.PayloadEntry.value");
      }
    };

    if (stream->IsSerializationDeterministic() &&
        this->_internal_payload().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->_internal_payload().size()]);
      typedef ::herogoogle::protobuf::Map< std::string, std::string >::size_type size_type;
      size_type n = 0;
      for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
          it = this->_internal_payload().begin();
          it != this->_internal_payload().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      for (size_type i = 0; i < n; i++) {
        target = MessageSendRequest_PayloadEntry_DoNotUse::Funcs::InternalSerialize(6, items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second, target, stream);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
          it = this->_internal_payload().begin();
          it != this->_internal_payload().end(); ++it) {
        target = MessageSendRequest_PayloadEntry_DoNotUse::Funcs::InternalSerialize(6, it->first, it->second, target, stream);
        Utf8Check::Check(&(*it));
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageSendRequest)
  return target;
}

size_t MessageSendRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageSendRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, string> payload = 6;
  total_size += 1 *
      ::herogoogle::protobuf::internal::FromIntSize(this->_internal_payload_size());
  for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
      it = this->_internal_payload().begin();
      it != this->_internal_payload().end(); ++it) {
    total_size += MessageSendRequest_PayloadEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // string msgType = 3;
  if (!this->_internal_msgtype().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_msgtype());
  }

  // string content = 4;
  if (!this->_internal_content().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_content());
  }

  // string clientMsgId = 5;
  if (!this->_internal_clientmsgid().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_clientmsgid());
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *sessionkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageSendRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageSendRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageSendRequest::GetClassData() const { return &_class_data_; }

void MessageSendRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageSendRequest *>(to)->MergeFrom(
      static_cast<const MessageSendRequest &>(from));
}


void MessageSendRequest::MergeFrom(const MessageSendRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageSendRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  payload_.MergeFrom(from.payload_);
  if (!from._internal_msgtype().empty()) {
    _internal_set_msgtype(from._internal_msgtype());
  }
  if (!from._internal_content().empty()) {
    _internal_set_content(from._internal_content());
  }
  if (!from._internal_clientmsgid().empty()) {
    _internal_set_clientmsgid(from._internal_clientmsgid());
  }
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_sessionkey()) {
    _internal_mutable_sessionkey()->::heroim::client::v3beta::dto::message::model::SessionKey::MergeFrom(from._internal_sessionkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageSendRequest::CopyFrom(const MessageSendRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageSendRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageSendRequest::InternalSwap(MessageSendRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  payload_.InternalSwap(&other->payload_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &msgtype_, lhs_arena,
      &other->msgtype_, rhs_arena
  );
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &content_, lhs_arena,
      &other->content_, rhs_arena
  );
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &clientmsgid_, lhs_arena,
      &other->clientmsgid_, rhs_arena
  );
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MessageSendRequest, sessionkey_)
      + sizeof(MessageSendRequest::sessionkey_)
      - PROTOBUF_FIELD_OFFSET(MessageSendRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata MessageSendRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[1]);
}

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

class MessageSendResponse::_Internal {
 public:
};

MessageSendResponse::MessageSendResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageSendResponse)
}
MessageSendResponse::MessageSendResponse(const MessageSendResponse& from)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageSendResponse)
}





const ::herogoogle::protobuf::Message::ClassData MessageSendResponse::_class_data_ = {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl,
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl,
};
const ::herogoogle::protobuf::Message::ClassData*MessageSendResponse::GetClassData() const { return &_class_data_; }







::herogoogle::protobuf::Metadata MessageSendResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[2]);
}

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

class MessageHistoryRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const MessageHistoryRequest* msg);
  static const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey(const MessageHistoryRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
MessageHistoryRequest::_Internal::base(const MessageHistoryRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::message::model::SessionKey&
MessageHistoryRequest::_Internal::sessionkey(const MessageHistoryRequest* msg) {
  return *msg->sessionkey_;
}
void MessageHistoryRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void MessageHistoryRequest::clear_sessionkey() {
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
}
MessageHistoryRequest::MessageHistoryRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageHistoryRequest)
}
MessageHistoryRequest::MessageHistoryRequest(const MessageHistoryRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  lastmsgid_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_lastmsgid().empty()) {
    lastmsgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_lastmsgid(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_sessionkey()) {
    sessionkey_ = new ::heroim::client::v3beta::dto::message::model::SessionKey(*from.sessionkey_);
  } else {
    sessionkey_ = nullptr;
  }
  ::memcpy(&size_, &from.size_,
    static_cast<size_t>(reinterpret_cast<char*>(&direction_) -
    reinterpret_cast<char*>(&size_)) + sizeof(direction_));
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageHistoryRequest)
}

void MessageHistoryRequest::SharedCtor() {
lastmsgid_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&direction_) -
    reinterpret_cast<char*>(&base_)) + sizeof(direction_));
}

MessageHistoryRequest::~MessageHistoryRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageHistoryRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageHistoryRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  lastmsgid_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete sessionkey_;
}

void MessageHistoryRequest::ArenaDtor(void* object) {
  MessageHistoryRequest* _this = reinterpret_cast< MessageHistoryRequest* >(object);
  (void)_this;
}
void MessageHistoryRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageHistoryRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageHistoryRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageHistoryRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  lastmsgid_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
  ::memset(&size_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&direction_) -
      reinterpret_cast<char*>(&size_)) + sizeof(direction_));
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageHistoryRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_sessionkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 size = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 24)) {
          size_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string lastMsgId = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 34)) {
          auto str = _internal_mutable_lastmsgid();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageHistoryRequest.lastMsgId"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.message.QueryDirection direction = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 40)) {
          ::herogoogle::protobuf::uint64 val = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_direction(static_cast<::heroim::client::v3beta::dto::message::QueryDirection>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageHistoryRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageHistoryRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::sessionkey(this), target, stream);
  }

  // int32 size = 3;
  if (this->_internal_size() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_size(), target);
  }

  // string lastMsgId = 4;
  if (!this->_internal_lastmsgid().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_lastmsgid().data(), static_cast<int>(this->_internal_lastmsgid().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageHistoryRequest.lastMsgId");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_lastmsgid(), target);
  }

  // .heroim.client.v3beta.dto.message.QueryDirection direction = 5;
  if (this->_internal_direction() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteEnumToArray(
      5, this->_internal_direction(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageHistoryRequest)
  return target;
}

size_t MessageHistoryRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageHistoryRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string lastMsgId = 4;
  if (!this->_internal_lastmsgid().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_lastmsgid());
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *sessionkey_);
  }

  // int32 size = 3;
  if (this->_internal_size() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int32SizePlusOne(this->_internal_size());
  }

  // .heroim.client.v3beta.dto.message.QueryDirection direction = 5;
  if (this->_internal_direction() != 0) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::EnumSize(this->_internal_direction());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageHistoryRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageHistoryRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageHistoryRequest::GetClassData() const { return &_class_data_; }

void MessageHistoryRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageHistoryRequest *>(to)->MergeFrom(
      static_cast<const MessageHistoryRequest &>(from));
}


void MessageHistoryRequest::MergeFrom(const MessageHistoryRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageHistoryRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_lastmsgid().empty()) {
    _internal_set_lastmsgid(from._internal_lastmsgid());
  }
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_sessionkey()) {
    _internal_mutable_sessionkey()->::heroim::client::v3beta::dto::message::model::SessionKey::MergeFrom(from._internal_sessionkey());
  }
  if (from._internal_size() != 0) {
    _internal_set_size(from._internal_size());
  }
  if (from._internal_direction() != 0) {
    _internal_set_direction(from._internal_direction());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageHistoryRequest::CopyFrom(const MessageHistoryRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageHistoryRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageHistoryRequest::InternalSwap(MessageHistoryRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &lastmsgid_, lhs_arena,
      &other->lastmsgid_, rhs_arena
  );
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MessageHistoryRequest, direction_)
      + sizeof(MessageHistoryRequest::direction_)
      - PROTOBUF_FIELD_OFFSET(MessageHistoryRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata MessageHistoryRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[3]);
}

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

class MessageHistoryResponse::_Internal {
 public:
};

void MessageHistoryResponse::clear_list() {
  list_.Clear();
}
MessageHistoryResponse::MessageHistoryResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageHistoryResponse)
}
MessageHistoryResponse::MessageHistoryResponse(const MessageHistoryResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  readseq_ = from.readseq_;
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageHistoryResponse)
}

void MessageHistoryResponse::SharedCtor() {
readseq_ = int64_t{0};
}

MessageHistoryResponse::~MessageHistoryResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageHistoryResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageHistoryResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void MessageHistoryResponse::ArenaDtor(void* object) {
  MessageHistoryResponse* _this = reinterpret_cast< MessageHistoryResponse* >(object);
  (void)_this;
}
void MessageHistoryResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageHistoryResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageHistoryResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageHistoryResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  readseq_ = int64_t{0};
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageHistoryResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      // int64 readSeq = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 16)) {
          readseq_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageHistoryResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageHistoryResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  // int64 readSeq = 2;
  if (this->_internal_readseq() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_readseq(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageHistoryResponse)
  return target;
}

size_t MessageHistoryResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageHistoryResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  // int64 readSeq = 2;
  if (this->_internal_readseq() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int64SizePlusOne(this->_internal_readseq());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageHistoryResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageHistoryResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageHistoryResponse::GetClassData() const { return &_class_data_; }

void MessageHistoryResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageHistoryResponse *>(to)->MergeFrom(
      static_cast<const MessageHistoryResponse &>(from));
}


void MessageHistoryResponse::MergeFrom(const MessageHistoryResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageHistoryResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  if (from._internal_readseq() != 0) {
    _internal_set_readseq(from._internal_readseq());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageHistoryResponse::CopyFrom(const MessageHistoryResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageHistoryResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageHistoryResponse::InternalSwap(MessageHistoryResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
  swap(readseq_, other->readseq_);
}

::herogoogle::protobuf::Metadata MessageHistoryResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[4]);
}

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

class MessageTranslateRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const MessageTranslateRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
MessageTranslateRequest::_Internal::base(const MessageTranslateRequest* msg) {
  return *msg->base_;
}
void MessageTranslateRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
MessageTranslateRequest::MessageTranslateRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageTranslateRequest)
}
MessageTranslateRequest::MessageTranslateRequest(const MessageTranslateRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  content_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_content().empty()) {
    content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_content(), 
      GetArenaForAllocation());
  }
  sourcelanguage_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_sourcelanguage().empty()) {
    sourcelanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_sourcelanguage(), 
      GetArenaForAllocation());
  }
  targetlanguage_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_targetlanguage().empty()) {
    targetlanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_targetlanguage(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageTranslateRequest)
}

void MessageTranslateRequest::SharedCtor() {
content_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
sourcelanguage_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
targetlanguage_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
base_ = nullptr;
}

MessageTranslateRequest::~MessageTranslateRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageTranslateRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageTranslateRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  content_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  sourcelanguage_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  targetlanguage_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_;
}

void MessageTranslateRequest::ArenaDtor(void* object) {
  MessageTranslateRequest* _this = reinterpret_cast< MessageTranslateRequest* >(object);
  (void)_this;
}
void MessageTranslateRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageTranslateRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageTranslateRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageTranslateRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  content_.ClearToEmpty();
  sourcelanguage_.ClearToEmpty();
  targetlanguage_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageTranslateRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string content = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          auto str = _internal_mutable_content();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageTranslateRequest.content"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string sourceLanguage = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          auto str = _internal_mutable_sourcelanguage();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageTranslateRequest.sourceLanguage"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string targetLanguage = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 34)) {
          auto str = _internal_mutable_targetlanguage();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageTranslateRequest.targetLanguage"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageTranslateRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageTranslateRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // string content = 2;
  if (!this->_internal_content().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_content().data(), static_cast<int>(this->_internal_content().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageTranslateRequest.content");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_content(), target);
  }

  // string sourceLanguage = 3;
  if (!this->_internal_sourcelanguage().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sourcelanguage().data(), static_cast<int>(this->_internal_sourcelanguage().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageTranslateRequest.sourceLanguage");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_sourcelanguage(), target);
  }

  // string targetLanguage = 4;
  if (!this->_internal_targetlanguage().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_targetlanguage().data(), static_cast<int>(this->_internal_targetlanguage().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageTranslateRequest.targetLanguage");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_targetlanguage(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageTranslateRequest)
  return target;
}

size_t MessageTranslateRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageTranslateRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string content = 2;
  if (!this->_internal_content().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_content());
  }

  // string sourceLanguage = 3;
  if (!this->_internal_sourcelanguage().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_sourcelanguage());
  }

  // string targetLanguage = 4;
  if (!this->_internal_targetlanguage().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_targetlanguage());
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageTranslateRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageTranslateRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageTranslateRequest::GetClassData() const { return &_class_data_; }

void MessageTranslateRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageTranslateRequest *>(to)->MergeFrom(
      static_cast<const MessageTranslateRequest &>(from));
}


void MessageTranslateRequest::MergeFrom(const MessageTranslateRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageTranslateRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_content().empty()) {
    _internal_set_content(from._internal_content());
  }
  if (!from._internal_sourcelanguage().empty()) {
    _internal_set_sourcelanguage(from._internal_sourcelanguage());
  }
  if (!from._internal_targetlanguage().empty()) {
    _internal_set_targetlanguage(from._internal_targetlanguage());
  }
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageTranslateRequest::CopyFrom(const MessageTranslateRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageTranslateRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageTranslateRequest::InternalSwap(MessageTranslateRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &content_, lhs_arena,
      &other->content_, rhs_arena
  );
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &sourcelanguage_, lhs_arena,
      &other->sourcelanguage_, rhs_arena
  );
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &targetlanguage_, lhs_arena,
      &other->targetlanguage_, rhs_arena
  );
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata MessageTranslateRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[5]);
}

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

class MessageTranslateResponse::_Internal {
 public:
};

MessageTranslateResponse::MessageTranslateResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageTranslateResponse)
}
MessageTranslateResponse::MessageTranslateResponse(const MessageTranslateResponse& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  content_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_content().empty()) {
    content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_content(), 
      GetArenaForAllocation());
  }
  sourcelanguage_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_sourcelanguage().empty()) {
    sourcelanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_sourcelanguage(), 
      GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageTranslateResponse)
}

void MessageTranslateResponse::SharedCtor() {
content_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
sourcelanguage_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
}

MessageTranslateResponse::~MessageTranslateResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageTranslateResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageTranslateResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  content_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  sourcelanguage_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
}

void MessageTranslateResponse::ArenaDtor(void* object) {
  MessageTranslateResponse* _this = reinterpret_cast< MessageTranslateResponse* >(object);
  (void)_this;
}
void MessageTranslateResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageTranslateResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageTranslateResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageTranslateResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  content_.ClearToEmpty();
  sourcelanguage_.ClearToEmpty();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageTranslateResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string content = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          auto str = _internal_mutable_content();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageTranslateResponse.content"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string sourceLanguage = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          auto str = _internal_mutable_sourcelanguage();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageTranslateResponse.sourceLanguage"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageTranslateResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageTranslateResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string content = 1;
  if (!this->_internal_content().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_content().data(), static_cast<int>(this->_internal_content().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageTranslateResponse.content");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_content(), target);
  }

  // string sourceLanguage = 2;
  if (!this->_internal_sourcelanguage().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sourcelanguage().data(), static_cast<int>(this->_internal_sourcelanguage().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageTranslateResponse.sourceLanguage");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_sourcelanguage(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageTranslateResponse)
  return target;
}

size_t MessageTranslateResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageTranslateResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string content = 1;
  if (!this->_internal_content().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_content());
  }

  // string sourceLanguage = 2;
  if (!this->_internal_sourcelanguage().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_sourcelanguage());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageTranslateResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageTranslateResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageTranslateResponse::GetClassData() const { return &_class_data_; }

void MessageTranslateResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageTranslateResponse *>(to)->MergeFrom(
      static_cast<const MessageTranslateResponse &>(from));
}


void MessageTranslateResponse::MergeFrom(const MessageTranslateResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageTranslateResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_content().empty()) {
    _internal_set_content(from._internal_content());
  }
  if (!from._internal_sourcelanguage().empty()) {
    _internal_set_sourcelanguage(from._internal_sourcelanguage());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageTranslateResponse::CopyFrom(const MessageTranslateResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageTranslateResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageTranslateResponse::InternalSwap(MessageTranslateResponse* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &content_, lhs_arena,
      &other->content_, rhs_arena
  );
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &sourcelanguage_, lhs_arena,
      &other->sourcelanguage_, rhs_arena
  );
}

::herogoogle::protobuf::Metadata MessageTranslateResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[6]);
}

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

class MessageNewRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const MessageNewRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
MessageNewRequest::_Internal::base(const MessageNewRequest* msg) {
  return *msg->base_;
}
void MessageNewRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
MessageNewRequest::MessageNewRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageNewRequest)
}
MessageNewRequest::MessageNewRequest(const MessageNewRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  ::memcpy(&size_, &from.size_,
    static_cast<size_t>(reinterpret_cast<char*>(&querytype_) -
    reinterpret_cast<char*>(&size_)) + sizeof(querytype_));
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageNewRequest)
}

void MessageNewRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&querytype_) -
    reinterpret_cast<char*>(&base_)) + sizeof(querytype_));
}

MessageNewRequest::~MessageNewRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageNewRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageNewRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void MessageNewRequest::ArenaDtor(void* object) {
  MessageNewRequest* _this = reinterpret_cast< MessageNewRequest* >(object);
  (void)_this;
}
void MessageNewRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageNewRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageNewRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageNewRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  ::memset(&size_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&querytype_) -
      reinterpret_cast<char*>(&size_)) + sizeof(querytype_));
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageNewRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 size = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 16)) {
          size_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.message.MessageNewRequest.QueryType queryType = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 24)) {
          ::herogoogle::protobuf::uint64 val = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_querytype(static_cast<::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageNewRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageNewRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // int32 size = 2;
  if (this->_internal_size() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_size(), target);
  }

  // .heroim.client.v3beta.dto.message.MessageNewRequest.QueryType queryType = 3;
  if (this->_internal_querytype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_querytype(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageNewRequest)
  return target;
}

size_t MessageNewRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageNewRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // int32 size = 2;
  if (this->_internal_size() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int32SizePlusOne(this->_internal_size());
  }

  // .heroim.client.v3beta.dto.message.MessageNewRequest.QueryType queryType = 3;
  if (this->_internal_querytype() != 0) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::EnumSize(this->_internal_querytype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageNewRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageNewRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageNewRequest::GetClassData() const { return &_class_data_; }

void MessageNewRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageNewRequest *>(to)->MergeFrom(
      static_cast<const MessageNewRequest &>(from));
}


void MessageNewRequest::MergeFrom(const MessageNewRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageNewRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_size() != 0) {
    _internal_set_size(from._internal_size());
  }
  if (from._internal_querytype() != 0) {
    _internal_set_querytype(from._internal_querytype());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageNewRequest::CopyFrom(const MessageNewRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageNewRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageNewRequest::InternalSwap(MessageNewRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MessageNewRequest, querytype_)
      + sizeof(MessageNewRequest::querytype_)
      - PROTOBUF_FIELD_OFFSET(MessageNewRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata MessageNewRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[7]);
}

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

class MessageNewResponse::_Internal {
 public:
};

void MessageNewResponse::clear_list() {
  list_.Clear();
}
MessageNewResponse::MessageNewResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageNewResponse)
}
MessageNewResponse::MessageNewResponse(const MessageNewResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  more_ = from.more_;
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageNewResponse)
}

void MessageNewResponse::SharedCtor() {
more_ = false;
}

MessageNewResponse::~MessageNewResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageNewResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageNewResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void MessageNewResponse::ArenaDtor(void* object) {
  MessageNewResponse* _this = reinterpret_cast< MessageNewResponse* >(object);
  (void)_this;
}
void MessageNewResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageNewResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageNewResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageNewResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  more_ = false;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageNewResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool more = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 16)) {
          more_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageNewResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageNewResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  // bool more = 2;
  if (this->_internal_more() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_more(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageNewResponse)
  return target;
}

size_t MessageNewResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageNewResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  // bool more = 2;
  if (this->_internal_more() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageNewResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageNewResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageNewResponse::GetClassData() const { return &_class_data_; }

void MessageNewResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageNewResponse *>(to)->MergeFrom(
      static_cast<const MessageNewResponse &>(from));
}


void MessageNewResponse::MergeFrom(const MessageNewResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageNewResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  if (from._internal_more() != 0) {
    _internal_set_more(from._internal_more());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageNewResponse::CopyFrom(const MessageNewResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageNewResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageNewResponse::InternalSwap(MessageNewResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
  swap(more_, other->more_);
}

::herogoogle::protobuf::Metadata MessageNewResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[8]);
}

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

class MessageRevokeRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const MessageRevokeRequest* msg);
  static const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey(const MessageRevokeRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
MessageRevokeRequest::_Internal::base(const MessageRevokeRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::message::model::SessionKey&
MessageRevokeRequest::_Internal::sessionkey(const MessageRevokeRequest* msg) {
  return *msg->sessionkey_;
}
void MessageRevokeRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void MessageRevokeRequest::clear_sessionkey() {
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
}
MessageRevokeRequest::MessageRevokeRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageRevokeRequest)
}
MessageRevokeRequest::MessageRevokeRequest(const MessageRevokeRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  msgid_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_msgid().empty()) {
    msgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_msgid(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_sessionkey()) {
    sessionkey_ = new ::heroim::client::v3beta::dto::message::model::SessionKey(*from.sessionkey_);
  } else {
    sessionkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageRevokeRequest)
}

void MessageRevokeRequest::SharedCtor() {
msgid_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&sessionkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(sessionkey_));
}

MessageRevokeRequest::~MessageRevokeRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageRevokeRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageRevokeRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  msgid_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete sessionkey_;
}

void MessageRevokeRequest::ArenaDtor(void* object) {
  MessageRevokeRequest* _this = reinterpret_cast< MessageRevokeRequest* >(object);
  (void)_this;
}
void MessageRevokeRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageRevokeRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageRevokeRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageRevokeRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  msgid_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageRevokeRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_sessionkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string msgId = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          auto str = _internal_mutable_msgid();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageRevokeRequest.msgId"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageRevokeRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageRevokeRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::sessionkey(this), target, stream);
  }

  // string msgId = 3;
  if (!this->_internal_msgid().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_msgid().data(), static_cast<int>(this->_internal_msgid().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageRevokeRequest.msgId");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_msgid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageRevokeRequest)
  return target;
}

size_t MessageRevokeRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageRevokeRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string msgId = 3;
  if (!this->_internal_msgid().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_msgid());
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *sessionkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageRevokeRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageRevokeRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageRevokeRequest::GetClassData() const { return &_class_data_; }

void MessageRevokeRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageRevokeRequest *>(to)->MergeFrom(
      static_cast<const MessageRevokeRequest &>(from));
}


void MessageRevokeRequest::MergeFrom(const MessageRevokeRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageRevokeRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_msgid().empty()) {
    _internal_set_msgid(from._internal_msgid());
  }
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_sessionkey()) {
    _internal_mutable_sessionkey()->::heroim::client::v3beta::dto::message::model::SessionKey::MergeFrom(from._internal_sessionkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageRevokeRequest::CopyFrom(const MessageRevokeRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageRevokeRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageRevokeRequest::InternalSwap(MessageRevokeRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &msgid_, lhs_arena,
      &other->msgid_, rhs_arena
  );
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MessageRevokeRequest, sessionkey_)
      + sizeof(MessageRevokeRequest::sessionkey_)
      - PROTOBUF_FIELD_OFFSET(MessageRevokeRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata MessageRevokeRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[9]);
}

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

class MessageRevokeResponse::_Internal {
 public:
};

MessageRevokeResponse::MessageRevokeResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageRevokeResponse)
}
MessageRevokeResponse::MessageRevokeResponse(const MessageRevokeResponse& from)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageRevokeResponse)
}





const ::herogoogle::protobuf::Message::ClassData MessageRevokeResponse::_class_data_ = {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl,
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl,
};
const ::herogoogle::protobuf::Message::ClassData*MessageRevokeResponse::GetClassData() const { return &_class_data_; }







::herogoogle::protobuf::Metadata MessageRevokeResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[10]);
}

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

class MessageDeleteRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const MessageDeleteRequest* msg);
  static const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey(const MessageDeleteRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
MessageDeleteRequest::_Internal::base(const MessageDeleteRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::message::model::SessionKey&
MessageDeleteRequest::_Internal::sessionkey(const MessageDeleteRequest* msg) {
  return *msg->sessionkey_;
}
void MessageDeleteRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void MessageDeleteRequest::clear_sessionkey() {
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
}
MessageDeleteRequest::MessageDeleteRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  msgids_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageDeleteRequest)
}
MessageDeleteRequest::MessageDeleteRequest(const MessageDeleteRequest& from)
  : ::herogoogle::protobuf::Message(),
      msgids_(from.msgids_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_sessionkey()) {
    sessionkey_ = new ::heroim::client::v3beta::dto::message::model::SessionKey(*from.sessionkey_);
  } else {
    sessionkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageDeleteRequest)
}

void MessageDeleteRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&sessionkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(sessionkey_));
}

MessageDeleteRequest::~MessageDeleteRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageDeleteRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageDeleteRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete sessionkey_;
}

void MessageDeleteRequest::ArenaDtor(void* object) {
  MessageDeleteRequest* _this = reinterpret_cast< MessageDeleteRequest* >(object);
  (void)_this;
}
void MessageDeleteRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageDeleteRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageDeleteRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageDeleteRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  msgids_.Clear();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageDeleteRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_sessionkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated string msgIds = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_msgids();
            ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds"));
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageDeleteRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageDeleteRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::sessionkey(this), target, stream);
  }

  // repeated string msgIds = 3;
  for (int i = 0, n = this->_internal_msgids_size(); i < n; i++) {
    const auto& s = this->_internal_msgids(i);
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds");
    target = stream->WriteString(3, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageDeleteRequest)
  return target;
}

size_t MessageDeleteRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageDeleteRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string msgIds = 3;
  total_size += 1 *
      ::herogoogle::protobuf::internal::FromIntSize(msgids_.size());
  for (int i = 0, n = msgids_.size(); i < n; i++) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
      msgids_.Get(i));
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *sessionkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageDeleteRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageDeleteRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageDeleteRequest::GetClassData() const { return &_class_data_; }

void MessageDeleteRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageDeleteRequest *>(to)->MergeFrom(
      static_cast<const MessageDeleteRequest &>(from));
}


void MessageDeleteRequest::MergeFrom(const MessageDeleteRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageDeleteRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  msgids_.MergeFrom(from.msgids_);
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_sessionkey()) {
    _internal_mutable_sessionkey()->::heroim::client::v3beta::dto::message::model::SessionKey::MergeFrom(from._internal_sessionkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageDeleteRequest::CopyFrom(const MessageDeleteRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageDeleteRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageDeleteRequest::InternalSwap(MessageDeleteRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  msgids_.InternalSwap(&other->msgids_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MessageDeleteRequest, sessionkey_)
      + sizeof(MessageDeleteRequest::sessionkey_)
      - PROTOBUF_FIELD_OFFSET(MessageDeleteRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata MessageDeleteRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[11]);
}

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

class MessageDeleteResponse::_Internal {
 public:
};

MessageDeleteResponse::MessageDeleteResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageDeleteResponse)
}
MessageDeleteResponse::MessageDeleteResponse(const MessageDeleteResponse& from)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageDeleteResponse)
}





const ::herogoogle::protobuf::Message::ClassData MessageDeleteResponse::_class_data_ = {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl,
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl,
};
const ::herogoogle::protobuf::Message::ClassData*MessageDeleteResponse::GetClassData() const { return &_class_data_; }







::herogoogle::protobuf::Metadata MessageDeleteResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[12]);
}

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

class MessageCleanupRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const MessageCleanupRequest* msg);
  static const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey(const MessageCleanupRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
MessageCleanupRequest::_Internal::base(const MessageCleanupRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::message::model::SessionKey&
MessageCleanupRequest::_Internal::sessionkey(const MessageCleanupRequest* msg) {
  return *msg->sessionkey_;
}
void MessageCleanupRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void MessageCleanupRequest::clear_sessionkey() {
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
}
MessageCleanupRequest::MessageCleanupRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageCleanupRequest)
}
MessageCleanupRequest::MessageCleanupRequest(const MessageCleanupRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_sessionkey()) {
    sessionkey_ = new ::heroim::client::v3beta::dto::message::model::SessionKey(*from.sessionkey_);
  } else {
    sessionkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageCleanupRequest)
}

void MessageCleanupRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&sessionkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(sessionkey_));
}

MessageCleanupRequest::~MessageCleanupRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.message.MessageCleanupRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void MessageCleanupRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete sessionkey_;
}

void MessageCleanupRequest::ArenaDtor(void* object) {
  MessageCleanupRequest* _this = reinterpret_cast< MessageCleanupRequest* >(object);
  (void)_this;
}
void MessageCleanupRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void MessageCleanupRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void MessageCleanupRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.message.MessageCleanupRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && sessionkey_ != nullptr) {
    delete sessionkey_;
  }
  sessionkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* MessageCleanupRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_sessionkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* MessageCleanupRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.message.MessageCleanupRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::sessionkey(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.message.MessageCleanupRequest)
  return target;
}

size_t MessageCleanupRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.message.MessageCleanupRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  if (this->_internal_has_sessionkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *sessionkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData MessageCleanupRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    MessageCleanupRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*MessageCleanupRequest::GetClassData() const { return &_class_data_; }

void MessageCleanupRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<MessageCleanupRequest *>(to)->MergeFrom(
      static_cast<const MessageCleanupRequest &>(from));
}


void MessageCleanupRequest::MergeFrom(const MessageCleanupRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.message.MessageCleanupRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_sessionkey()) {
    _internal_mutable_sessionkey()->::heroim::client::v3beta::dto::message::model::SessionKey::MergeFrom(from._internal_sessionkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MessageCleanupRequest::CopyFrom(const MessageCleanupRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.message.MessageCleanupRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void MessageCleanupRequest::InternalSwap(MessageCleanupRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MessageCleanupRequest, sessionkey_)
      + sizeof(MessageCleanupRequest::sessionkey_)
      - PROTOBUF_FIELD_OFFSET(MessageCleanupRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata MessageCleanupRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[13]);
}

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

class MessageCleanupResponse::_Internal {
 public:
};

MessageCleanupResponse::MessageCleanupResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.message.MessageCleanupResponse)
}
MessageCleanupResponse::MessageCleanupResponse(const MessageCleanupResponse& from)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.message.MessageCleanupResponse)
}





const ::herogoogle::protobuf::Message::ClassData MessageCleanupResponse::_class_data_ = {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl,
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl,
};
const ::herogoogle::protobuf::Message::ClassData*MessageCleanupResponse::GetClassData() const { return &_class_data_; }







::herogoogle::protobuf::Metadata MessageCleanupResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto[14]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace message
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageSendRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageSendRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageSendRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageSendResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageSendResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageSendResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageHistoryRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageHistoryRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageHistoryRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageHistoryResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageHistoryResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageHistoryResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageTranslateRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageTranslateRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageTranslateRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageTranslateResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageTranslateResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageTranslateResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageNewRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageNewRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageNewRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageNewResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageNewResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageNewResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageRevokeRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageRevokeRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageRevokeRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageRevokeResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageRevokeResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageRevokeResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageDeleteRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageDeleteRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageDeleteRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageDeleteResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageDeleteResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageDeleteResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageCleanupRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageCleanupRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageCleanupRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::message::MessageCleanupResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::message::MessageCleanupResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::message::MessageCleanupResponse >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

