// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: components/sync/protocol/unencrypted_sharing_message.proto
// Protobuf C++ Version: 7.35.1

#include "components/sync/protocol/unencrypted_sharing_message.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/internal_visibility.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace sync_pb {
class SendTabToSelfPush_Image::_Internal {
 public:
  using HasBits = decltype(::std::declval<SendTabToSelfPush_Image>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SendTabToSelfPush_Image, _impl_._has_bits_);
};

constexpr SendTabToSelfPush_Image::ParseTableT_ SendTabToSelfPush_Image::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SendTabToSelfPush_Image, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::sync_pb::SendTabToSelfPush_Image>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string alt_text = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush_Image, _impl_.alt_text_)}},
      // optional string url = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush_Image, _impl_.url_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string url = 1;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush_Image, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string alt_text = 2;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush_Image, _impl_.alt_text_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SendTabToSelfPush_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        alt_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr SendTabToSelfPush_Image::SendTabToSelfPush_Image(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SendTabToSelfPush_Image::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SendTabToSelfPush_Image(arena);
}
constexpr auto SendTabToSelfPush_Image::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SendTabToSelfPush_Image), alignof(SendTabToSelfPush_Image));
}
constexpr auto SendTabToSelfPush_Image::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SendTabToSelfPush_Image::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SendTabToSelfPush_Image>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SendTabToSelfPush_Image::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SendTabToSelfPush_Image>(), &SendTabToSelfPush_Image::ByteSizeLong,
              &SendTabToSelfPush_Image::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SendTabToSelfPush_Image, _impl_._cached_size_),
          true,
      },
      "sync_pb.SendTabToSelfPush.Image",
  };
}
struct SendTabToSelfPush_ImageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SendTabToSelfPush_ImageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SendTabToSelfPush_Image_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SendTabToSelfPush_Image::InternalGenerateClassData_(
            _default, &SendTabToSelfPush_Image_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SendTabToSelfPush_Image>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SendTabToSelfPush_ImageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SendTabToSelfPush_Image _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SendTabToSelfPush_Image>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SendTabToSelfPush_ImageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SendTabToSelfPush_ImageGlobalsTypeInternal SendTabToSelfPush_Image_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SendTabToSelfPush_Image_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SendTabToSelfPush_Image_globals_.GetClassData();
#else
  return SendTabToSelfPush_Image_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PushNotificationMessage_Image::_Internal {
 public:
  using HasBits = decltype(::std::declval<PushNotificationMessage_Image>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PushNotificationMessage_Image, _impl_._has_bits_);
};

constexpr PushNotificationMessage_Image::ParseTableT_ PushNotificationMessage_Image::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PushNotificationMessage_Image, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::sync_pb::PushNotificationMessage_Image>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string alt_text = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage_Image, _impl_.alt_text_)}},
      // optional string url = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage_Image, _impl_.url_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string url = 1;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage_Image, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string alt_text = 2;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage_Image, _impl_.alt_text_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PushNotificationMessage_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        alt_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr PushNotificationMessage_Image::PushNotificationMessage_Image(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PushNotificationMessage_Image::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PushNotificationMessage_Image(arena);
}
constexpr auto PushNotificationMessage_Image::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PushNotificationMessage_Image), alignof(PushNotificationMessage_Image));
}
constexpr auto PushNotificationMessage_Image::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PushNotificationMessage_Image::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PushNotificationMessage_Image>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PushNotificationMessage_Image::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PushNotificationMessage_Image>(), &PushNotificationMessage_Image::ByteSizeLong,
              &PushNotificationMessage_Image::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PushNotificationMessage_Image, _impl_._cached_size_),
          true,
      },
      "sync_pb.PushNotificationMessage.Image",
  };
}
struct PushNotificationMessage_ImageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PushNotificationMessage_ImageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PushNotificationMessage_Image_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PushNotificationMessage_Image::InternalGenerateClassData_(
            _default, &PushNotificationMessage_Image_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PushNotificationMessage_Image>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PushNotificationMessage_ImageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PushNotificationMessage_Image _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PushNotificationMessage_Image>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PushNotificationMessage_ImageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PushNotificationMessage_ImageGlobalsTypeInternal PushNotificationMessage_Image_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PushNotificationMessage_Image_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PushNotificationMessage_Image_globals_.GetClassData();
#else
  return PushNotificationMessage_Image_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SendTabToSelfPush::_Internal {
 public:
  using HasBits = decltype(::std::declval<SendTabToSelfPush>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_._has_bits_);
};

constexpr SendTabToSelfPush::ParseTableT_ SendTabToSelfPush::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::sync_pb::SendTabToSelfPush>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string entry_unique_guid = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 6, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.entry_unique_guid_)}},
      // optional string title = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.title_)}},
      // optional string text = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.text_)}},
      // repeated .sync_pb.SendTabToSelfPush.Image icon = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.icon_)}},
      // optional .sync_pb.SendTabToSelfPush.Image favicon = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 7, 1,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.favicon_)}},
      // optional string destination_url = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.destination_url_)}},
      // optional string placeholder_title = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.placeholder_title_)}},
      // optional string placeholder_body = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 5, 0,
        PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.placeholder_body_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string title = 1;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.title_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string text = 2;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.text_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .sync_pb.SendTabToSelfPush.Image icon = 3;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.icon_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.SendTabToSelfPush.Image favicon = 4;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.favicon_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string destination_url = 5;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.destination_url_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string placeholder_title = 6;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.placeholder_title_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string placeholder_body = 7;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.placeholder_body_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string entry_unique_guid = 8;
      {PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_.entry_unique_guid_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::SendTabToSelfPush_Image>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::SendTabToSelfPush_Image_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::SendTabToSelfPush_Image>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::SendTabToSelfPush_Image_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr SendTabToSelfPush::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        icon_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::SendTabToSelfPush,
            PROTOBUF_FIELD_OFFSET(::sync_pb::SendTabToSelfPush, _impl_.icon_)>()
         }
        ,
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        destination_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        placeholder_title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        placeholder_body_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        entry_unique_guid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        favicon_{nullptr} {}

template <typename>
constexpr SendTabToSelfPush::SendTabToSelfPush(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SendTabToSelfPush::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SendTabToSelfPush(arena);
}
constexpr auto SendTabToSelfPush::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SendTabToSelfPush), alignof(SendTabToSelfPush));
}
constexpr auto SendTabToSelfPush::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SendTabToSelfPush::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SendTabToSelfPush>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SendTabToSelfPush::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SendTabToSelfPush>(), &SendTabToSelfPush::ByteSizeLong,
              &SendTabToSelfPush::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SendTabToSelfPush, _impl_._cached_size_),
          true,
      },
      "sync_pb.SendTabToSelfPush",
  };
}
struct SendTabToSelfPushGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SendTabToSelfPushGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SendTabToSelfPush_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SendTabToSelfPush::InternalGenerateClassData_(
            _default, &SendTabToSelfPush_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SendTabToSelfPush>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SendTabToSelfPushGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SendTabToSelfPush _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SendTabToSelfPush>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SendTabToSelfPushGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SendTabToSelfPushGlobalsTypeInternal SendTabToSelfPush_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SendTabToSelfPush_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SendTabToSelfPush_globals_.GetClassData();
#else
  return SendTabToSelfPush_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PushNotificationMessage::_Internal {
 public:
  using HasBits = decltype(::std::declval<PushNotificationMessage>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_._has_bits_);
};

constexpr PushNotificationMessage::ParseTableT_ PushNotificationMessage::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::sync_pb::PushNotificationMessage>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string push_notification_client_id = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 6, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.push_notification_client_id_)}},
      // optional string title = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.title_)}},
      // optional string text = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.text_)}},
      // repeated .sync_pb.PushNotificationMessage.Image icon = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.icon_)}},
      // optional .sync_pb.PushNotificationMessage.Image favicon = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 7, 1,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.favicon_)}},
      // optional string destination_url = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.destination_url_)}},
      // optional string placeholder_title = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.placeholder_title_)}},
      // optional string placeholder_body = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 5, 0,
        PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.placeholder_body_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string title = 1;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.title_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string text = 2;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.text_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .sync_pb.PushNotificationMessage.Image icon = 3;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.icon_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.PushNotificationMessage.Image favicon = 4;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.favicon_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string destination_url = 5;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.destination_url_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string placeholder_title = 6;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.placeholder_title_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string placeholder_body = 7;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.placeholder_body_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string push_notification_client_id = 8;
      {PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_.push_notification_client_id_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::PushNotificationMessage_Image>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::PushNotificationMessage_Image_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::PushNotificationMessage_Image>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::PushNotificationMessage_Image_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PushNotificationMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        icon_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::PushNotificationMessage,
            PROTOBUF_FIELD_OFFSET(::sync_pb::PushNotificationMessage, _impl_.icon_)>()
         }
        ,
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        destination_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        placeholder_title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        placeholder_body_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        push_notification_client_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        favicon_{nullptr} {}

template <typename>
constexpr PushNotificationMessage::PushNotificationMessage(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PushNotificationMessage::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PushNotificationMessage(arena);
}
constexpr auto PushNotificationMessage::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PushNotificationMessage), alignof(PushNotificationMessage));
}
constexpr auto PushNotificationMessage::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PushNotificationMessage::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PushNotificationMessage>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PushNotificationMessage::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PushNotificationMessage>(), &PushNotificationMessage::ByteSizeLong,
              &PushNotificationMessage::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PushNotificationMessage, _impl_._cached_size_),
          true,
      },
      "sync_pb.PushNotificationMessage",
  };
}
struct PushNotificationMessageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PushNotificationMessageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PushNotificationMessage_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PushNotificationMessage::InternalGenerateClassData_(
            _default, &PushNotificationMessage_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PushNotificationMessage>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PushNotificationMessageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PushNotificationMessage _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PushNotificationMessage>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PushNotificationMessageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PushNotificationMessageGlobalsTypeInternal PushNotificationMessage_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PushNotificationMessage_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PushNotificationMessage_globals_.GetClassData();
#else
  return PushNotificationMessage_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class DesktopToMobilePromoMessage::_Internal {
 public:
  using HasBits = decltype(::std::declval<DesktopToMobilePromoMessage>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_._has_bits_);
};

constexpr DesktopToMobilePromoMessage::ParseTableT_ DesktopToMobilePromoMessage::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::sync_pb::DesktopToMobilePromoMessage>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int32 promo_type = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_.promo_type_)}},
      // optional .sync_pb.PushNotificationMessage push_notification = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_.push_notification_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .sync_pb.PushNotificationMessage push_notification = 1;
      {PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_.push_notification_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional int32 promo_type = 2;
      {PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_.promo_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::PushNotificationMessage>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::PushNotificationMessage_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr DesktopToMobilePromoMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        push_notification_{nullptr},
        promo_type_{0} {}

template <typename>
constexpr DesktopToMobilePromoMessage::DesktopToMobilePromoMessage(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL DesktopToMobilePromoMessage::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DesktopToMobilePromoMessage(arena);
}
constexpr auto DesktopToMobilePromoMessage::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DesktopToMobilePromoMessage), alignof(DesktopToMobilePromoMessage));
}
constexpr auto DesktopToMobilePromoMessage::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &DesktopToMobilePromoMessage::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DesktopToMobilePromoMessage>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DesktopToMobilePromoMessage::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DesktopToMobilePromoMessage>(), &DesktopToMobilePromoMessage::ByteSizeLong,
              &DesktopToMobilePromoMessage::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_._cached_size_),
          true,
      },
      "sync_pb.DesktopToMobilePromoMessage",
  };
}
struct DesktopToMobilePromoMessageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DesktopToMobilePromoMessageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DesktopToMobilePromoMessage_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DesktopToMobilePromoMessage::InternalGenerateClassData_(
            _default, &DesktopToMobilePromoMessage_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DesktopToMobilePromoMessage>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DesktopToMobilePromoMessageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DesktopToMobilePromoMessage _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DesktopToMobilePromoMessage>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST DesktopToMobilePromoMessageGlobalsTypeInternal DesktopToMobilePromoMessage_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* DesktopToMobilePromoMessage_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return DesktopToMobilePromoMessage_globals_.GetClassData();
#else
  return DesktopToMobilePromoMessage_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class UnencryptedSharingMessage::_Internal {
 public:
  using HasBits = decltype(::std::declval<UnencryptedSharingMessage>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::sync_pb::UnencryptedSharingMessage, _impl_._oneof_case_);
};

constexpr UnencryptedSharingMessage::ParseTableT_ UnencryptedSharingMessage::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::sync_pb::UnencryptedSharingMessage>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string sender_guid = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_.sender_guid_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional string sender_device_name = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_.sender_device_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string sender_guid = 1;
      {PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_.sender_guid_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .sync_pb.SendTabToSelfPush send_tab_message = 2;
      {PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_.payload_.send_tab_message_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string sender_device_name = 3;
      {PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_.sender_device_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .sync_pb.DesktopToMobilePromoMessage desktop_to_mobile_promo_message = 4;
      {PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_.payload_.desktop_to_mobile_promo_message_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::SendTabToSelfPush>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::SendTabToSelfPush_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::DesktopToMobilePromoMessage>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::DesktopToMobilePromoMessage_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr UnencryptedSharingMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sender_guid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        sender_device_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        payload_{},
        _oneof_case_{} {}

template <typename>
constexpr UnencryptedSharingMessage::UnencryptedSharingMessage(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL UnencryptedSharingMessage::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) UnencryptedSharingMessage(arena);
}
constexpr auto UnencryptedSharingMessage::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(UnencryptedSharingMessage), alignof(UnencryptedSharingMessage));
}
constexpr auto UnencryptedSharingMessage::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &UnencryptedSharingMessage::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<UnencryptedSharingMessage>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &UnencryptedSharingMessage::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<UnencryptedSharingMessage>(), &UnencryptedSharingMessage::ByteSizeLong,
              &UnencryptedSharingMessage::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessage, _impl_._cached_size_),
          true,
      },
      "sync_pb.UnencryptedSharingMessage",
  };
}
struct UnencryptedSharingMessageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr UnencryptedSharingMessageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 UnencryptedSharingMessage_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(UnencryptedSharingMessage::InternalGenerateClassData_(
            _default, &UnencryptedSharingMessage_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<UnencryptedSharingMessage>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~UnencryptedSharingMessageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) UnencryptedSharingMessage _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<UnencryptedSharingMessage>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(UnencryptedSharingMessageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST UnencryptedSharingMessageGlobalsTypeInternal UnencryptedSharingMessage_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* UnencryptedSharingMessage_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return UnencryptedSharingMessage_globals_.GetClassData();
#else
  return UnencryptedSharingMessage_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace sync_pb
namespace sync_pb {
// ===================================================================

void UnencryptedSharingMessage::set_allocated_send_tab_message(::sync_pb::SendTabToSelfPush* PROTOBUF_NULLABLE send_tab_message) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_payload();
  if (send_tab_message) {
    ::google::protobuf::Arena* submessage_arena = send_tab_message->GetArena();
    if (message_arena != submessage_arena) {
      send_tab_message = ::google::protobuf::internal::GetOwnedMessage(message_arena, send_tab_message, submessage_arena);
    }
    set_has_send_tab_message();
    _impl_.payload_.send_tab_message_ = send_tab_message;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.UnencryptedSharingMessage.send_tab_message)
}
void UnencryptedSharingMessage::set_allocated_desktop_to_mobile_promo_message(::sync_pb::DesktopToMobilePromoMessage* PROTOBUF_NULLABLE desktop_to_mobile_promo_message) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_payload();
  if (desktop_to_mobile_promo_message) {
    ::google::protobuf::Arena* submessage_arena = desktop_to_mobile_promo_message->GetArena();
    if (message_arena != submessage_arena) {
      desktop_to_mobile_promo_message = ::google::protobuf::internal::GetOwnedMessage(message_arena, desktop_to_mobile_promo_message, submessage_arena);
    }
    set_has_desktop_to_mobile_promo_message();
    _impl_.payload_.desktop_to_mobile_promo_message_ = desktop_to_mobile_promo_message;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.UnencryptedSharingMessage.desktop_to_mobile_promo_message)
}
UnencryptedSharingMessage::UnencryptedSharingMessage(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, UnencryptedSharingMessage_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.UnencryptedSharingMessage)
}
PROTOBUF_NDEBUG_INLINE UnencryptedSharingMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::sync_pb::UnencryptedSharingMessage& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        sender_guid_(arena, from.sender_guid_),
        sender_device_name_(arena, from.sender_device_name_),
        payload_{},
        _oneof_case_{from._oneof_case_[0]} {}

UnencryptedSharingMessage::UnencryptedSharingMessage(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const UnencryptedSharingMessage& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, UnencryptedSharingMessage_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  UnencryptedSharingMessage* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (payload_case()) {
    case PAYLOAD_NOT_SET:
      break;
      case kSendTabMessage:
        _impl_.payload_.send_tab_message_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.payload_.send_tab_message_);
        break;
      case kDesktopToMobilePromoMessage:
        _impl_.payload_.desktop_to_mobile_promo_message_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.payload_.desktop_to_mobile_promo_message_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:sync_pb.UnencryptedSharingMessage)
}
PROTOBUF_NDEBUG_INLINE UnencryptedSharingMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        sender_guid_(arena),
        sender_device_name_(arena),
        payload_{},
        _oneof_case_{} {}

inline void UnencryptedSharingMessage::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
UnencryptedSharingMessage::~UnencryptedSharingMessage() {
  // @@protoc_insertion_point(destructor:sync_pb.UnencryptedSharingMessage)
  SharedDtor(*this);
}
inline void UnencryptedSharingMessage::SharedDtor(MessageLite& self) {
  UnencryptedSharingMessage& this_ = static_cast<UnencryptedSharingMessage&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.sender_guid_.Destroy();
  this_._impl_.sender_device_name_.Destroy();
  if (this_.has_payload()) {
    this_.clear_payload();
  }
  this_._impl_.~Impl_();
}

void UnencryptedSharingMessage::clear_payload() {
// @@protoc_insertion_point(one_of_clear_start:sync_pb.UnencryptedSharingMessage)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (payload_case()) {
    case kSendTabMessage: {
      if (GetArena() == nullptr) {
        delete _impl_.payload_.send_tab_message_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.payload_.send_tab_message_ != nullptr) {
          _impl_.payload_.send_tab_message_->Clear();
        }
      }
      break;
    }
    case kDesktopToMobilePromoMessage: {
      if (GetArena() == nullptr) {
        delete _impl_.payload_.desktop_to_mobile_promo_message_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.payload_.desktop_to_mobile_promo_message_ != nullptr) {
          _impl_.payload_.desktop_to_mobile_promo_message_->Clear();
        }
      }
      break;
    }
    case PAYLOAD_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = PAYLOAD_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite UnencryptedSharingMessage_class_data_ =
    UnencryptedSharingMessage::InternalGenerateClassData_(UnencryptedSharingMessage_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
UnencryptedSharingMessage::GetClassData() const {
  return UnencryptedSharingMessage_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
UnencryptedSharingMessage::GetClassData() const {
  return UnencryptedSharingMessage_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const UnencryptedSharingMessage::ParseTableT_
    UnencryptedSharingMessage::_table_ =
        UnencryptedSharingMessage::InternalGenerateParseTable_(UnencryptedSharingMessage_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void UnencryptedSharingMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.UnencryptedSharingMessage)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.sender_guid_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.sender_device_name_.ClearNonDefaultToEmpty();
    }
  }
  clear_payload();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL UnencryptedSharingMessage::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const UnencryptedSharingMessage& this_ = static_cast<const UnencryptedSharingMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL UnencryptedSharingMessage::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const UnencryptedSharingMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:sync_pb.UnencryptedSharingMessage)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string sender_guid = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_sender_guid();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // .sync_pb.SendTabToSelfPush send_tab_message = 2;
  if (this_.payload_case() == kSendTabMessage) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.payload_.send_tab_message_, this_._impl_.payload_.send_tab_message_->GetCachedSize(), target,
        stream);
  }

  // optional string sender_device_name = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_sender_device_name();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // .sync_pb.DesktopToMobilePromoMessage desktop_to_mobile_promo_message = 4;
  if (this_.payload_case() == kDesktopToMobilePromoMessage) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.payload_.desktop_to_mobile_promo_message_, this_._impl_.payload_.desktop_to_mobile_promo_message_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_pb.UnencryptedSharingMessage)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t UnencryptedSharingMessage::ByteSizeLong(const MessageLite& base) {
  const UnencryptedSharingMessage& this_ = static_cast<const UnencryptedSharingMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t UnencryptedSharingMessage::ByteSizeLong() const {
  const UnencryptedSharingMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.UnencryptedSharingMessage)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string sender_guid = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_sender_guid());
    }
    // optional string sender_device_name = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_sender_device_name());
    }
  }
  switch (this_.payload_case()) {
    // .sync_pb.SendTabToSelfPush send_tab_message = 2;
    case kSendTabMessage: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.payload_.send_tab_message_);
      break;
    }
    // .sync_pb.DesktopToMobilePromoMessage desktop_to_mobile_promo_message = 4;
    case kDesktopToMobilePromoMessage: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.payload_.desktop_to_mobile_promo_message_);
      break;
    }
    case PAYLOAD_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void UnencryptedSharingMessage::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<UnencryptedSharingMessage*>(&to_msg);
  auto& from = static_cast<const UnencryptedSharingMessage&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.UnencryptedSharingMessage)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_sender_guid(from._internal_sender_guid());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_sender_device_name(from._internal_sender_device_name());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_payload();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kSendTabMessage: {
        if (oneof_needs_init) {
          _this->_impl_.payload_.send_tab_message_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.payload_.send_tab_message_);
        } else {
          _this->_impl_.payload_.send_tab_message_->MergeFrom(*from._impl_.payload_.send_tab_message_);
        }
        break;
      }
      case kDesktopToMobilePromoMessage: {
        if (oneof_needs_init) {
          _this->_impl_.payload_.desktop_to_mobile_promo_message_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.payload_.desktop_to_mobile_promo_message_);
        } else {
          _this->_impl_.payload_.desktop_to_mobile_promo_message_->MergeFrom(*from._impl_.payload_.desktop_to_mobile_promo_message_);
        }
        break;
      }
      case PAYLOAD_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void UnencryptedSharingMessage::InternalSwap(UnencryptedSharingMessage* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.sender_guid_, &other->_impl_.sender_guid_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.sender_device_name_, &other->_impl_.sender_device_name_, arena);
  swap(_impl_.payload_, other->_impl_.payload_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

PushNotificationMessage_Image::PushNotificationMessage_Image(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PushNotificationMessage_Image_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.PushNotificationMessage.Image)
}
PROTOBUF_NDEBUG_INLINE PushNotificationMessage_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::sync_pb::PushNotificationMessage_Image& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        url_(arena, from.url_),
        alt_text_(arena, from.alt_text_) {}

PushNotificationMessage_Image::PushNotificationMessage_Image(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PushNotificationMessage_Image& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PushNotificationMessage_Image_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PushNotificationMessage_Image* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:sync_pb.PushNotificationMessage.Image)
}
PROTOBUF_NDEBUG_INLINE PushNotificationMessage_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        url_(arena),
        alt_text_(arena) {}

inline void PushNotificationMessage_Image::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
PushNotificationMessage_Image::~PushNotificationMessage_Image() {
  // @@protoc_insertion_point(destructor:sync_pb.PushNotificationMessage.Image)
  SharedDtor(*this);
}
inline void PushNotificationMessage_Image::SharedDtor(MessageLite& self) {
  PushNotificationMessage_Image& this_ = static_cast<PushNotificationMessage_Image&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  this_._impl_.alt_text_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PushNotificationMessage_Image_class_data_ =
    PushNotificationMessage_Image::InternalGenerateClassData_(PushNotificationMessage_Image_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PushNotificationMessage_Image::GetClassData() const {
  return PushNotificationMessage_Image_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PushNotificationMessage_Image::GetClassData() const {
  return PushNotificationMessage_Image_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PushNotificationMessage_Image::ParseTableT_
    PushNotificationMessage_Image::_table_ =
        PushNotificationMessage_Image::InternalGenerateParseTable_(PushNotificationMessage_Image_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PushNotificationMessage_Image::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.PushNotificationMessage.Image)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.alt_text_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PushNotificationMessage_Image::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PushNotificationMessage_Image& this_ = static_cast<const PushNotificationMessage_Image&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PushNotificationMessage_Image::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PushNotificationMessage_Image& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:sync_pb.PushNotificationMessage.Image)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string url = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_url();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string alt_text = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_alt_text();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_pb.PushNotificationMessage.Image)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PushNotificationMessage_Image::ByteSizeLong(const MessageLite& base) {
  const PushNotificationMessage_Image& this_ = static_cast<const PushNotificationMessage_Image&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PushNotificationMessage_Image::ByteSizeLong() const {
  const PushNotificationMessage_Image& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.PushNotificationMessage.Image)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string url = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // optional string alt_text = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_alt_text());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PushNotificationMessage_Image::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PushNotificationMessage_Image*>(&to_msg);
  auto& from = static_cast<const PushNotificationMessage_Image&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.PushNotificationMessage.Image)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_alt_text(from._internal_alt_text());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PushNotificationMessage_Image::CopyFrom(const PushNotificationMessage_Image& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:sync_pb.PushNotificationMessage.Image)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PushNotificationMessage_Image::InternalSwap(PushNotificationMessage_Image* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.alt_text_, &other->_impl_.alt_text_, arena);
}

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

PushNotificationMessage::PushNotificationMessage(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PushNotificationMessage_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.PushNotificationMessage)
}
PROTOBUF_NDEBUG_INLINE PushNotificationMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::sync_pb::PushNotificationMessage& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        icon_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::PushNotificationMessage,
              PROTOBUF_FIELD_OFFSET(::sync_pb::PushNotificationMessage, _impl_.icon_)>()
          , from.icon_
        }
        ,
        title_(arena, from.title_),
        text_(arena, from.text_),
        destination_url_(arena, from.destination_url_),
        placeholder_title_(arena, from.placeholder_title_),
        placeholder_body_(arena, from.placeholder_body_),
        push_notification_client_id_(arena, from.push_notification_client_id_) {}

PushNotificationMessage::PushNotificationMessage(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PushNotificationMessage& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PushNotificationMessage_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PushNotificationMessage* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.favicon_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.favicon_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:sync_pb.PushNotificationMessage)
}
PROTOBUF_NDEBUG_INLINE PushNotificationMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        icon_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::PushNotificationMessage,
            PROTOBUF_FIELD_OFFSET(::sync_pb::PushNotificationMessage, _impl_.icon_)>()
         }
        ,
        title_(arena),
        text_(arena),
        destination_url_(arena),
        placeholder_title_(arena),
        placeholder_body_(arena),
        push_notification_client_id_(arena) {}

inline void PushNotificationMessage::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.favicon_ = {};
}
PushNotificationMessage::~PushNotificationMessage() {
  // @@protoc_insertion_point(destructor:sync_pb.PushNotificationMessage)
  SharedDtor(*this);
}
inline void PushNotificationMessage::SharedDtor(MessageLite& self) {
  PushNotificationMessage& this_ = static_cast<PushNotificationMessage&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.title_.Destroy();
  this_._impl_.text_.Destroy();
  this_._impl_.destination_url_.Destroy();
  this_._impl_.placeholder_title_.Destroy();
  this_._impl_.placeholder_body_.Destroy();
  this_._impl_.push_notification_client_id_.Destroy();
  delete this_._impl_.favicon_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PushNotificationMessage_class_data_ =
    PushNotificationMessage::InternalGenerateClassData_(PushNotificationMessage_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PushNotificationMessage::GetClassData() const {
  return PushNotificationMessage_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PushNotificationMessage::GetClassData() const {
  return PushNotificationMessage_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PushNotificationMessage::ParseTableT_
    PushNotificationMessage::_table_ =
        PushNotificationMessage::InternalGenerateParseTable_(PushNotificationMessage_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PushNotificationMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.PushNotificationMessage)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.icon_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.destination_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.placeholder_title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.placeholder_body_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.push_notification_client_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.favicon_ != nullptr);
      _impl_.favicon_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PushNotificationMessage::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PushNotificationMessage& this_ = static_cast<const PushNotificationMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PushNotificationMessage::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PushNotificationMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:sync_pb.PushNotificationMessage)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string title = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_title();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string text = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_text();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .sync_pb.PushNotificationMessage.Image icon = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_icon_size());
         i < n; i++) {
      const auto& repfield = this_._internal_icon().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional .sync_pb.PushNotificationMessage.Image favicon = 4;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.favicon_, this_._impl_.favicon_->GetCachedSize(), target,
        stream);
  }

  // optional string destination_url = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_destination_url();
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // optional string placeholder_title = 6;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_placeholder_title();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // optional string placeholder_body = 7;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_placeholder_body();
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // optional string push_notification_client_id = 8;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_push_notification_client_id();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_pb.PushNotificationMessage)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PushNotificationMessage::ByteSizeLong(const MessageLite& base) {
  const PushNotificationMessage& this_ = static_cast<const PushNotificationMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PushNotificationMessage::ByteSizeLong() const {
  const PushNotificationMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.PushNotificationMessage)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .sync_pb.PushNotificationMessage.Image icon = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_icon_size();
      for (const auto& msg : this_._internal_icon()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string title = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // optional string text = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text());
    }
    // optional string destination_url = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_destination_url());
    }
    // optional string placeholder_title = 6;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_placeholder_title());
    }
    // optional string placeholder_body = 7;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_placeholder_body());
    }
    // optional string push_notification_client_id = 8;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_push_notification_client_id());
    }
    // optional .sync_pb.PushNotificationMessage.Image favicon = 4;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.favicon_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PushNotificationMessage::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PushNotificationMessage*>(&to_msg);
  auto& from = static_cast<const PushNotificationMessage&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.PushNotificationMessage)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_icon()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_icon());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_text(from._internal_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_destination_url(from._internal_destination_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_placeholder_title(from._internal_placeholder_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_placeholder_body(from._internal_placeholder_body());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_push_notification_client_id(from._internal_push_notification_client_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.favicon_ != nullptr);
      if (_this->_impl_.favicon_ == nullptr) {
        _this->_impl_.favicon_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.favicon_);
      } else {
        _this->_impl_.favicon_->MergeFrom(*from._impl_.favicon_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PushNotificationMessage::InternalSwap(PushNotificationMessage* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.icon_.InternalSwap(&other->_impl_.icon_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_, &other->_impl_.text_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.destination_url_, &other->_impl_.destination_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.placeholder_title_, &other->_impl_.placeholder_title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.placeholder_body_, &other->_impl_.placeholder_body_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.push_notification_client_id_, &other->_impl_.push_notification_client_id_, arena);
  swap(_impl_.favicon_, other->_impl_.favicon_);
}

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

DesktopToMobilePromoMessage::DesktopToMobilePromoMessage(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DesktopToMobilePromoMessage_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.DesktopToMobilePromoMessage)
}
PROTOBUF_NDEBUG_INLINE DesktopToMobilePromoMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::sync_pb::DesktopToMobilePromoMessage& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

DesktopToMobilePromoMessage::DesktopToMobilePromoMessage(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const DesktopToMobilePromoMessage& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DesktopToMobilePromoMessage_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DesktopToMobilePromoMessage* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.push_notification_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.push_notification_)
                : nullptr;
  _impl_.promo_type_ = from._impl_.promo_type_;

  // @@protoc_insertion_point(copy_constructor:sync_pb.DesktopToMobilePromoMessage)
}
PROTOBUF_NDEBUG_INLINE DesktopToMobilePromoMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void DesktopToMobilePromoMessage::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, push_notification_),
           0,
           offsetof(Impl_, promo_type_) -
               offsetof(Impl_, push_notification_) +
               sizeof(Impl_::promo_type_));
}
DesktopToMobilePromoMessage::~DesktopToMobilePromoMessage() {
  // @@protoc_insertion_point(destructor:sync_pb.DesktopToMobilePromoMessage)
  SharedDtor(*this);
}
inline void DesktopToMobilePromoMessage::SharedDtor(MessageLite& self) {
  DesktopToMobilePromoMessage& this_ = static_cast<DesktopToMobilePromoMessage&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.push_notification_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DesktopToMobilePromoMessage_class_data_ =
    DesktopToMobilePromoMessage::InternalGenerateClassData_(DesktopToMobilePromoMessage_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DesktopToMobilePromoMessage::GetClassData() const {
  return DesktopToMobilePromoMessage_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DesktopToMobilePromoMessage::GetClassData() const {
  return DesktopToMobilePromoMessage_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DesktopToMobilePromoMessage::ParseTableT_
    DesktopToMobilePromoMessage::_table_ =
        DesktopToMobilePromoMessage::InternalGenerateParseTable_(DesktopToMobilePromoMessage_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DesktopToMobilePromoMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.DesktopToMobilePromoMessage)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.push_notification_ != nullptr);
    _impl_.push_notification_->Clear();
  }
  _impl_.promo_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL DesktopToMobilePromoMessage::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const DesktopToMobilePromoMessage& this_ = static_cast<const DesktopToMobilePromoMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL DesktopToMobilePromoMessage::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const DesktopToMobilePromoMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:sync_pb.DesktopToMobilePromoMessage)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .sync_pb.PushNotificationMessage push_notification = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.push_notification_, this_._impl_.push_notification_->GetCachedSize(), target,
        stream);
  }

  // optional int32 promo_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_promo_type(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_pb.DesktopToMobilePromoMessage)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DesktopToMobilePromoMessage::ByteSizeLong(const MessageLite& base) {
  const DesktopToMobilePromoMessage& this_ = static_cast<const DesktopToMobilePromoMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DesktopToMobilePromoMessage::ByteSizeLong() const {
  const DesktopToMobilePromoMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.DesktopToMobilePromoMessage)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional .sync_pb.PushNotificationMessage push_notification = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.push_notification_);
    }
    // optional int32 promo_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_promo_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void DesktopToMobilePromoMessage::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DesktopToMobilePromoMessage*>(&to_msg);
  auto& from = static_cast<const DesktopToMobilePromoMessage&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.DesktopToMobilePromoMessage)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.push_notification_ != nullptr);
      if (_this->_impl_.push_notification_ == nullptr) {
        _this->_impl_.push_notification_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.push_notification_);
      } else {
        _this->_impl_.push_notification_->MergeFrom(*from._impl_.push_notification_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.promo_type_ = from._impl_.promo_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DesktopToMobilePromoMessage::InternalSwap(DesktopToMobilePromoMessage* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_.promo_type_)
      + sizeof(DesktopToMobilePromoMessage::_impl_.promo_type_)
      - PROTOBUF_FIELD_OFFSET(DesktopToMobilePromoMessage, _impl_.push_notification_)>(
          reinterpret_cast<char*>(&_impl_.push_notification_),
          reinterpret_cast<char*>(&other->_impl_.push_notification_));
}

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

SendTabToSelfPush_Image::SendTabToSelfPush_Image(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SendTabToSelfPush_Image_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.SendTabToSelfPush.Image)
}
PROTOBUF_NDEBUG_INLINE SendTabToSelfPush_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::sync_pb::SendTabToSelfPush_Image& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        url_(arena, from.url_),
        alt_text_(arena, from.alt_text_) {}

SendTabToSelfPush_Image::SendTabToSelfPush_Image(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SendTabToSelfPush_Image& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SendTabToSelfPush_Image_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SendTabToSelfPush_Image* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:sync_pb.SendTabToSelfPush.Image)
}
PROTOBUF_NDEBUG_INLINE SendTabToSelfPush_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        url_(arena),
        alt_text_(arena) {}

inline void SendTabToSelfPush_Image::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SendTabToSelfPush_Image::~SendTabToSelfPush_Image() {
  // @@protoc_insertion_point(destructor:sync_pb.SendTabToSelfPush.Image)
  SharedDtor(*this);
}
inline void SendTabToSelfPush_Image::SharedDtor(MessageLite& self) {
  SendTabToSelfPush_Image& this_ = static_cast<SendTabToSelfPush_Image&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  this_._impl_.alt_text_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SendTabToSelfPush_Image_class_data_ =
    SendTabToSelfPush_Image::InternalGenerateClassData_(SendTabToSelfPush_Image_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SendTabToSelfPush_Image::GetClassData() const {
  return SendTabToSelfPush_Image_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SendTabToSelfPush_Image::GetClassData() const {
  return SendTabToSelfPush_Image_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SendTabToSelfPush_Image::ParseTableT_
    SendTabToSelfPush_Image::_table_ =
        SendTabToSelfPush_Image::InternalGenerateParseTable_(SendTabToSelfPush_Image_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SendTabToSelfPush_Image::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.SendTabToSelfPush.Image)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.alt_text_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SendTabToSelfPush_Image::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SendTabToSelfPush_Image& this_ = static_cast<const SendTabToSelfPush_Image&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SendTabToSelfPush_Image::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SendTabToSelfPush_Image& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:sync_pb.SendTabToSelfPush.Image)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string url = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_url();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string alt_text = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_alt_text();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_pb.SendTabToSelfPush.Image)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SendTabToSelfPush_Image::ByteSizeLong(const MessageLite& base) {
  const SendTabToSelfPush_Image& this_ = static_cast<const SendTabToSelfPush_Image&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SendTabToSelfPush_Image::ByteSizeLong() const {
  const SendTabToSelfPush_Image& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.SendTabToSelfPush.Image)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string url = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // optional string alt_text = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_alt_text());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SendTabToSelfPush_Image::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SendTabToSelfPush_Image*>(&to_msg);
  auto& from = static_cast<const SendTabToSelfPush_Image&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.SendTabToSelfPush.Image)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_alt_text(from._internal_alt_text());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SendTabToSelfPush_Image::CopyFrom(const SendTabToSelfPush_Image& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:sync_pb.SendTabToSelfPush.Image)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SendTabToSelfPush_Image::InternalSwap(SendTabToSelfPush_Image* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.alt_text_, &other->_impl_.alt_text_, arena);
}

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

SendTabToSelfPush::SendTabToSelfPush(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SendTabToSelfPush_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.SendTabToSelfPush)
}
PROTOBUF_NDEBUG_INLINE SendTabToSelfPush::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::sync_pb::SendTabToSelfPush& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        icon_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::SendTabToSelfPush,
              PROTOBUF_FIELD_OFFSET(::sync_pb::SendTabToSelfPush, _impl_.icon_)>()
          , from.icon_
        }
        ,
        title_(arena, from.title_),
        text_(arena, from.text_),
        destination_url_(arena, from.destination_url_),
        placeholder_title_(arena, from.placeholder_title_),
        placeholder_body_(arena, from.placeholder_body_),
        entry_unique_guid_(arena, from.entry_unique_guid_) {}

SendTabToSelfPush::SendTabToSelfPush(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SendTabToSelfPush& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SendTabToSelfPush_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SendTabToSelfPush* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.favicon_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.favicon_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:sync_pb.SendTabToSelfPush)
}
PROTOBUF_NDEBUG_INLINE SendTabToSelfPush::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        icon_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::SendTabToSelfPush,
            PROTOBUF_FIELD_OFFSET(::sync_pb::SendTabToSelfPush, _impl_.icon_)>()
         }
        ,
        title_(arena),
        text_(arena),
        destination_url_(arena),
        placeholder_title_(arena),
        placeholder_body_(arena),
        entry_unique_guid_(arena) {}

inline void SendTabToSelfPush::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.favicon_ = {};
}
SendTabToSelfPush::~SendTabToSelfPush() {
  // @@protoc_insertion_point(destructor:sync_pb.SendTabToSelfPush)
  SharedDtor(*this);
}
inline void SendTabToSelfPush::SharedDtor(MessageLite& self) {
  SendTabToSelfPush& this_ = static_cast<SendTabToSelfPush&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.title_.Destroy();
  this_._impl_.text_.Destroy();
  this_._impl_.destination_url_.Destroy();
  this_._impl_.placeholder_title_.Destroy();
  this_._impl_.placeholder_body_.Destroy();
  this_._impl_.entry_unique_guid_.Destroy();
  delete this_._impl_.favicon_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SendTabToSelfPush_class_data_ =
    SendTabToSelfPush::InternalGenerateClassData_(SendTabToSelfPush_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SendTabToSelfPush::GetClassData() const {
  return SendTabToSelfPush_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SendTabToSelfPush::GetClassData() const {
  return SendTabToSelfPush_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SendTabToSelfPush::ParseTableT_
    SendTabToSelfPush::_table_ =
        SendTabToSelfPush::InternalGenerateParseTable_(SendTabToSelfPush_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SendTabToSelfPush::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.SendTabToSelfPush)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.icon_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.destination_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.placeholder_title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.placeholder_body_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.entry_unique_guid_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.favicon_ != nullptr);
      _impl_.favicon_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SendTabToSelfPush::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SendTabToSelfPush& this_ = static_cast<const SendTabToSelfPush&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SendTabToSelfPush::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SendTabToSelfPush& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:sync_pb.SendTabToSelfPush)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string title = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_title();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string text = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_text();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .sync_pb.SendTabToSelfPush.Image icon = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_icon_size());
         i < n; i++) {
      const auto& repfield = this_._internal_icon().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional .sync_pb.SendTabToSelfPush.Image favicon = 4;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.favicon_, this_._impl_.favicon_->GetCachedSize(), target,
        stream);
  }

  // optional string destination_url = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_destination_url();
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // optional string placeholder_title = 6;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_placeholder_title();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // optional string placeholder_body = 7;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_placeholder_body();
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // optional string entry_unique_guid = 8;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_entry_unique_guid();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:sync_pb.SendTabToSelfPush)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SendTabToSelfPush::ByteSizeLong(const MessageLite& base) {
  const SendTabToSelfPush& this_ = static_cast<const SendTabToSelfPush&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SendTabToSelfPush::ByteSizeLong() const {
  const SendTabToSelfPush& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.SendTabToSelfPush)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .sync_pb.SendTabToSelfPush.Image icon = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_icon_size();
      for (const auto& msg : this_._internal_icon()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string title = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // optional string text = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text());
    }
    // optional string destination_url = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_destination_url());
    }
    // optional string placeholder_title = 6;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_placeholder_title());
    }
    // optional string placeholder_body = 7;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_placeholder_body());
    }
    // optional string entry_unique_guid = 8;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_entry_unique_guid());
    }
    // optional .sync_pb.SendTabToSelfPush.Image favicon = 4;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.favicon_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SendTabToSelfPush::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SendTabToSelfPush*>(&to_msg);
  auto& from = static_cast<const SendTabToSelfPush&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.SendTabToSelfPush)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_icon()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_icon());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_text(from._internal_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_destination_url(from._internal_destination_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_placeholder_title(from._internal_placeholder_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_placeholder_body(from._internal_placeholder_body());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_entry_unique_guid(from._internal_entry_unique_guid());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.favicon_ != nullptr);
      if (_this->_impl_.favicon_ == nullptr) {
        _this->_impl_.favicon_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.favicon_);
      } else {
        _this->_impl_.favicon_->MergeFrom(*from._impl_.favicon_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SendTabToSelfPush::InternalSwap(SendTabToSelfPush* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.icon_.InternalSwap(&other->_impl_.icon_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_, &other->_impl_.text_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.destination_url_, &other->_impl_.destination_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.placeholder_title_, &other->_impl_.placeholder_title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.placeholder_body_, &other->_impl_.placeholder_body_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.entry_unique_guid_, &other->_impl_.entry_unique_guid_, arena);
  swap(_impl_.favicon_, other->_impl_.favicon_);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace sync_pb
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
