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

#include "components/sync/protocol/autofill_specifics.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 WalletPostalAddress::_Internal {
 public:
  using HasBits = decltype(::std::declval<WalletPostalAddress>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_._has_bits_);
};

constexpr WalletPostalAddress::ParseTableT_ WalletPostalAddress::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_._has_bits_),
      0, // no _extensions_
      13, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294959104,  // skipmap
      offsetof(ParseTableT_, field_entries),
      13,  // 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::WalletPostalAddress>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.id_)}},
      // optional string company_name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.company_name_)}},
      // repeated string street_address = 3;
      {::_pbi::TcParser::FastBR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.street_address_)}},
      // optional string address_1 = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.address_1_)}},
      // optional string address_2 = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 4, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.address_2_)}},
      // optional string address_3 = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 5, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.address_3_)}},
      // optional string address_4 = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 6, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.address_4_)}},
      // optional string postal_code = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 7, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.postal_code_)}},
      // optional string sorting_code = 9;
      {::_pbi::TcParser::FastBS1,
       {74, 8, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.sorting_code_)}},
      // optional string country_code = 10;
      {::_pbi::TcParser::FastBS1,
       {82, 9, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.country_code_)}},
      // optional string language_code = 11;
      {::_pbi::TcParser::FastBS1,
       {90, 10, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.language_code_)}},
      // optional string recipient_name = 12;
      {::_pbi::TcParser::FastBS1,
       {98, 11, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.recipient_name_)}},
      // optional string phone_number = 13;
      {::_pbi::TcParser::FastBS1,
       {106, 12, 0,
        PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.phone_number_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string id = 1;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string company_name = 2;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.company_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string street_address = 3;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.street_address_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional string address_1 = 4;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.address_1_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_2 = 5;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.address_2_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_3 = 6;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.address_3_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_4 = 7;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.address_4_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string postal_code = 8;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.postal_code_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string sorting_code = 9;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.sorting_code_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string country_code = 10;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.country_code_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string language_code = 11;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.language_code_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string recipient_name = 12;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.recipient_name_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string phone_number = 13;
      {PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_.phone_number_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr WalletPostalAddress::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        street_address_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::WalletPostalAddress,
            PROTOBUF_FIELD_OFFSET(::sync_pb::WalletPostalAddress, _impl_.street_address_)>()
         }
        ,
        id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        company_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_1_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_2_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_3_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_4_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        postal_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        sorting_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        country_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        language_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        recipient_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        phone_number_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr WalletPostalAddress::WalletPostalAddress(::_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 WalletPostalAddress::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WalletPostalAddress(arena);
}
constexpr auto WalletPostalAddress::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(WalletPostalAddress), alignof(WalletPostalAddress));
}
constexpr auto WalletPostalAddress::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
          &WalletPostalAddress::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WalletPostalAddress>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WalletPostalAddress::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WalletPostalAddress>(), &WalletPostalAddress::ByteSizeLong,
              &WalletPostalAddress::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WalletPostalAddress, _impl_._cached_size_),
          true,
      },
      "sync_pb.WalletPostalAddress",
  };
}
struct WalletPostalAddressGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WalletPostalAddressGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WalletPostalAddress_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WalletPostalAddress::InternalGenerateClassData_(
            _default, &WalletPostalAddress_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WalletPostalAddress>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WalletPostalAddressGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WalletPostalAddress _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WalletPostalAddress>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WalletPostalAddressGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr WalletMetadataSpecifics::ParseTableT_ WalletMetadataSpecifics::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // 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::WalletMetadataSpecifics>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .sync_pb.WalletMetadataSpecifics.Type type = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 3, 3,
        PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.type_)}},
      // optional string id = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.id_)}},
      // optional int64 use_count = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.use_count_)}},
      // optional int64 use_date = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.use_date_)}},
      // optional string card_billing_address_id = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 1, 0,
        PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.card_billing_address_id_)}},
      // optional bool address_has_converted = 6;
      {::_pbi::TcParser::FastV8S1,
       {48, 4, 0,
        PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.address_has_converted_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .sync_pb.WalletMetadataSpecifics.Type type = 1;
      {PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.type_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string id = 2;
      {PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int64 use_count = 3;
      {PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.use_count_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 use_date = 4;
      {PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.use_date_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional string card_billing_address_id = 5;
      {PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.card_billing_address_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bool address_has_converted = 6;
      {PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.address_has_converted_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    {{
        {0, 3},
    }},
    {{
    }},
  };
}


inline constexpr WalletMetadataSpecifics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        card_billing_address_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        use_count_{::int64_t{0}},
        type_{static_cast< ::sync_pb::WalletMetadataSpecifics_Type >(0)},
        address_has_converted_{false},
        use_date_{::int64_t{0}} {}

template <typename>
constexpr WalletMetadataSpecifics::WalletMetadataSpecifics(::_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 WalletMetadataSpecifics::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WalletMetadataSpecifics(arena);
}
constexpr auto WalletMetadataSpecifics::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(WalletMetadataSpecifics), alignof(WalletMetadataSpecifics));
}
constexpr auto WalletMetadataSpecifics::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
          &WalletMetadataSpecifics::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WalletMetadataSpecifics>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WalletMetadataSpecifics::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WalletMetadataSpecifics>(), &WalletMetadataSpecifics::ByteSizeLong,
              &WalletMetadataSpecifics::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_._cached_size_),
          true,
      },
      "sync_pb.WalletMetadataSpecifics",
  };
}
struct WalletMetadataSpecificsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WalletMetadataSpecificsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WalletMetadataSpecifics_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WalletMetadataSpecifics::InternalGenerateClassData_(
            _default, &WalletMetadataSpecifics_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WalletMetadataSpecifics>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WalletMetadataSpecificsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WalletMetadataSpecifics _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WalletMetadataSpecifics>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WalletMetadataSpecificsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr WalletMaskedIban::ParseTableT_ WalletMaskedIban::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // 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::WalletMaskedIban>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string instrument_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.instrument_id_)}},
      // optional string prefix = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.prefix_)}},
      // optional string suffix = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.suffix_)}},
      // optional int32 length = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.length_)}},
      // optional string nickname = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.nickname_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string instrument_id = 1;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.instrument_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string prefix = 2;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.prefix_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string suffix = 3;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.suffix_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 length = 4;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.length_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string nickname = 5;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_.nickname_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr WalletMaskedIban::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        instrument_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        prefix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        suffix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        nickname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        length_{0} {}

template <typename>
constexpr WalletMaskedIban::WalletMaskedIban(::_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 WalletMaskedIban::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WalletMaskedIban(arena);
}
constexpr auto WalletMaskedIban::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(WalletMaskedIban), alignof(WalletMaskedIban));
}
constexpr auto WalletMaskedIban::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
          &WalletMaskedIban::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WalletMaskedIban>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WalletMaskedIban::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WalletMaskedIban>(), &WalletMaskedIban::ByteSizeLong,
              &WalletMaskedIban::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WalletMaskedIban, _impl_._cached_size_),
          true,
      },
      "sync_pb.WalletMaskedIban",
  };
}
struct WalletMaskedIbanGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WalletMaskedIbanGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WalletMaskedIban_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WalletMaskedIban::InternalGenerateClassData_(
            _default, &WalletMaskedIban_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WalletMaskedIban>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WalletMaskedIbanGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WalletMaskedIban _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WalletMaskedIban>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WalletMaskedIbanGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr WalletCreditCardCloudTokenData::ParseTableT_ WalletCreditCardCloudTokenData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // 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::WalletCreditCardCloudTokenData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string masked_card_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.masked_card_id_)}},
      // optional string suffix = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.suffix_)}},
      // optional int32 exp_month = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.exp_month_)}},
      // optional int32 exp_year = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.exp_year_)}},
      // optional string art_fife_url = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 2, 0,
        PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.art_fife_url_)}},
      // optional string instrument_token = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 3, 0,
        PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.instrument_token_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string masked_card_id = 1;
      {PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.masked_card_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string suffix = 2;
      {PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.suffix_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 exp_month = 3;
      {PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.exp_month_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 exp_year = 4;
      {PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.exp_year_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string art_fife_url = 5;
      {PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.art_fife_url_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string instrument_token = 6;
      {PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.instrument_token_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr WalletCreditCardCloudTokenData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        masked_card_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        suffix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        art_fife_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        instrument_token_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        exp_month_{0},
        exp_year_{0} {}

template <typename>
constexpr WalletCreditCardCloudTokenData::WalletCreditCardCloudTokenData(::_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 WalletCreditCardCloudTokenData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WalletCreditCardCloudTokenData(arena);
}
constexpr auto WalletCreditCardCloudTokenData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(WalletCreditCardCloudTokenData), alignof(WalletCreditCardCloudTokenData));
}
constexpr auto WalletCreditCardCloudTokenData::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
          &WalletCreditCardCloudTokenData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WalletCreditCardCloudTokenData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WalletCreditCardCloudTokenData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WalletCreditCardCloudTokenData>(), &WalletCreditCardCloudTokenData::ByteSizeLong,
              &WalletCreditCardCloudTokenData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_._cached_size_),
          true,
      },
      "sync_pb.WalletCreditCardCloudTokenData",
  };
}
struct WalletCreditCardCloudTokenDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WalletCreditCardCloudTokenDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WalletCreditCardCloudTokenData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WalletCreditCardCloudTokenData::InternalGenerateClassData_(
            _default, &WalletCreditCardCloudTokenData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WalletCreditCardCloudTokenData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WalletCreditCardCloudTokenDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WalletCreditCardCloudTokenData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WalletCreditCardCloudTokenData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST WalletCreditCardCloudTokenDataGlobalsTypeInternal WalletCreditCardCloudTokenData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* WalletCreditCardCloudTokenData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return WalletCreditCardCloudTokenData_globals_.GetClassData();
#else
  return WalletCreditCardCloudTokenData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PixCreationOption::_Internal {
 public:
};

constexpr PixCreationOption::ParseTableT_ PixCreationOption::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PixCreationOption,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // 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::PixCreationOption>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr PixCreationOption::PixCreationOption(::_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 PixCreationOption::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PixCreationOption(arena);
}
constexpr auto PixCreationOption::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PixCreationOption), alignof(PixCreationOption));
}
constexpr auto PixCreationOption::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
          &PixCreationOption::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PixCreationOption>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PixCreationOption::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PixCreationOption>(), &PixCreationOption::ByteSizeLong,
              &PixCreationOption::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PixCreationOption, _impl_._cached_size_),
          true,
      },
      "sync_pb.PixCreationOption",
  };
}
struct PixCreationOptionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PixCreationOptionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PixCreationOption_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PixCreationOption::InternalGenerateClassData_(
            _default, &PixCreationOption_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PixCreationOption>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PixCreationOptionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PixCreationOption _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PixCreationOption>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PixCreationOptionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PaymentsCustomerData::ParseTableT_ PaymentsCustomerData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PaymentsCustomerData, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // 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::PaymentsCustomerData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PaymentsCustomerData, _impl_.id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string id = 1;
      {PROTOBUF_FIELD_OFFSET(PaymentsCustomerData, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr PaymentsCustomerData::PaymentsCustomerData(::_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 PaymentsCustomerData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PaymentsCustomerData(arena);
}
constexpr auto PaymentsCustomerData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PaymentsCustomerData), alignof(PaymentsCustomerData));
}
constexpr auto PaymentsCustomerData::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
          &PaymentsCustomerData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PaymentsCustomerData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PaymentsCustomerData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PaymentsCustomerData>(), &PaymentsCustomerData::ByteSizeLong,
              &PaymentsCustomerData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PaymentsCustomerData, _impl_._cached_size_),
          true,
      },
      "sync_pb.PaymentsCustomerData",
  };
}
struct PaymentsCustomerDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PaymentsCustomerDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PaymentsCustomerData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PaymentsCustomerData::InternalGenerateClassData_(
            _default, &PaymentsCustomerData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PaymentsCustomerData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PaymentsCustomerDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PaymentsCustomerData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PaymentsCustomerData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PaymentsCustomerDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr EwalletDetails::ParseTableT_ EwalletDetails::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EwalletDetails, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // 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::EwalletDetails>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string ewallet_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(EwalletDetails, _impl_.ewallet_name_)}},
      // optional string account_display_name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(EwalletDetails, _impl_.account_display_name_)}},
      // repeated string supported_payment_link_uris = 3;
      {::_pbi::TcParser::FastBR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(EwalletDetails, _impl_.supported_payment_link_uris_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string ewallet_name = 1;
      {PROTOBUF_FIELD_OFFSET(EwalletDetails, _impl_.ewallet_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string account_display_name = 2;
      {PROTOBUF_FIELD_OFFSET(EwalletDetails, _impl_.account_display_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string supported_payment_link_uris = 3;
      {PROTOBUF_FIELD_OFFSET(EwalletDetails, _impl_.supported_payment_link_uris_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr EwalletDetails::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        supported_payment_link_uris_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::EwalletDetails,
            PROTOBUF_FIELD_OFFSET(::sync_pb::EwalletDetails, _impl_.supported_payment_link_uris_)>()
         }
        ,
        ewallet_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        account_display_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr EwalletDetails::EwalletDetails(::_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 EwalletDetails::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EwalletDetails(arena);
}
constexpr auto EwalletDetails::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EwalletDetails), alignof(EwalletDetails));
}
constexpr auto EwalletDetails::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
          &EwalletDetails::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<EwalletDetails>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &EwalletDetails::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<EwalletDetails>(), &EwalletDetails::ByteSizeLong,
              &EwalletDetails::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(EwalletDetails, _impl_._cached_size_),
          true,
      },
      "sync_pb.EwalletDetails",
  };
}
struct EwalletDetailsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr EwalletDetailsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 EwalletDetails_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(EwalletDetails::InternalGenerateClassData_(
            _default, &EwalletDetails_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EwalletDetails>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~EwalletDetailsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EwalletDetails _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EwalletDetails>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(EwalletDetailsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr EwalletCreationOption::ParseTableT_ EwalletCreationOption::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EwalletCreationOption, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // 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::EwalletCreationOption>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string issuer_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(EwalletCreationOption, _impl_.issuer_id_)}},
      // optional string issuer_display_name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(EwalletCreationOption, _impl_.issuer_display_name_)}},
      // repeated string supported_payment_link_uris = 3;
      {::_pbi::TcParser::FastBR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(EwalletCreationOption, _impl_.supported_payment_link_uris_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string issuer_id = 1;
      {PROTOBUF_FIELD_OFFSET(EwalletCreationOption, _impl_.issuer_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string issuer_display_name = 2;
      {PROTOBUF_FIELD_OFFSET(EwalletCreationOption, _impl_.issuer_display_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string supported_payment_link_uris = 3;
      {PROTOBUF_FIELD_OFFSET(EwalletCreationOption, _impl_.supported_payment_link_uris_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr EwalletCreationOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        supported_payment_link_uris_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::EwalletCreationOption,
            PROTOBUF_FIELD_OFFSET(::sync_pb::EwalletCreationOption, _impl_.supported_payment_link_uris_)>()
         }
        ,
        issuer_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        issuer_display_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr EwalletCreationOption::EwalletCreationOption(::_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 EwalletCreationOption::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EwalletCreationOption(arena);
}
constexpr auto EwalletCreationOption::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EwalletCreationOption), alignof(EwalletCreationOption));
}
constexpr auto EwalletCreationOption::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
          &EwalletCreationOption::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<EwalletCreationOption>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &EwalletCreationOption::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<EwalletCreationOption>(), &EwalletCreationOption::ByteSizeLong,
              &EwalletCreationOption::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(EwalletCreationOption, _impl_._cached_size_),
          true,
      },
      "sync_pb.EwalletCreationOption",
  };
}
struct EwalletCreationOptionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr EwalletCreationOptionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 EwalletCreationOption_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(EwalletCreationOption::InternalGenerateClassData_(
            _default, &EwalletCreationOption_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EwalletCreationOption>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~EwalletCreationOptionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EwalletCreationOption _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EwalletCreationOption>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(EwalletCreationOptionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr EligiblePriceRange::ParseTableT_ EligiblePriceRange::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // 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::EligiblePriceRange>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string currency = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_.currency_)}},
      // optional int64 min_price_in_micros = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_.min_price_in_micros_)}},
      // optional int64 max_price_in_micros = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_.max_price_in_micros_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string currency = 1;
      {PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_.currency_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int64 min_price_in_micros = 2;
      {PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_.min_price_in_micros_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 max_price_in_micros = 3;
      {PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_.max_price_in_micros_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr EligiblePriceRange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        currency_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        min_price_in_micros_{::int64_t{0}},
        max_price_in_micros_{::int64_t{0}} {}

template <typename>
constexpr EligiblePriceRange::EligiblePriceRange(::_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 EligiblePriceRange::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EligiblePriceRange(arena);
}
constexpr auto EligiblePriceRange::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EligiblePriceRange), alignof(EligiblePriceRange));
}
constexpr auto EligiblePriceRange::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
          &EligiblePriceRange::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<EligiblePriceRange>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &EligiblePriceRange::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<EligiblePriceRange>(), &EligiblePriceRange::ByteSizeLong,
              &EligiblePriceRange::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_._cached_size_),
          true,
      },
      "sync_pb.EligiblePriceRange",
  };
}
struct EligiblePriceRangeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr EligiblePriceRangeGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 EligiblePriceRange_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(EligiblePriceRange::InternalGenerateClassData_(
            _default, &EligiblePriceRange_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EligiblePriceRange>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~EligiblePriceRangeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EligiblePriceRange _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EligiblePriceRange>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(EligiblePriceRangeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DeviceDetails::ParseTableT_ DeviceDetails::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DeviceDetails, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // 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::DeviceDetails>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional bool is_fido_enrolled = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(DeviceDetails, _impl_.is_fido_enrolled_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional bool is_fido_enrolled = 1;
      {PROTOBUF_FIELD_OFFSET(DeviceDetails, _impl_.is_fido_enrolled_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr DeviceDetails::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        is_fido_enrolled_{false} {}

template <typename>
constexpr DeviceDetails::DeviceDetails(::_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 DeviceDetails::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DeviceDetails(arena);
}
constexpr auto DeviceDetails::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DeviceDetails), alignof(DeviceDetails));
}
constexpr auto DeviceDetails::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
          &DeviceDetails::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DeviceDetails>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DeviceDetails::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DeviceDetails>(), &DeviceDetails::ByteSizeLong,
              &DeviceDetails::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DeviceDetails, _impl_._cached_size_),
          true,
      },
      "sync_pb.DeviceDetails",
  };
}
struct DeviceDetailsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DeviceDetailsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DeviceDetails_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DeviceDetails::InternalGenerateClassData_(
            _default, &DeviceDetails_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DeviceDetails>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DeviceDetailsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DeviceDetails _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DeviceDetails>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DeviceDetailsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CloudTokenData::ParseTableT_ CloudTokenData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // 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::CloudTokenData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string suffix = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.suffix_)}},
      // optional int32 exp_month = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.exp_month_)}},
      // optional int32 exp_year = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.exp_year_)}},
      // optional string art_fife_url = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.art_fife_url_)}},
      // optional string instrument_token = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 2, 0,
        PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.instrument_token_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string suffix = 1;
      {PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.suffix_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 exp_month = 2;
      {PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.exp_month_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 exp_year = 3;
      {PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.exp_year_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string art_fife_url = 4;
      {PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.art_fife_url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string instrument_token = 5;
      {PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.instrument_token_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr CloudTokenData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        suffix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        art_fife_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        instrument_token_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        exp_month_{0},
        exp_year_{0} {}

template <typename>
constexpr CloudTokenData::CloudTokenData(::_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 CloudTokenData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CloudTokenData(arena);
}
constexpr auto CloudTokenData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(CloudTokenData), alignof(CloudTokenData));
}
constexpr auto CloudTokenData::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
          &CloudTokenData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CloudTokenData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CloudTokenData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CloudTokenData>(), &CloudTokenData::ByteSizeLong,
              &CloudTokenData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_._cached_size_),
          true,
      },
      "sync_pb.CloudTokenData",
  };
}
struct CloudTokenDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CloudTokenDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CloudTokenData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CloudTokenData::InternalGenerateClassData_(
            _default, &CloudTokenData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CloudTokenData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CloudTokenDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CloudTokenData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CloudTokenData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CloudTokenDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CardIssuer::ParseTableT_ CardIssuer::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CardIssuer, _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::CardIssuer>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string issuer_id = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(CardIssuer, _impl_.issuer_id_)}},
      // optional .sync_pb.CardIssuer.Issuer issuer = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 1, 2,
        PROTOBUF_FIELD_OFFSET(CardIssuer, _impl_.issuer_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .sync_pb.CardIssuer.Issuer issuer = 1;
      {PROTOBUF_FIELD_OFFSET(CardIssuer, _impl_.issuer_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string issuer_id = 2;
      {PROTOBUF_FIELD_OFFSET(CardIssuer, _impl_.issuer_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr CardIssuer::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        issuer_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        issuer_{static_cast< ::sync_pb::CardIssuer_Issuer >(0)} {}

template <typename>
constexpr CardIssuer::CardIssuer(::_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 CardIssuer::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CardIssuer(arena);
}
constexpr auto CardIssuer::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(CardIssuer), alignof(CardIssuer));
}
constexpr auto CardIssuer::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
          &CardIssuer::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CardIssuer>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CardIssuer::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CardIssuer>(), &CardIssuer::ByteSizeLong,
              &CardIssuer::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CardIssuer, _impl_._cached_size_),
          true,
      },
      "sync_pb.CardIssuer",
  };
}
struct CardIssuerGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CardIssuerGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CardIssuer_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CardIssuer::InternalGenerateClassData_(
            _default, &CardIssuer_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CardIssuer>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CardIssuerGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CardIssuer _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CardIssuer>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CardIssuerGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CardBenefit_MerchantBenefit::ParseTableT_ CardBenefit_MerchantBenefit::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CardBenefit_MerchantBenefit, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // 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::CardBenefit_MerchantBenefit>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated string merchant_domain = 1;
      {::_pbi::TcParser::FastBR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(CardBenefit_MerchantBenefit, _impl_.merchant_domain_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated string merchant_domain = 1;
      {PROTOBUF_FIELD_OFFSET(CardBenefit_MerchantBenefit, _impl_.merchant_domain_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr CardBenefit_MerchantBenefit::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        merchant_domain_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::CardBenefit_MerchantBenefit,
            PROTOBUF_FIELD_OFFSET(::sync_pb::CardBenefit_MerchantBenefit, _impl_.merchant_domain_)>()
         }
     {}

template <typename>
constexpr CardBenefit_MerchantBenefit::CardBenefit_MerchantBenefit(::_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 CardBenefit_MerchantBenefit::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CardBenefit_MerchantBenefit(arena);
}
constexpr auto CardBenefit_MerchantBenefit::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(CardBenefit_MerchantBenefit), alignof(CardBenefit_MerchantBenefit));
}
constexpr auto CardBenefit_MerchantBenefit::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
          &CardBenefit_MerchantBenefit::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CardBenefit_MerchantBenefit>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CardBenefit_MerchantBenefit::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CardBenefit_MerchantBenefit>(), &CardBenefit_MerchantBenefit::ByteSizeLong,
              &CardBenefit_MerchantBenefit::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CardBenefit_MerchantBenefit, _impl_._cached_size_),
          true,
      },
      "sync_pb.CardBenefit.MerchantBenefit",
  };
}
struct CardBenefit_MerchantBenefitGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CardBenefit_MerchantBenefitGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CardBenefit_MerchantBenefit_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CardBenefit_MerchantBenefit::InternalGenerateClassData_(
            _default, &CardBenefit_MerchantBenefit_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CardBenefit_MerchantBenefit>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CardBenefit_MerchantBenefitGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CardBenefit_MerchantBenefit _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CardBenefit_MerchantBenefit>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CardBenefit_MerchantBenefitGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST CardBenefit_MerchantBenefitGlobalsTypeInternal CardBenefit_MerchantBenefit_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* CardBenefit_MerchantBenefit_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return CardBenefit_MerchantBenefit_globals_.GetClassData();
#else
  return CardBenefit_MerchantBenefit_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class CardBenefit_FlatRateBenefit::_Internal {
 public:
};

constexpr CardBenefit_FlatRateBenefit::ParseTableT_ CardBenefit_FlatRateBenefit::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CardBenefit_FlatRateBenefit,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // 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::CardBenefit_FlatRateBenefit>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr CardBenefit_FlatRateBenefit::CardBenefit_FlatRateBenefit(::_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 CardBenefit_FlatRateBenefit::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CardBenefit_FlatRateBenefit(arena);
}
constexpr auto CardBenefit_FlatRateBenefit::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CardBenefit_FlatRateBenefit), alignof(CardBenefit_FlatRateBenefit));
}
constexpr auto CardBenefit_FlatRateBenefit::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
          &CardBenefit_FlatRateBenefit::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CardBenefit_FlatRateBenefit>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CardBenefit_FlatRateBenefit::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CardBenefit_FlatRateBenefit>(), &CardBenefit_FlatRateBenefit::ByteSizeLong,
              &CardBenefit_FlatRateBenefit::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CardBenefit_FlatRateBenefit, _impl_._cached_size_),
          true,
      },
      "sync_pb.CardBenefit.FlatRateBenefit",
  };
}
struct CardBenefit_FlatRateBenefitGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CardBenefit_FlatRateBenefitGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CardBenefit_FlatRateBenefit_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CardBenefit_FlatRateBenefit::InternalGenerateClassData_(
            _default, &CardBenefit_FlatRateBenefit_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CardBenefit_FlatRateBenefit>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CardBenefit_FlatRateBenefitGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CardBenefit_FlatRateBenefit _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CardBenefit_FlatRateBenefit>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CardBenefit_FlatRateBenefitGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CardBenefit_CategoryBenefit::ParseTableT_ CardBenefit_CategoryBenefit::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CardBenefit_CategoryBenefit, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // 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::CardBenefit_CategoryBenefit>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .sync_pb.CardBenefit.CategoryBenefitType category_benefit_type = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 0, 16,
        PROTOBUF_FIELD_OFFSET(CardBenefit_CategoryBenefit, _impl_.category_benefit_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .sync_pb.CardBenefit.CategoryBenefitType category_benefit_type = 1;
      {PROTOBUF_FIELD_OFFSET(CardBenefit_CategoryBenefit, _impl_.category_benefit_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 16},
    }},
    {{
    }},
  };
}


inline constexpr CardBenefit_CategoryBenefit::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        category_benefit_type_{static_cast< ::sync_pb::CardBenefit_CategoryBenefitType >(0)} {}

template <typename>
constexpr CardBenefit_CategoryBenefit::CardBenefit_CategoryBenefit(::_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 CardBenefit_CategoryBenefit::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CardBenefit_CategoryBenefit(arena);
}
constexpr auto CardBenefit_CategoryBenefit::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CardBenefit_CategoryBenefit), alignof(CardBenefit_CategoryBenefit));
}
constexpr auto CardBenefit_CategoryBenefit::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
          &CardBenefit_CategoryBenefit::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CardBenefit_CategoryBenefit>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CardBenefit_CategoryBenefit::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CardBenefit_CategoryBenefit>(), &CardBenefit_CategoryBenefit::ByteSizeLong,
              &CardBenefit_CategoryBenefit::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CardBenefit_CategoryBenefit, _impl_._cached_size_),
          true,
      },
      "sync_pb.CardBenefit.CategoryBenefit",
  };
}
struct CardBenefit_CategoryBenefitGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CardBenefit_CategoryBenefitGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CardBenefit_CategoryBenefit_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CardBenefit_CategoryBenefit::InternalGenerateClassData_(
            _default, &CardBenefit_CategoryBenefit_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CardBenefit_CategoryBenefit>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CardBenefit_CategoryBenefitGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CardBenefit_CategoryBenefit _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CardBenefit_CategoryBenefit>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CardBenefit_CategoryBenefitGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BankAccountDetails::ParseTableT_ BankAccountDetails::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BankAccountDetails, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // 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::BankAccountDetails>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string bank_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(BankAccountDetails, _impl_.bank_name_)}},
      // optional string account_number_suffix = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(BankAccountDetails, _impl_.account_number_suffix_)}},
      // optional .sync_pb.BankAccountDetails.AccountType account_type = 3;
      {::_pbi::TcParser::FastEr0S1,
       {24, 2, 5,
        PROTOBUF_FIELD_OFFSET(BankAccountDetails, _impl_.account_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string bank_name = 1;
      {PROTOBUF_FIELD_OFFSET(BankAccountDetails, _impl_.bank_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string account_number_suffix = 2;
      {PROTOBUF_FIELD_OFFSET(BankAccountDetails, _impl_.account_number_suffix_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.BankAccountDetails.AccountType account_type = 3;
      {PROTOBUF_FIELD_OFFSET(BankAccountDetails, _impl_.account_type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 5},
    }},
    {{
    }},
  };
}


inline constexpr BankAccountDetails::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        bank_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        account_number_suffix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        account_type_{static_cast< ::sync_pb::BankAccountDetails_AccountType >(0)} {}

template <typename>
constexpr BankAccountDetails::BankAccountDetails(::_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 BankAccountDetails::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BankAccountDetails(arena);
}
constexpr auto BankAccountDetails::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(BankAccountDetails), alignof(BankAccountDetails));
}
constexpr auto BankAccountDetails::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
          &BankAccountDetails::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BankAccountDetails>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BankAccountDetails::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BankAccountDetails>(), &BankAccountDetails::ByteSizeLong,
              &BankAccountDetails::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BankAccountDetails, _impl_._cached_size_),
          true,
      },
      "sync_pb.BankAccountDetails",
  };
}
struct BankAccountDetailsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BankAccountDetailsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BankAccountDetails_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BankAccountDetails::InternalGenerateClassData_(
            _default, &BankAccountDetails_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BankAccountDetails>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BankAccountDetailsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BankAccountDetails _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BankAccountDetails>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BankAccountDetailsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AutofillProfileSpecifics::ParseTableT_ AutofillProfileSpecifics::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_._has_bits_),
      0, // no _extensions_
      106, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      570425344,  // skipmap
      offsetof(ParseTableT_, field_entries),
      90,  // num_field_entries
      38,  // 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::AutofillProfileSpecifics>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string deprecated_label = 1 [deprecated = true];
      {::_pbi::TcParser::FastBS1,
       {10, 10, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.deprecated_label_)}},
      // repeated string name_first = 2;
      {::_pbi::TcParser::FastBR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_first_)}},
      // repeated string name_middle = 3;
      {::_pbi::TcParser::FastBR1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_middle_)}},
      // repeated string name_last = 4;
      {::_pbi::TcParser::FastBR1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_)}},
      // repeated string email_address = 5;
      {::_pbi::TcParser::FastBR1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.email_address_)}},
      // optional string company_name = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 11, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.company_name_)}},
      // optional string address_home_line1 = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 12, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_line1_)}},
      // optional string address_home_line2 = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 13, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_line2_)}},
      // optional string address_home_city = 9;
      {::_pbi::TcParser::FastBS1,
       {74, 14, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_city_)}},
      // optional string address_home_state = 10;
      {::_pbi::TcParser::FastBS1,
       {82, 15, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_state_)}},
      // optional string address_home_zip = 11;
      {::_pbi::TcParser::FastBS1,
       {90, 16, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_zip_)}},
      // optional string address_home_country = 12;
      {::_pbi::TcParser::FastBS1,
       {98, 17, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_country_)}},
      // repeated string phone_home_whole_number = 13;
      {::_pbi::TcParser::FastBR1,
       {106, 4, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.phone_home_whole_number_)}},
      // optional string phone_fax_whole_number = 14 [deprecated = true];
      {::_pbi::TcParser::FastBS1,
       {114, 18, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.phone_fax_whole_number_)}},
      // optional string guid = 15;
      {::_pbi::TcParser::FastBS1,
       {122, 19, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.guid_)}},
      // optional string deprecated_origin = 16;
      {::_pbi::TcParser::FastBS2,
       {386, 20, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.deprecated_origin_)}},
      // optional string address_home_street_address = 17;
      {::_pbi::TcParser::FastBS2,
       {394, 21, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_street_address_)}},
      // optional string address_home_sorting_code = 18;
      {::_pbi::TcParser::FastBS2,
       {402, 22, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_sorting_code_)}},
      // optional string address_home_dependent_locality = 19;
      {::_pbi::TcParser::FastBS2,
       {410, 23, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_dependent_locality_)}},
      // optional string address_home_language_code = 20;
      {::_pbi::TcParser::FastBS2,
       {418, 24, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_language_code_)}},
      // repeated string name_full = 21;
      {::_pbi::TcParser::FastBR2,
       {426, 5, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_full_)}},
      // optional int64 use_count = 22;
      {::_pbi::TcParser::FastV64S2,
       {432, 26, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.use_count_)}},
      // optional int64 use_date = 23;
      {::_pbi::TcParser::FastV64S2,
       {440, 27, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.use_date_)}},
      // optional int64 validity_state_bitfield = 24 [deprecated = true];
      {::_pbi::TcParser::FastV64S2,
       {448, 28, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.validity_state_bitfield_)}},
      // optional bool is_client_validity_states_updated = 25 [deprecated = true];
      {::_pbi::TcParser::FastV8S2,
       {456, 29, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.is_client_validity_states_updated_)}},
      // optional string address_home_subpremise_name = 42;
      {::_pbi::TcParser::FastBS2,
       {722, 25, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_subpremise_name_)}},
      // repeated string name_last_first = 27;
      {::_pbi::TcParser::FastBR2,
       {474, 6, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_first_)}},
      // repeated string name_last_conjunction = 28;
      {::_pbi::TcParser::FastBR2,
       {482, 7, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_conjunction_)}},
      // repeated string name_last_second = 29;
      {::_pbi::TcParser::FastBR2,
       {490, 8, 0,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_second_)}},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_country_status = 46;
      {::_pbi::TcParser::FastEr0S2,
       {752, 30, 5,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_country_status_)}},
      // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_first_status = 31;
      {::_pbi::TcParser::FastEr0R2,
       {504, 9, 5,
        PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_first_status_)}},
    }}, {{
      33, 0, 5,
      384, 30,
      55344, 44,
      3, 54,
      0, 68,
      64572, 84,
      65535, 65535
    }}, {{
      // optional string deprecated_label = 1 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.deprecated_label_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string name_first = 2;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_first_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string name_middle = 3;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_middle_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string name_last = 4;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string email_address = 5;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.email_address_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional string company_name = 6;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.company_name_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_line1 = 7;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_line1_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_line2 = 8;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_line2_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_city = 9;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_city_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_state = 10;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_state_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_zip = 11;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_zip_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_country = 12;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_country_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string phone_home_whole_number = 13;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.phone_home_whole_number_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional string phone_fax_whole_number = 14 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.phone_fax_whole_number_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string guid = 15;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.guid_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string deprecated_origin = 16;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.deprecated_origin_), _Internal::kHasBitsOffset + 20, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_street_address = 17;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_street_address_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_sorting_code = 18;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_sorting_code_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_dependent_locality = 19;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_dependent_locality_), _Internal::kHasBitsOffset + 23, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_language_code = 20;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_language_code_), _Internal::kHasBitsOffset + 24, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string name_full = 21;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_full_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional int64 use_count = 22;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.use_count_), _Internal::kHasBitsOffset + 26, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 use_date = 23;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.use_date_), _Internal::kHasBitsOffset + 27, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 validity_state_bitfield = 24 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.validity_state_bitfield_), _Internal::kHasBitsOffset + 28, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool is_client_validity_states_updated = 25 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.is_client_validity_states_updated_), _Internal::kHasBitsOffset + 29, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // repeated string name_last_first = 27;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_first_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string name_last_conjunction = 28;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_conjunction_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string name_last_second = 29;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_second_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_first_status = 31;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_first_status_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_middle_status = 32;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_middle_status_), _Internal::kHasBitsOffset + 31, 1, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_status = 33;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_status_), _Internal::kHasBitsOffset + 32, 2, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_first_status = 34;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_first_status_), _Internal::kHasBitsOffset + 33, 3, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_conjunction_status = 35;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_conjunction_status_), _Internal::kHasBitsOffset + 34, 4, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_second_status = 36;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_last_second_status_), _Internal::kHasBitsOffset + 35, 5, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_full_status = 37;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.name_full_status_), _Internal::kHasBitsOffset + 36, 6, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // optional string address_home_thoroughfare_name = 38;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_thoroughfare_name_), _Internal::kHasBitsOffset + 37, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_thoroughfare_number = 39;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_thoroughfare_number_), _Internal::kHasBitsOffset + 38, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_subpremise_name = 42;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_subpremise_name_), _Internal::kHasBitsOffset + 25, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_city_status = 43;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_city_status_), _Internal::kHasBitsOffset + 60, 7, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_state_status = 44;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_state_status_), _Internal::kHasBitsOffset + 61, 8, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_status = 45;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_zip_status_), _Internal::kHasBitsOffset + 62, 9, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_country_status = 46;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_country_status_), _Internal::kHasBitsOffset + 30, 10, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_address_status = 47;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_street_address_status_), _Internal::kHasBitsOffset + 63, 11, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_sorting_code_status = 48;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_sorting_code_status_), _Internal::kHasBitsOffset + 64, 12, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_dependent_locality_status = 49;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_dependent_locality_status_), _Internal::kHasBitsOffset + 65, 13, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_language_code_status = 50;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_language_code_status_), _Internal::kHasBitsOffset + 66, 14, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_name_status = 51;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_thoroughfare_name_status_), _Internal::kHasBitsOffset + 67, 15, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_number_status = 52;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_thoroughfare_number_status_), _Internal::kHasBitsOffset + 68, 16, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_subpremise_name_status = 55;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_subpremise_name_status_), _Internal::kHasBitsOffset + 69, 17, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_apt_num = 56;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_apt_num_), _Internal::kHasBitsOffset + 39, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_floor = 57;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_floor_), _Internal::kHasBitsOffset + 40, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_num_status = 58;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_apt_num_status_), _Internal::kHasBitsOffset + 70, 18, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_floor_status = 59;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_floor_status_), _Internal::kHasBitsOffset + 71, 19, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string profile_label = 62;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.profile_label_), _Internal::kHasBitsOffset + 41, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_landmark = 67;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_landmark_), _Internal::kHasBitsOffset + 42, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_landmark_status = 68;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_landmark_status_), _Internal::kHasBitsOffset + 72, 20, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_between_streets = 69;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_between_streets_), _Internal::kHasBitsOffset + 43, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_status = 70;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_between_streets_status_), _Internal::kHasBitsOffset + 73, 21, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_admin_level_2 = 71;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_admin_level_2_), _Internal::kHasBitsOffset + 44, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_admin_level_2_status = 72;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_admin_level_2_status_), _Internal::kHasBitsOffset + 74, 22, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_street_location = 73;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_street_location_), _Internal::kHasBitsOffset + 45, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_location_status = 74;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_street_location_status_), _Internal::kHasBitsOffset + 75, 23, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_overflow = 75;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_overflow_), _Internal::kHasBitsOffset + 46, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_overflow_status = 76;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_overflow_status_), _Internal::kHasBitsOffset + 76, 24, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_between_streets_1 = 77;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_between_streets_1_), _Internal::kHasBitsOffset + 47, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_1_status = 78;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_between_streets_1_status_), _Internal::kHasBitsOffset + 77, 25, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_between_streets_2 = 79;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_between_streets_2_), _Internal::kHasBitsOffset + 48, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_2_status = 80;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_between_streets_2_status_), _Internal::kHasBitsOffset + 78, 26, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_between_streets_or_landmark = 81;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_between_streets_or_landmark_), _Internal::kHasBitsOffset + 49, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_or_landmark_status = 82;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_between_streets_or_landmark_status_), _Internal::kHasBitsOffset + 79, 27, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_overflow_and_landmark = 83;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_overflow_and_landmark_), _Internal::kHasBitsOffset + 50, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_overflow_and_landmark_status = 84;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_overflow_and_landmark_status_), _Internal::kHasBitsOffset + 80, 28, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_apt = 85;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_apt_), _Internal::kHasBitsOffset + 51, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_status = 86;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_apt_status_), _Internal::kHasBitsOffset + 81, 29, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_apt_type = 87;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_apt_type_), _Internal::kHasBitsOffset + 52, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_type_status = 88;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_apt_type_status_), _Internal::kHasBitsOffset + 82, 30, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_street_location_and_locality = 89;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_street_location_and_locality_), _Internal::kHasBitsOffset + 53, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_location_and_locality_status = 90;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_street_location_and_locality_status_), _Internal::kHasBitsOffset + 83, 31, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_thoroughfare_number_and_apt = 91;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_thoroughfare_number_and_apt_), _Internal::kHasBitsOffset + 54, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_number_and_apt_status = 92;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_thoroughfare_number_and_apt_status_), _Internal::kHasBitsOffset + 84, 32, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string alternative_full_name = 93;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.alternative_full_name_), _Internal::kHasBitsOffset + 55, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string alternative_given_name = 94;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.alternative_given_name_), _Internal::kHasBitsOffset + 56, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string alternative_family_name = 95;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.alternative_family_name_), _Internal::kHasBitsOffset + 57, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_full_name_status = 96;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.alternative_full_name_status_), _Internal::kHasBitsOffset + 85, 33, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_given_name_status = 97;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.alternative_given_name_status_), _Internal::kHasBitsOffset + 86, 34, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_family_name_status = 98;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.alternative_family_name_status_), _Internal::kHasBitsOffset + 87, 35, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string address_home_zip_prefix = 103;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_zip_prefix_), _Internal::kHasBitsOffset + 58, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string address_home_zip_suffix = 104;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_zip_suffix_), _Internal::kHasBitsOffset + 59, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_prefix_status = 105;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_zip_prefix_status_), _Internal::kHasBitsOffset + 88, 36, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_suffix_status = 106;
      {PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_zip_suffix_status_), _Internal::kHasBitsOffset + 89, 37, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
        {0, 5},
    }},
    {{
    }},
  };
}


inline constexpr AutofillProfileSpecifics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_first_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_first_)>()
         }
        ,
        name_middle_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_middle_)>()
         }
        ,
        name_last_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_)>()
         }
        ,
        email_address_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.email_address_)>()
         }
        ,
        phone_home_whole_number_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.phone_home_whole_number_)>()
         }
        ,
        name_full_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_full_)>()
         }
        ,
        name_last_first_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_first_)>()
         }
        ,
        name_last_conjunction_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_conjunction_)>()
         }
        ,
        name_last_second_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_second_)>()
         }
        ,
        name_first_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_first_status_)>()
         }
        ,
        deprecated_label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        company_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_line1_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_line2_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_city_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_state_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_zip_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_country_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        phone_fax_whole_number_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        guid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        deprecated_origin_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_street_address_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_sorting_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_dependent_locality_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_language_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_subpremise_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        use_count_{::int64_t{0}},
        use_date_{::int64_t{0}},
        validity_state_bitfield_{::int64_t{0}},
        is_client_validity_states_updated_{false},
        address_home_country_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        name_middle_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_middle_status_)>()
         }
        ,
        name_last_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_status_)>()
         }
        ,
        name_last_first_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_first_status_)>()
         }
        ,
        name_last_conjunction_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_conjunction_status_)>()
         }
        ,
        name_last_second_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_second_status_)>()
         }
        ,
        name_full_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_full_status_)>()
         }
        ,
        address_home_thoroughfare_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_thoroughfare_number_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_apt_num_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_floor_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        profile_label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_landmark_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_between_streets_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_admin_level_2_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_street_location_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_overflow_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_between_streets_1_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_between_streets_2_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_between_streets_or_landmark_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_overflow_and_landmark_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_apt_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_apt_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_street_location_and_locality_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_thoroughfare_number_and_apt_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        alternative_full_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        alternative_given_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        alternative_family_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_zip_prefix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_zip_suffix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        address_home_city_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_state_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_zip_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_street_address_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_sorting_code_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_dependent_locality_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_language_code_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_thoroughfare_name_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_thoroughfare_number_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_subpremise_name_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_apt_num_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_floor_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_landmark_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_between_streets_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_admin_level_2_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_street_location_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_overflow_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_between_streets_1_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_between_streets_2_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_between_streets_or_landmark_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_overflow_and_landmark_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_apt_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_apt_type_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_street_location_and_locality_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_thoroughfare_number_and_apt_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        alternative_full_name_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        alternative_given_name_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        alternative_family_name_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_zip_prefix_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)},
        address_home_zip_suffix_status_{static_cast< ::sync_pb::AutofillProfileSpecifics_VerificationStatus >(0)} {}

template <typename>
constexpr AutofillProfileSpecifics::AutofillProfileSpecifics(::_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 AutofillProfileSpecifics::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AutofillProfileSpecifics(arena);
}
constexpr auto AutofillProfileSpecifics::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AutofillProfileSpecifics), alignof(AutofillProfileSpecifics));
}
constexpr auto AutofillProfileSpecifics::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
          &AutofillProfileSpecifics::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AutofillProfileSpecifics>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AutofillProfileSpecifics::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AutofillProfileSpecifics>(), &AutofillProfileSpecifics::ByteSizeLong,
              &AutofillProfileSpecifics::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_._cached_size_),
          true,
      },
      "sync_pb.AutofillProfileSpecifics",
  };
}
struct AutofillProfileSpecificsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AutofillProfileSpecificsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AutofillProfileSpecifics_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AutofillProfileSpecifics::InternalGenerateClassData_(
            _default, &AutofillProfileSpecifics_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AutofillProfileSpecifics>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AutofillProfileSpecificsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AutofillProfileSpecifics _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AutofillProfileSpecifics>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AutofillProfileSpecificsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CardBenefit::ParseTableT_ CardBenefit::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      3,  // 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::CardBenefit>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string benefit_description = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.benefit_description_)}},
      // optional int64 start_time_unix_epoch_milliseconds = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.start_time_unix_epoch_milliseconds_)}},
      // optional int64 end_time_unix_epoch_milliseconds = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.end_time_unix_epoch_milliseconds_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional string benefit_id = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 1, 0,
        PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.benefit_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string benefit_description = 1;
      {PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.benefit_description_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int64 start_time_unix_epoch_milliseconds = 2;
      {PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.start_time_unix_epoch_milliseconds_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 end_time_unix_epoch_milliseconds = 3;
      {PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.end_time_unix_epoch_milliseconds_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .sync_pb.CardBenefit.FlatRateBenefit flat_rate_benefit = 4;
      {PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.DomainSpecificBenefit_.flat_rate_benefit_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .sync_pb.CardBenefit.CategoryBenefit category_benefit = 5;
      {PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.DomainSpecificBenefit_.category_benefit_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .sync_pb.CardBenefit.MerchantBenefit merchant_benefit = 6;
      {PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.DomainSpecificBenefit_.merchant_benefit_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string benefit_id = 7;
      {PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.benefit_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::CardBenefit_FlatRateBenefit>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::CardBenefit_FlatRateBenefit_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::CardBenefit_CategoryBenefit>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::CardBenefit_CategoryBenefit_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::CardBenefit_MerchantBenefit>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::CardBenefit_MerchantBenefit_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr CardBenefit::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        benefit_description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        benefit_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        start_time_unix_epoch_milliseconds_{::int64_t{0}},
        end_time_unix_epoch_milliseconds_{::int64_t{0}},
        DomainSpecificBenefit_{},
        _oneof_case_{} {}

template <typename>
constexpr CardBenefit::CardBenefit(::_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 CardBenefit::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CardBenefit(arena);
}
constexpr auto CardBenefit::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(CardBenefit), alignof(CardBenefit));
}
constexpr auto CardBenefit::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
          &CardBenefit::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CardBenefit>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CardBenefit::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CardBenefit>(), &CardBenefit::ByteSizeLong,
              &CardBenefit::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_._cached_size_),
          true,
      },
      "sync_pb.CardBenefit",
  };
}
struct CardBenefitGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CardBenefitGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CardBenefit_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CardBenefit::InternalGenerateClassData_(
            _default, &CardBenefit_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CardBenefit>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CardBenefitGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CardBenefit _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CardBenefit>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CardBenefitGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BnplIssuerDetails::ParseTableT_ BnplIssuerDetails::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BnplIssuerDetails, _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::BnplIssuerDetails>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .sync_pb.EligiblePriceRange eligible_price_range = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(BnplIssuerDetails, _impl_.eligible_price_range_)}},
      // optional string issuer_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(BnplIssuerDetails, _impl_.issuer_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string issuer_id = 1;
      {PROTOBUF_FIELD_OFFSET(BnplIssuerDetails, _impl_.issuer_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .sync_pb.EligiblePriceRange eligible_price_range = 2;
      {PROTOBUF_FIELD_OFFSET(BnplIssuerDetails, _impl_.eligible_price_range_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::EligiblePriceRange>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::EligiblePriceRange_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr BnplIssuerDetails::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        eligible_price_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::BnplIssuerDetails,
            PROTOBUF_FIELD_OFFSET(::sync_pb::BnplIssuerDetails, _impl_.eligible_price_range_)>()
         }
        ,
        issuer_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr BnplIssuerDetails::BnplIssuerDetails(::_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 BnplIssuerDetails::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BnplIssuerDetails(arena);
}
constexpr auto BnplIssuerDetails::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(BnplIssuerDetails), alignof(BnplIssuerDetails));
}
constexpr auto BnplIssuerDetails::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
          &BnplIssuerDetails::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BnplIssuerDetails>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BnplIssuerDetails::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BnplIssuerDetails>(), &BnplIssuerDetails::ByteSizeLong,
              &BnplIssuerDetails::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BnplIssuerDetails, _impl_._cached_size_),
          true,
      },
      "sync_pb.BnplIssuerDetails",
  };
}
struct BnplIssuerDetailsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BnplIssuerDetailsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BnplIssuerDetails_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BnplIssuerDetails::InternalGenerateClassData_(
            _default, &BnplIssuerDetails_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BnplIssuerDetails>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BnplIssuerDetailsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BnplIssuerDetails _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BnplIssuerDetails>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BnplIssuerDetailsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BnplCreationOption::ParseTableT_ BnplCreationOption::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BnplCreationOption, _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::BnplCreationOption>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .sync_pb.EligiblePriceRange eligible_price_range = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(BnplCreationOption, _impl_.eligible_price_range_)}},
      // optional string issuer_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(BnplCreationOption, _impl_.issuer_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string issuer_id = 1;
      {PROTOBUF_FIELD_OFFSET(BnplCreationOption, _impl_.issuer_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .sync_pb.EligiblePriceRange eligible_price_range = 2;
      {PROTOBUF_FIELD_OFFSET(BnplCreationOption, _impl_.eligible_price_range_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::EligiblePriceRange>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::EligiblePriceRange_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr BnplCreationOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        eligible_price_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::BnplCreationOption,
            PROTOBUF_FIELD_OFFSET(::sync_pb::BnplCreationOption, _impl_.eligible_price_range_)>()
         }
        ,
        issuer_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr BnplCreationOption::BnplCreationOption(::_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 BnplCreationOption::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BnplCreationOption(arena);
}
constexpr auto BnplCreationOption::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(BnplCreationOption), alignof(BnplCreationOption));
}
constexpr auto BnplCreationOption::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
          &BnplCreationOption::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BnplCreationOption>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BnplCreationOption::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BnplCreationOption>(), &BnplCreationOption::ByteSizeLong,
              &BnplCreationOption::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BnplCreationOption, _impl_._cached_size_),
          true,
      },
      "sync_pb.BnplCreationOption",
  };
}
struct BnplCreationOptionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BnplCreationOptionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BnplCreationOption_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BnplCreationOption::InternalGenerateClassData_(
            _default, &BnplCreationOption_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BnplCreationOption>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BnplCreationOptionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BnplCreationOption _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BnplCreationOption>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BnplCreationOptionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AutofillSpecifics::ParseTableT_ AutofillSpecifics::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _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
      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::AutofillSpecifics>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .sync_pb.AutofillProfileSpecifics profile = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_.profile_)}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_.name_)}},
      // optional string value = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_.value_)}},
      // repeated int64 usage_timestamp = 3;
      {::_pbi::TcParser::FastV64R1,
       {24, 0, 0,
        PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_.usage_timestamp_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string value = 2;
      {PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_.value_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated int64 usage_timestamp = 3;
      {PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_.usage_timestamp_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
      // optional .sync_pb.AutofillProfileSpecifics profile = 4;
      {PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_.profile_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::AutofillProfileSpecifics>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::AutofillProfileSpecifics_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AutofillSpecifics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        usage_timestamp_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillSpecifics, _impl_.usage_timestamp_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        profile_{nullptr} {}

template <typename>
constexpr AutofillSpecifics::AutofillSpecifics(::_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 AutofillSpecifics::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AutofillSpecifics(arena);
}
constexpr auto AutofillSpecifics::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AutofillSpecifics), alignof(AutofillSpecifics));
}
constexpr auto AutofillSpecifics::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
          &AutofillSpecifics::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AutofillSpecifics>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AutofillSpecifics::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AutofillSpecifics>(), &AutofillSpecifics::ByteSizeLong,
              &AutofillSpecifics::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AutofillSpecifics, _impl_._cached_size_),
          true,
      },
      "sync_pb.AutofillSpecifics",
  };
}
struct AutofillSpecificsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AutofillSpecificsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AutofillSpecifics_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AutofillSpecifics::InternalGenerateClassData_(
            _default, &AutofillSpecifics_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AutofillSpecifics>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AutofillSpecificsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AutofillSpecifics _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AutofillSpecifics>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AutofillSpecificsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr WalletMaskedCreditCard::ParseTableT_ WalletMaskedCreditCard::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_._has_bits_),
      0, // no _extensions_
      24, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4278198528,  // skipmap
      offsetof(ParseTableT_, field_entries),
      22,  // num_field_entries
      10,  // 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::WalletMaskedCreditCard>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.id_)}},
      // optional .sync_pb.WalletMaskedCreditCard.WalletCardStatus status = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 12, 1,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.status_)}},
      // optional string name_on_card = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.name_on_card_)}},
      // optional .sync_pb.WalletMaskedCreditCard.WalletCardType type = 4;
      {::_pbi::TcParser::FastEr0S1,
       {32, 13, 11,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.type_)}},
      // optional string last_four = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.last_four_)}},
      // optional int32 exp_month = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 14, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.exp_month_)}},
      // optional int32 exp_year = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 15, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.exp_year_)}},
      // optional string billing_address_id = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 4, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.billing_address_id_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional string bank_name = 10;
      {::_pbi::TcParser::FastBS1,
       {82, 5, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.bank_name_)}},
      // optional .sync_pb.CloudTokenData cloud_token_data = 11;
      {::_pbi::TcParser::FastMtS1,
       {90, 10, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.cloud_token_data_)}},
      // optional string nickname = 12;
      {::_pbi::TcParser::FastBS1,
       {98, 6, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.nickname_)}},
      // optional .sync_pb.CardIssuer card_issuer = 13;
      {::_pbi::TcParser::FastMtS1,
       {106, 11, 1,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_issuer_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 instrument_id = 15;
      {::_pbi::TcParser::FastV64S1,
       {120, 16, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.instrument_id_)}},
      // optional .sync_pb.WalletMaskedCreditCard.VirtualCardEnrollmentState virtual_card_enrollment_state = 16;
      {::_pbi::TcParser::FastEr0S2,
       {384, 17, 4,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.virtual_card_enrollment_state_)}},
      // optional string card_art_url = 17;
      {::_pbi::TcParser::FastBS2,
       {394, 7, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_art_url_)}},
      // optional string product_description = 18;
      {::_pbi::TcParser::FastBS2,
       {402, 8, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.product_description_)}},
      // optional .sync_pb.WalletMaskedCreditCard.VirtualCardEnrollmentType virtual_card_enrollment_type = 19;
      {::_pbi::TcParser::FastEr0S2,
       {408, 18, 2,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.virtual_card_enrollment_type_)}},
      // repeated .sync_pb.CardBenefit card_benefit = 20;
      {::_pbi::TcParser::FastMtR2,
       {418, 0, 2,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_benefit_)}},
      // optional string product_terms_url = 21;
      {::_pbi::TcParser::FastBS2,
       {426, 9, 0,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.product_terms_url_)}},
      // optional .sync_pb.WalletMaskedCreditCard.CardInfoRetrievalEnrollmentState card_info_retrieval_enrollment_state = 22;
      {::_pbi::TcParser::FastEr0S2,
       {432, 19, 3,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_info_retrieval_enrollment_state_)}},
      // optional .sync_pb.WalletMaskedCreditCard.CardBenefitSource card_benefit_source = 23;
      {::_pbi::TcParser::FastEr0S2,
       {440, 20, 3,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_benefit_source_)}},
      // optional .sync_pb.WalletMaskedCreditCard.CardCreationSource card_creation_source = 24;
      {::_pbi::TcParser::FastEr0S2,
       {448, 21, 2,
        PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_creation_source_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string id = 1;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.WalletMaskedCreditCard.WalletCardStatus status = 2;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.status_), _Internal::kHasBitsOffset + 12, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string name_on_card = 3;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.name_on_card_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.WalletMaskedCreditCard.WalletCardType type = 4;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.type_), _Internal::kHasBitsOffset + 13, 4, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string last_four = 5;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.last_four_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 exp_month = 6;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.exp_month_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 exp_year = 7;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.exp_year_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string billing_address_id = 8;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.billing_address_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string bank_name = 10;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.bank_name_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.CloudTokenData cloud_token_data = 11;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.cloud_token_data_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string nickname = 12;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.nickname_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.CardIssuer card_issuer = 13;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_issuer_), _Internal::kHasBitsOffset + 11, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional int64 instrument_id = 15;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.instrument_id_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional .sync_pb.WalletMaskedCreditCard.VirtualCardEnrollmentState virtual_card_enrollment_state = 16;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.virtual_card_enrollment_state_), _Internal::kHasBitsOffset + 17, 5, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string card_art_url = 17;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_art_url_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string product_description = 18;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.product_description_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.WalletMaskedCreditCard.VirtualCardEnrollmentType virtual_card_enrollment_type = 19;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.virtual_card_enrollment_type_), _Internal::kHasBitsOffset + 18, 6, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // repeated .sync_pb.CardBenefit card_benefit = 20;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_benefit_), _Internal::kHasBitsOffset + 0, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string product_terms_url = 21;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.product_terms_url_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .sync_pb.WalletMaskedCreditCard.CardInfoRetrievalEnrollmentState card_info_retrieval_enrollment_state = 22;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_info_retrieval_enrollment_state_), _Internal::kHasBitsOffset + 19, 7, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.WalletMaskedCreditCard.CardBenefitSource card_benefit_source = 23;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_benefit_source_), _Internal::kHasBitsOffset + 20, 8, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.WalletMaskedCreditCard.CardCreationSource card_creation_source = 24;
      {PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_creation_source_), _Internal::kHasBitsOffset + 21, 9, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::CloudTokenData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::CloudTokenData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::CardIssuer>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::CardIssuer_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::CardBenefit>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::CardBenefit_globals_},
        #endif
        {0, 1},
        {0, 11},
        {0, 4},
        {0, 2},
        {0, 3},
        {0, 3},
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr WalletMaskedCreditCard::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        card_benefit_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::WalletMaskedCreditCard,
            PROTOBUF_FIELD_OFFSET(::sync_pb::WalletMaskedCreditCard, _impl_.card_benefit_)>()
         }
        ,
        id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        name_on_card_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        last_four_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        billing_address_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        bank_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        nickname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        card_art_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        product_description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        product_terms_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        cloud_token_data_{nullptr},
        card_issuer_{nullptr},
        status_{static_cast< ::sync_pb::WalletMaskedCreditCard_WalletCardStatus >(0)},
        type_{static_cast< ::sync_pb::WalletMaskedCreditCard_WalletCardType >(0)},
        exp_month_{0},
        exp_year_{0},
        instrument_id_{::int64_t{0}},
        virtual_card_enrollment_state_{static_cast< ::sync_pb::WalletMaskedCreditCard_VirtualCardEnrollmentState >(0)},
        virtual_card_enrollment_type_{static_cast< ::sync_pb::WalletMaskedCreditCard_VirtualCardEnrollmentType >(0)},
        card_info_retrieval_enrollment_state_{static_cast< ::sync_pb::WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState >(0)},
        card_benefit_source_{static_cast< ::sync_pb::WalletMaskedCreditCard_CardBenefitSource >(0)},
        card_creation_source_{static_cast< ::sync_pb::WalletMaskedCreditCard_CardCreationSource >(0)} {}

template <typename>
constexpr WalletMaskedCreditCard::WalletMaskedCreditCard(::_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 WalletMaskedCreditCard::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) WalletMaskedCreditCard(arena);
}
constexpr auto WalletMaskedCreditCard::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(WalletMaskedCreditCard), alignof(WalletMaskedCreditCard));
}
constexpr auto WalletMaskedCreditCard::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
          &WalletMaskedCreditCard::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<WalletMaskedCreditCard>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &WalletMaskedCreditCard::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<WalletMaskedCreditCard>(), &WalletMaskedCreditCard::ByteSizeLong,
              &WalletMaskedCreditCard::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_._cached_size_),
          true,
      },
      "sync_pb.WalletMaskedCreditCard",
  };
}
struct WalletMaskedCreditCardGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr WalletMaskedCreditCardGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 WalletMaskedCreditCard_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(WalletMaskedCreditCard::InternalGenerateClassData_(
            _default, &WalletMaskedCreditCard_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<WalletMaskedCreditCard>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~WalletMaskedCreditCardGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) WalletMaskedCreditCard _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<WalletMaskedCreditCard>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCardGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PaymentInstrumentCreationOption::ParseTableT_ PaymentInstrumentCreationOption::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PaymentInstrumentCreationOption, _impl_._has_bits_),
      0, // no _extensions_
      4, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      3,  // 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::PaymentInstrumentCreationOption>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PaymentInstrumentCreationOption, _impl_.id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string id = 1;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrumentCreationOption, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .sync_pb.BnplCreationOption buy_now_pay_later_option = 2;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrumentCreationOption, _impl_.creation_option_.buy_now_pay_later_option_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .sync_pb.EwalletCreationOption ewallet_creation_option = 3;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrumentCreationOption, _impl_.creation_option_.ewallet_creation_option_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .sync_pb.PixCreationOption pix_creation_option = 4;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrumentCreationOption, _impl_.creation_option_.pix_creation_option_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::BnplCreationOption>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::BnplCreationOption_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::EwalletCreationOption>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::EwalletCreationOption_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::PixCreationOption>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::PixCreationOption_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PaymentInstrumentCreationOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        creation_option_{},
        _oneof_case_{} {}

template <typename>
constexpr PaymentInstrumentCreationOption::PaymentInstrumentCreationOption(::_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 PaymentInstrumentCreationOption::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PaymentInstrumentCreationOption(arena);
}
constexpr auto PaymentInstrumentCreationOption::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PaymentInstrumentCreationOption), alignof(PaymentInstrumentCreationOption));
}
constexpr auto PaymentInstrumentCreationOption::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
          &PaymentInstrumentCreationOption::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PaymentInstrumentCreationOption>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PaymentInstrumentCreationOption::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PaymentInstrumentCreationOption>(), &PaymentInstrumentCreationOption::ByteSizeLong,
              &PaymentInstrumentCreationOption::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PaymentInstrumentCreationOption, _impl_._cached_size_),
          true,
      },
      "sync_pb.PaymentInstrumentCreationOption",
  };
}
struct PaymentInstrumentCreationOptionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PaymentInstrumentCreationOptionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PaymentInstrumentCreationOption_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PaymentInstrumentCreationOption::InternalGenerateClassData_(
            _default, &PaymentInstrumentCreationOption_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PaymentInstrumentCreationOption>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PaymentInstrumentCreationOptionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PaymentInstrumentCreationOption _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PaymentInstrumentCreationOption>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PaymentInstrumentCreationOptionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PaymentInstrument::ParseTableT_ PaymentInstrument::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_._has_bits_),
      0, // no _extensions_
      10, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966272,  // skipmap
      offsetof(ParseTableT_, field_entries),
      10,  // num_field_entries
      7,  // 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::PaymentInstrument>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 instrument_id = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 4, 0,
        PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.instrument_id_)}},
      // repeated .sync_pb.PaymentInstrument.SupportedRail supported_rails = 2;
      {::_pbi::TcParser::FastEr0R1,
       {16, 0, 4,
        PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.supported_rails_)}},
      // optional string display_icon_url = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.display_icon_url_)}},
      // optional string nickname = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.nickname_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional .sync_pb.DeviceDetails device_details = 8;
      {::_pbi::TcParser::FastMtS1,
       {66, 3, 3,
        PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.device_details_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .sync_pb.PaymentInstrument.ActionRequired action_required = 10;
      {::_pbi::TcParser::FastEr0R1,
       {80, 5, 1,
        PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.action_required_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 instrument_id = 1;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.instrument_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // repeated .sync_pb.PaymentInstrument.SupportedRail supported_rails = 2;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.supported_rails_), _Internal::kHasBitsOffset + 0, 5, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // optional string display_icon_url = 3;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.display_icon_url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string nickname = 4;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.nickname_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .sync_pb.BankAccountDetails bank_account = 5;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.instrument_details_.bank_account_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .sync_pb.WalletMaskedIban iban = 6;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.instrument_details_.iban_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .sync_pb.EwalletDetails ewallet_details = 7;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.instrument_details_.ewallet_details_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.DeviceDetails device_details = 8;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.device_details_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .sync_pb.BnplIssuerDetails bnpl_issuer_details = 9;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.instrument_details_.bnpl_issuer_details_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .sync_pb.PaymentInstrument.ActionRequired action_required = 10;
      {PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.action_required_), _Internal::kHasBitsOffset + 5, 6, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::BankAccountDetails>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::BankAccountDetails_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::WalletMaskedIban>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::WalletMaskedIban_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::EwalletDetails>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::EwalletDetails_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::DeviceDetails>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::DeviceDetails_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::BnplIssuerDetails>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::BnplIssuerDetails_globals_},
        #endif
        {0, 4},
        {0, 1},
    }},
    {{
    }},
  };
}


inline constexpr PaymentInstrument::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        supported_rails_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::PaymentInstrument,
            PROTOBUF_FIELD_OFFSET(::sync_pb::PaymentInstrument, _impl_.supported_rails_)>()
         }
        ,
        display_icon_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        nickname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        device_details_{nullptr},
        instrument_id_{::int64_t{0}},
        action_required_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::PaymentInstrument,
            PROTOBUF_FIELD_OFFSET(::sync_pb::PaymentInstrument, _impl_.action_required_)>()
         }
        ,
        instrument_details_{},
        _oneof_case_{} {}

template <typename>
constexpr PaymentInstrument::PaymentInstrument(::_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 PaymentInstrument::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PaymentInstrument(arena);
}
constexpr auto PaymentInstrument::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PaymentInstrument), alignof(PaymentInstrument));
}
constexpr auto PaymentInstrument::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
          &PaymentInstrument::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PaymentInstrument>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PaymentInstrument::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PaymentInstrument>(), &PaymentInstrument::ByteSizeLong,
              &PaymentInstrument::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_._cached_size_),
          true,
      },
      "sync_pb.PaymentInstrument",
  };
}
struct PaymentInstrumentGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PaymentInstrumentGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PaymentInstrument_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PaymentInstrument::InternalGenerateClassData_(
            _default, &PaymentInstrument_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PaymentInstrument>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PaymentInstrumentGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PaymentInstrument _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PaymentInstrument>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PaymentInstrumentGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AutofillWalletSpecifics::ParseTableT_ AutofillWalletSpecifics::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _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
      8,  // 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::AutofillWalletSpecifics>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .sync_pb.PaymentInstrumentCreationOption payment_instrument_creation_option = 8;
      {::_pbi::TcParser::FastMtS1,
       {66, 6, 6,
        PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.payment_instrument_creation_option_)}},
      // optional .sync_pb.AutofillWalletSpecifics.WalletInfoType type = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 7, 7,
        PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.type_)}},
      // optional .sync_pb.WalletMaskedCreditCard masked_card = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.masked_card_)}},
      // optional .sync_pb.WalletPostalAddress address = 3;
      {::_pbi::TcParser::FastMtS1,
       {26, 1, 1,
        PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.address_)}},
      // optional .sync_pb.PaymentsCustomerData customer_data = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 2, 2,
        PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.customer_data_)}},
      // optional .sync_pb.WalletCreditCardCloudTokenData cloud_token_data = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 3, 3,
        PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.cloud_token_data_)}},
      // optional .sync_pb.PaymentInstrument payment_instrument = 6;
      {::_pbi::TcParser::FastMtS1,
       {50, 4, 4,
        PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.payment_instrument_)}},
      // optional .sync_pb.WalletMaskedIban masked_iban = 7 [deprecated = true];
      {::_pbi::TcParser::FastMtS1,
       {58, 5, 5,
        PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.masked_iban_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .sync_pb.AutofillWalletSpecifics.WalletInfoType type = 1;
      {PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.type_), _Internal::kHasBitsOffset + 7, 7, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .sync_pb.WalletMaskedCreditCard masked_card = 2;
      {PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.masked_card_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.WalletPostalAddress address = 3;
      {PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.address_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.PaymentsCustomerData customer_data = 4;
      {PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.customer_data_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.WalletCreditCardCloudTokenData cloud_token_data = 5;
      {PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.cloud_token_data_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.PaymentInstrument payment_instrument = 6;
      {PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.payment_instrument_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.WalletMaskedIban masked_iban = 7 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.masked_iban_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .sync_pb.PaymentInstrumentCreationOption payment_instrument_creation_option = 8;
      {PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.payment_instrument_creation_option_), _Internal::kHasBitsOffset + 6, 6, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::WalletMaskedCreditCard>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::WalletMaskedCreditCard_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::WalletPostalAddress>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::WalletPostalAddress_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::PaymentsCustomerData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::PaymentsCustomerData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::WalletCreditCardCloudTokenData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::WalletCreditCardCloudTokenData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::PaymentInstrument>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::PaymentInstrument_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::WalletMaskedIban>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::WalletMaskedIban_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::sync_pb::PaymentInstrumentCreationOption>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::sync_pb::PaymentInstrumentCreationOption_globals_},
        #endif
        {0, 7},
    }},
    {{
    }},
  };
}


inline constexpr AutofillWalletSpecifics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        masked_card_{nullptr},
        address_{nullptr},
        customer_data_{nullptr},
        cloud_token_data_{nullptr},
        payment_instrument_{nullptr},
        masked_iban_{nullptr},
        payment_instrument_creation_option_{nullptr},
        type_{static_cast< ::sync_pb::AutofillWalletSpecifics_WalletInfoType >(0)} {}

template <typename>
constexpr AutofillWalletSpecifics::AutofillWalletSpecifics(::_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 AutofillWalletSpecifics::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AutofillWalletSpecifics(arena);
}
constexpr auto AutofillWalletSpecifics::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AutofillWalletSpecifics), alignof(AutofillWalletSpecifics));
}
constexpr auto AutofillWalletSpecifics::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
          &AutofillWalletSpecifics::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AutofillWalletSpecifics>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AutofillWalletSpecifics::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AutofillWalletSpecifics>(), &AutofillWalletSpecifics::ByteSizeLong,
              &AutofillWalletSpecifics::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_._cached_size_),
          true,
      },
      "sync_pb.AutofillWalletSpecifics",
  };
}
struct AutofillWalletSpecificsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AutofillWalletSpecificsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AutofillWalletSpecifics_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AutofillWalletSpecifics::InternalGenerateClassData_(
            _default, &AutofillWalletSpecifics_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AutofillWalletSpecifics>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AutofillWalletSpecificsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AutofillWalletSpecifics _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AutofillWalletSpecifics>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AutofillWalletSpecificsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AutofillWalletSpecificsGlobalsTypeInternal AutofillWalletSpecifics_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AutofillWalletSpecifics_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AutofillWalletSpecifics_globals_.GetClassData();
#else
  return AutofillWalletSpecifics_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace sync_pb
namespace sync_pb {
PROTOBUF_CONSTINIT const uint32_t AutofillProfileSpecifics_VerificationStatus_internal_data_[] = {
    393216u, 0u, };
static const char AutofillProfileSpecifics_VerificationStatus_names[] = {
    "FORMATTED"
    "OBSERVED"
    "PARSED"
    "SERVER_PARSED"
    "USER_VERIFIED"
    "VERIFICATION_STATUS_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry AutofillProfileSpecifics_VerificationStatus_entries[] = {
    {{&AutofillProfileSpecifics_VerificationStatus_names[0], 9}, 2},
    {{&AutofillProfileSpecifics_VerificationStatus_names[9], 8}, 3},
    {{&AutofillProfileSpecifics_VerificationStatus_names[17], 6}, 1},
    {{&AutofillProfileSpecifics_VerificationStatus_names[23], 13}, 5},
    {{&AutofillProfileSpecifics_VerificationStatus_names[36], 13}, 4},
    {{&AutofillProfileSpecifics_VerificationStatus_names[49], 31}, 0},
};

static const int AutofillProfileSpecifics_VerificationStatus_entries_by_number[] = {
    5,  // 0 -> VERIFICATION_STATUS_UNSPECIFIED
    2,  // 1 -> PARSED
    0,  // 2 -> FORMATTED
    1,  // 3 -> OBSERVED
    4,  // 4 -> USER_VERIFIED
    3,  // 5 -> SERVER_PARSED
};

bool AutofillProfileSpecifics_VerificationStatus_Parse(::absl::string_view name,
                                  AutofillProfileSpecifics_VerificationStatus* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AutofillProfileSpecifics_VerificationStatus_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<AutofillProfileSpecifics_VerificationStatus>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AutofillProfileSpecifics_VerificationStatus_strings[6] = {};

const ::std::string& AutofillProfileSpecifics_VerificationStatus_Name(AutofillProfileSpecifics_VerificationStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AutofillProfileSpecifics_VerificationStatus_entries, AutofillProfileSpecifics_VerificationStatus_entries_by_number, 6,
      AutofillProfileSpecifics_VerificationStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AutofillProfileSpecifics_VerificationStatus_entries,
                                  AutofillProfileSpecifics_VerificationStatus_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AutofillProfileSpecifics_VerificationStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t CardBenefit_CategoryBenefitType_internal_data_[] = {
    1114112u, 0u, };
static const char CardBenefit_CategoryBenefitType_names[] = {
    "AIR_MILES_PARTNER"
    "ALCOHOL_STORES"
    "CAR_RENTALS"
    "CATEGORY_BENEFIT_TYPE_UNKNOWN"
    "DINING"
    "DRUGSTORES"
    "ENTERTAINMENT"
    "FLIGHTS"
    "GROCERY_STORES"
    "HOTELS"
    "OFFICE_SUPPLIES"
    "RECURRING_BILLS"
    "STREAMING"
    "SUBSCRIPTION"
    "TRANSIT"
    "TRAVEL"
    "WHOLESALE_CLUBS"
};

static const ::google::protobuf::internal::EnumEntry CardBenefit_CategoryBenefitType_entries[] = {
    {{&CardBenefit_CategoryBenefitType_names[0], 17}, 7},
    {{&CardBenefit_CategoryBenefitType_names[17], 14}, 8},
    {{&CardBenefit_CategoryBenefitType_names[31], 11}, 16},
    {{&CardBenefit_CategoryBenefitType_names[42], 29}, 0},
    {{&CardBenefit_CategoryBenefitType_names[71], 6}, 3},
    {{&CardBenefit_CategoryBenefitType_names[77], 10}, 9},
    {{&CardBenefit_CategoryBenefitType_names[87], 13}, 4},
    {{&CardBenefit_CategoryBenefitType_names[100], 7}, 2},
    {{&CardBenefit_CategoryBenefitType_names[107], 14}, 6},
    {{&CardBenefit_CategoryBenefitType_names[121], 6}, 15},
    {{&CardBenefit_CategoryBenefitType_names[127], 15}, 10},
    {{&CardBenefit_CategoryBenefitType_names[142], 15}, 11},
    {{&CardBenefit_CategoryBenefitType_names[157], 9}, 5},
    {{&CardBenefit_CategoryBenefitType_names[166], 12}, 1},
    {{&CardBenefit_CategoryBenefitType_names[178], 7}, 12},
    {{&CardBenefit_CategoryBenefitType_names[185], 6}, 13},
    {{&CardBenefit_CategoryBenefitType_names[191], 15}, 14},
};

static const int CardBenefit_CategoryBenefitType_entries_by_number[] = {
    3,  // 0 -> CATEGORY_BENEFIT_TYPE_UNKNOWN
    13,  // 1 -> SUBSCRIPTION
    7,  // 2 -> FLIGHTS
    4,  // 3 -> DINING
    6,  // 4 -> ENTERTAINMENT
    12,  // 5 -> STREAMING
    8,  // 6 -> GROCERY_STORES
    0,  // 7 -> AIR_MILES_PARTNER
    1,  // 8 -> ALCOHOL_STORES
    5,  // 9 -> DRUGSTORES
    10,  // 10 -> OFFICE_SUPPLIES
    11,  // 11 -> RECURRING_BILLS
    14,  // 12 -> TRANSIT
    15,  // 13 -> TRAVEL
    16,  // 14 -> WHOLESALE_CLUBS
    9,  // 15 -> HOTELS
    2,  // 16 -> CAR_RENTALS
};

bool CardBenefit_CategoryBenefitType_Parse(::absl::string_view name,
                                  CardBenefit_CategoryBenefitType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      CardBenefit_CategoryBenefitType_entries, 17, name, &int_value);
  if (success) {
    *value = static_cast<CardBenefit_CategoryBenefitType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    CardBenefit_CategoryBenefitType_strings[17] = {};

const ::std::string& CardBenefit_CategoryBenefitType_Name(CardBenefit_CategoryBenefitType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      CardBenefit_CategoryBenefitType_entries, CardBenefit_CategoryBenefitType_entries_by_number, 17,
      CardBenefit_CategoryBenefitType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(CardBenefit_CategoryBenefitType_entries,
                                  CardBenefit_CategoryBenefitType_entries_by_number,
                                  17, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : CardBenefit_CategoryBenefitType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t CardIssuer_Issuer_internal_data_[] = {
    196608u, 0u, };
static const char CardIssuer_Issuer_names[] = {
    "EXTERNAL_ISSUER"
    "GOOGLE"
    "ISSUER_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry CardIssuer_Issuer_entries[] = {
    {{&CardIssuer_Issuer_names[0], 15}, 2},
    {{&CardIssuer_Issuer_names[15], 6}, 1},
    {{&CardIssuer_Issuer_names[21], 14}, 0},
};

static const int CardIssuer_Issuer_entries_by_number[] = {
    2,  // 0 -> ISSUER_UNKNOWN
    1,  // 1 -> GOOGLE
    0,  // 2 -> EXTERNAL_ISSUER
};

bool CardIssuer_Issuer_Parse(::absl::string_view name,
                                  CardIssuer_Issuer* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      CardIssuer_Issuer_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<CardIssuer_Issuer>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    CardIssuer_Issuer_strings[3] = {};

const ::std::string& CardIssuer_Issuer_Name(CardIssuer_Issuer value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      CardIssuer_Issuer_entries, CardIssuer_Issuer_entries_by_number, 3,
      CardIssuer_Issuer_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(CardIssuer_Issuer_entries,
                                  CardIssuer_Issuer_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : CardIssuer_Issuer_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WalletMaskedCreditCard_WalletCardStatus_internal_data_[] = {
    131072u, 0u, };
static const char WalletMaskedCreditCard_WalletCardStatus_names[] = {
    "EXPIRED"
    "VALID"
};

static const ::google::protobuf::internal::EnumEntry WalletMaskedCreditCard_WalletCardStatus_entries[] = {
    {{&WalletMaskedCreditCard_WalletCardStatus_names[0], 7}, 1},
    {{&WalletMaskedCreditCard_WalletCardStatus_names[7], 5}, 0},
};

static const int WalletMaskedCreditCard_WalletCardStatus_entries_by_number[] = {
    1,  // 0 -> VALID
    0,  // 1 -> EXPIRED
};

bool WalletMaskedCreditCard_WalletCardStatus_Parse(::absl::string_view name,
                                  WalletMaskedCreditCard_WalletCardStatus* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      WalletMaskedCreditCard_WalletCardStatus_entries, 2, name, &int_value);
  if (success) {
    *value = static_cast<WalletMaskedCreditCard_WalletCardStatus>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    WalletMaskedCreditCard_WalletCardStatus_strings[2] = {};

const ::std::string& WalletMaskedCreditCard_WalletCardStatus_Name(WalletMaskedCreditCard_WalletCardStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WalletMaskedCreditCard_WalletCardStatus_entries, WalletMaskedCreditCard_WalletCardStatus_entries_by_number, 2,
      WalletMaskedCreditCard_WalletCardStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WalletMaskedCreditCard_WalletCardStatus_entries,
                                  WalletMaskedCreditCard_WalletCardStatus_entries_by_number,
                                  2, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WalletMaskedCreditCard_WalletCardStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WalletMaskedCreditCard_WalletCardType_internal_data_[] = {
    786432u, 0u, };
static const char WalletMaskedCreditCard_WalletCardType_names[] = {
    "AMEX"
    "DISCOVER"
    "ELO"
    "JCB"
    "MAESTRO"
    "MASTER_CARD"
    "SOLO"
    "SWITCH"
    "UNIONPAY"
    "UNKNOWN"
    "VERVE"
    "VISA"
};

static const ::google::protobuf::internal::EnumEntry WalletMaskedCreditCard_WalletCardType_entries[] = {
    {{&WalletMaskedCreditCard_WalletCardType_names[0], 4}, 1},
    {{&WalletMaskedCreditCard_WalletCardType_names[4], 8}, 2},
    {{&WalletMaskedCreditCard_WalletCardType_names[12], 3}, 10},
    {{&WalletMaskedCreditCard_WalletCardType_names[15], 3}, 3},
    {{&WalletMaskedCreditCard_WalletCardType_names[18], 7}, 4},
    {{&WalletMaskedCreditCard_WalletCardType_names[25], 11}, 5},
    {{&WalletMaskedCreditCard_WalletCardType_names[36], 4}, 6},
    {{&WalletMaskedCreditCard_WalletCardType_names[40], 6}, 7},
    {{&WalletMaskedCreditCard_WalletCardType_names[46], 8}, 9},
    {{&WalletMaskedCreditCard_WalletCardType_names[54], 7}, 0},
    {{&WalletMaskedCreditCard_WalletCardType_names[61], 5}, 11},
    {{&WalletMaskedCreditCard_WalletCardType_names[66], 4}, 8},
};

static const int WalletMaskedCreditCard_WalletCardType_entries_by_number[] = {
    9,  // 0 -> UNKNOWN
    0,  // 1 -> AMEX
    1,  // 2 -> DISCOVER
    3,  // 3 -> JCB
    4,  // 4 -> MAESTRO
    5,  // 5 -> MASTER_CARD
    6,  // 6 -> SOLO
    7,  // 7 -> SWITCH
    11,  // 8 -> VISA
    8,  // 9 -> UNIONPAY
    2,  // 10 -> ELO
    10,  // 11 -> VERVE
};

bool WalletMaskedCreditCard_WalletCardType_Parse(::absl::string_view name,
                                  WalletMaskedCreditCard_WalletCardType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      WalletMaskedCreditCard_WalletCardType_entries, 12, name, &int_value);
  if (success) {
    *value = static_cast<WalletMaskedCreditCard_WalletCardType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    WalletMaskedCreditCard_WalletCardType_strings[12] = {};

const ::std::string& WalletMaskedCreditCard_WalletCardType_Name(WalletMaskedCreditCard_WalletCardType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WalletMaskedCreditCard_WalletCardType_entries, WalletMaskedCreditCard_WalletCardType_entries_by_number, 12,
      WalletMaskedCreditCard_WalletCardType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WalletMaskedCreditCard_WalletCardType_entries,
                                  WalletMaskedCreditCard_WalletCardType_entries_by_number,
                                  12, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WalletMaskedCreditCard_WalletCardType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WalletMaskedCreditCard_VirtualCardEnrollmentState_internal_data_[] = {
    327680u, 0u, };
static const char WalletMaskedCreditCard_VirtualCardEnrollmentState_names[] = {
    "ENROLLED"
    "UNENROLLED"
    "UNENROLLED_AND_ELIGIBLE"
    "UNENROLLED_AND_NOT_ELIGIBLE"
    "UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry WalletMaskedCreditCard_VirtualCardEnrollmentState_entries[] = {
    {{&WalletMaskedCreditCard_VirtualCardEnrollmentState_names[0], 8}, 2},
    {{&WalletMaskedCreditCard_VirtualCardEnrollmentState_names[8], 10}, 1},
    {{&WalletMaskedCreditCard_VirtualCardEnrollmentState_names[18], 23}, 4},
    {{&WalletMaskedCreditCard_VirtualCardEnrollmentState_names[41], 27}, 3},
    {{&WalletMaskedCreditCard_VirtualCardEnrollmentState_names[68], 11}, 0},
};

static const int WalletMaskedCreditCard_VirtualCardEnrollmentState_entries_by_number[] = {
    4,  // 0 -> UNSPECIFIED
    1,  // 1 -> UNENROLLED
    0,  // 2 -> ENROLLED
    3,  // 3 -> UNENROLLED_AND_NOT_ELIGIBLE
    2,  // 4 -> UNENROLLED_AND_ELIGIBLE
};

bool WalletMaskedCreditCard_VirtualCardEnrollmentState_Parse(::absl::string_view name,
                                  WalletMaskedCreditCard_VirtualCardEnrollmentState* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      WalletMaskedCreditCard_VirtualCardEnrollmentState_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<WalletMaskedCreditCard_VirtualCardEnrollmentState>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    WalletMaskedCreditCard_VirtualCardEnrollmentState_strings[5] = {};

const ::std::string& WalletMaskedCreditCard_VirtualCardEnrollmentState_Name(WalletMaskedCreditCard_VirtualCardEnrollmentState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WalletMaskedCreditCard_VirtualCardEnrollmentState_entries, WalletMaskedCreditCard_VirtualCardEnrollmentState_entries_by_number, 5,
      WalletMaskedCreditCard_VirtualCardEnrollmentState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WalletMaskedCreditCard_VirtualCardEnrollmentState_entries,
                                  WalletMaskedCreditCard_VirtualCardEnrollmentState_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WalletMaskedCreditCard_VirtualCardEnrollmentState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WalletMaskedCreditCard_VirtualCardEnrollmentType_internal_data_[] = {
    196608u, 0u, };
static const char WalletMaskedCreditCard_VirtualCardEnrollmentType_names[] = {
    "ISSUER"
    "NETWORK"
    "TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry WalletMaskedCreditCard_VirtualCardEnrollmentType_entries[] = {
    {{&WalletMaskedCreditCard_VirtualCardEnrollmentType_names[0], 6}, 1},
    {{&WalletMaskedCreditCard_VirtualCardEnrollmentType_names[6], 7}, 2},
    {{&WalletMaskedCreditCard_VirtualCardEnrollmentType_names[13], 16}, 0},
};

static const int WalletMaskedCreditCard_VirtualCardEnrollmentType_entries_by_number[] = {
    2,  // 0 -> TYPE_UNSPECIFIED
    0,  // 1 -> ISSUER
    1,  // 2 -> NETWORK
};

bool WalletMaskedCreditCard_VirtualCardEnrollmentType_Parse(::absl::string_view name,
                                  WalletMaskedCreditCard_VirtualCardEnrollmentType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      WalletMaskedCreditCard_VirtualCardEnrollmentType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<WalletMaskedCreditCard_VirtualCardEnrollmentType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    WalletMaskedCreditCard_VirtualCardEnrollmentType_strings[3] = {};

const ::std::string& WalletMaskedCreditCard_VirtualCardEnrollmentType_Name(WalletMaskedCreditCard_VirtualCardEnrollmentType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WalletMaskedCreditCard_VirtualCardEnrollmentType_entries, WalletMaskedCreditCard_VirtualCardEnrollmentType_entries_by_number, 3,
      WalletMaskedCreditCard_VirtualCardEnrollmentType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WalletMaskedCreditCard_VirtualCardEnrollmentType_entries,
                                  WalletMaskedCreditCard_VirtualCardEnrollmentType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WalletMaskedCreditCard_VirtualCardEnrollmentType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_internal_data_[] = {
    262144u, 0u, };
static const char WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_names[] = {
    "RETRIEVAL_ENROLLED"
    "RETRIEVAL_UNENROLLED_AND_ELIGIBLE"
    "RETRIEVAL_UNENROLLED_AND_NOT_ELIGIBLE"
    "RETRIEVAL_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_entries[] = {
    {{&WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_names[0], 18}, 1},
    {{&WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_names[18], 33}, 3},
    {{&WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_names[51], 37}, 2},
    {{&WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_names[88], 21}, 0},
};

static const int WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_entries_by_number[] = {
    3,  // 0 -> RETRIEVAL_UNSPECIFIED
    0,  // 1 -> RETRIEVAL_ENROLLED
    2,  // 2 -> RETRIEVAL_UNENROLLED_AND_NOT_ELIGIBLE
    1,  // 3 -> RETRIEVAL_UNENROLLED_AND_ELIGIBLE
};

bool WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_Parse(::absl::string_view name,
                                  WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_strings[4] = {};

const ::std::string& WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_Name(WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_entries, WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_entries_by_number, 4,
      WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_entries,
                                  WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WalletMaskedCreditCard_CardInfoRetrievalEnrollmentState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WalletMaskedCreditCard_CardBenefitSource_internal_data_[] = {
    262144u, 0u, };
static const char WalletMaskedCreditCard_CardBenefitSource_names[] = {
    "SOURCE_AMEX"
    "SOURCE_BMO"
    "SOURCE_CURINOS"
    "SOURCE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry WalletMaskedCreditCard_CardBenefitSource_entries[] = {
    {{&WalletMaskedCreditCard_CardBenefitSource_names[0], 11}, 1},
    {{&WalletMaskedCreditCard_CardBenefitSource_names[11], 10}, 2},
    {{&WalletMaskedCreditCard_CardBenefitSource_names[21], 14}, 3},
    {{&WalletMaskedCreditCard_CardBenefitSource_names[35], 14}, 0},
};

static const int WalletMaskedCreditCard_CardBenefitSource_entries_by_number[] = {
    3,  // 0 -> SOURCE_UNKNOWN
    0,  // 1 -> SOURCE_AMEX
    1,  // 2 -> SOURCE_BMO
    2,  // 3 -> SOURCE_CURINOS
};

bool WalletMaskedCreditCard_CardBenefitSource_Parse(::absl::string_view name,
                                  WalletMaskedCreditCard_CardBenefitSource* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      WalletMaskedCreditCard_CardBenefitSource_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<WalletMaskedCreditCard_CardBenefitSource>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    WalletMaskedCreditCard_CardBenefitSource_strings[4] = {};

const ::std::string& WalletMaskedCreditCard_CardBenefitSource_Name(WalletMaskedCreditCard_CardBenefitSource value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WalletMaskedCreditCard_CardBenefitSource_entries, WalletMaskedCreditCard_CardBenefitSource_entries_by_number, 4,
      WalletMaskedCreditCard_CardBenefitSource_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WalletMaskedCreditCard_CardBenefitSource_entries,
                                  WalletMaskedCreditCard_CardBenefitSource_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WalletMaskedCreditCard_CardBenefitSource_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WalletMaskedCreditCard_CardCreationSource_internal_data_[] = {
    196608u, 0u, };
static const char WalletMaskedCreditCard_CardCreationSource_names[] = {
    "CREATION_SOURCE_CHROME_PAYMENTS"
    "CREATION_SOURCE_NON_CHROME_PAYMENTS"
    "CREATION_SOURCE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry WalletMaskedCreditCard_CardCreationSource_entries[] = {
    {{&WalletMaskedCreditCard_CardCreationSource_names[0], 31}, 1},
    {{&WalletMaskedCreditCard_CardCreationSource_names[31], 35}, 2},
    {{&WalletMaskedCreditCard_CardCreationSource_names[66], 27}, 0},
};

static const int WalletMaskedCreditCard_CardCreationSource_entries_by_number[] = {
    2,  // 0 -> CREATION_SOURCE_UNSPECIFIED
    0,  // 1 -> CREATION_SOURCE_CHROME_PAYMENTS
    1,  // 2 -> CREATION_SOURCE_NON_CHROME_PAYMENTS
};

bool WalletMaskedCreditCard_CardCreationSource_Parse(::absl::string_view name,
                                  WalletMaskedCreditCard_CardCreationSource* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      WalletMaskedCreditCard_CardCreationSource_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<WalletMaskedCreditCard_CardCreationSource>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    WalletMaskedCreditCard_CardCreationSource_strings[3] = {};

const ::std::string& WalletMaskedCreditCard_CardCreationSource_Name(WalletMaskedCreditCard_CardCreationSource value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WalletMaskedCreditCard_CardCreationSource_entries, WalletMaskedCreditCard_CardCreationSource_entries_by_number, 3,
      WalletMaskedCreditCard_CardCreationSource_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WalletMaskedCreditCard_CardCreationSource_entries,
                                  WalletMaskedCreditCard_CardCreationSource_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WalletMaskedCreditCard_CardCreationSource_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t PaymentInstrument_SupportedRail_internal_data_[] = {
    327680u, 0u, };
static const char PaymentInstrument_SupportedRail_names[] = {
    "CARD_NUMBER"
    "IBAN"
    "PAYMENT_HYPERLINK"
    "PIX"
    "SUPPORTED_RAIL_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry PaymentInstrument_SupportedRail_entries[] = {
    {{&PaymentInstrument_SupportedRail_names[0], 11}, 4},
    {{&PaymentInstrument_SupportedRail_names[11], 4}, 2},
    {{&PaymentInstrument_SupportedRail_names[15], 17}, 3},
    {{&PaymentInstrument_SupportedRail_names[32], 3}, 1},
    {{&PaymentInstrument_SupportedRail_names[35], 22}, 0},
};

static const int PaymentInstrument_SupportedRail_entries_by_number[] = {
    4,  // 0 -> SUPPORTED_RAIL_UNKNOWN
    3,  // 1 -> PIX
    1,  // 2 -> IBAN
    2,  // 3 -> PAYMENT_HYPERLINK
    0,  // 4 -> CARD_NUMBER
};

bool PaymentInstrument_SupportedRail_Parse(::absl::string_view name,
                                  PaymentInstrument_SupportedRail* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      PaymentInstrument_SupportedRail_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<PaymentInstrument_SupportedRail>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    PaymentInstrument_SupportedRail_strings[5] = {};

const ::std::string& PaymentInstrument_SupportedRail_Name(PaymentInstrument_SupportedRail value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      PaymentInstrument_SupportedRail_entries, PaymentInstrument_SupportedRail_entries_by_number, 5,
      PaymentInstrument_SupportedRail_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(PaymentInstrument_SupportedRail_entries,
                                  PaymentInstrument_SupportedRail_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : PaymentInstrument_SupportedRail_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t PaymentInstrument_ActionRequired_internal_data_[] = {
    131072u, 0u, };
static const char PaymentInstrument_ActionRequired_names[] = {
    "ACCEPT_TOS"
    "ACTION_REQUIRED_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry PaymentInstrument_ActionRequired_entries[] = {
    {{&PaymentInstrument_ActionRequired_names[0], 10}, 1},
    {{&PaymentInstrument_ActionRequired_names[10], 23}, 0},
};

static const int PaymentInstrument_ActionRequired_entries_by_number[] = {
    1,  // 0 -> ACTION_REQUIRED_UNKNOWN
    0,  // 1 -> ACCEPT_TOS
};

bool PaymentInstrument_ActionRequired_Parse(::absl::string_view name,
                                  PaymentInstrument_ActionRequired* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      PaymentInstrument_ActionRequired_entries, 2, name, &int_value);
  if (success) {
    *value = static_cast<PaymentInstrument_ActionRequired>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    PaymentInstrument_ActionRequired_strings[2] = {};

const ::std::string& PaymentInstrument_ActionRequired_Name(PaymentInstrument_ActionRequired value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      PaymentInstrument_ActionRequired_entries, PaymentInstrument_ActionRequired_entries_by_number, 2,
      PaymentInstrument_ActionRequired_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(PaymentInstrument_ActionRequired_entries,
                                  PaymentInstrument_ActionRequired_entries_by_number,
                                  2, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : PaymentInstrument_ActionRequired_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t BankAccountDetails_AccountType_internal_data_[] = {
    393216u, 0u, };
static const char BankAccountDetails_AccountType_names[] = {
    "ACCOUNT_TYPE_UNSPECIFIED"
    "CHECKING"
    "CURRENT"
    "SALARY"
    "SAVINGS"
    "TRANSACTING_ACCOUNT"
};

static const ::google::protobuf::internal::EnumEntry BankAccountDetails_AccountType_entries[] = {
    {{&BankAccountDetails_AccountType_names[0], 24}, 0},
    {{&BankAccountDetails_AccountType_names[24], 8}, 1},
    {{&BankAccountDetails_AccountType_names[32], 7}, 3},
    {{&BankAccountDetails_AccountType_names[39], 6}, 4},
    {{&BankAccountDetails_AccountType_names[45], 7}, 2},
    {{&BankAccountDetails_AccountType_names[52], 19}, 5},
};

static const int BankAccountDetails_AccountType_entries_by_number[] = {
    0,  // 0 -> ACCOUNT_TYPE_UNSPECIFIED
    1,  // 1 -> CHECKING
    4,  // 2 -> SAVINGS
    2,  // 3 -> CURRENT
    3,  // 4 -> SALARY
    5,  // 5 -> TRANSACTING_ACCOUNT
};

bool BankAccountDetails_AccountType_Parse(::absl::string_view name,
                                  BankAccountDetails_AccountType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      BankAccountDetails_AccountType_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<BankAccountDetails_AccountType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    BankAccountDetails_AccountType_strings[6] = {};

const ::std::string& BankAccountDetails_AccountType_Name(BankAccountDetails_AccountType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      BankAccountDetails_AccountType_entries, BankAccountDetails_AccountType_entries_by_number, 6,
      BankAccountDetails_AccountType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(BankAccountDetails_AccountType_entries,
                                  BankAccountDetails_AccountType_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : BankAccountDetails_AccountType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AutofillWalletSpecifics_WalletInfoType_internal_data_[] = {
    524288u, 0u, };
static const char AutofillWalletSpecifics_WalletInfoType_names[] = {
    "CREDIT_CARD_CLOUD_TOKEN_DATA"
    "CUSTOMER_DATA"
    "MASKED_CREDIT_CARD"
    "MASKED_IBAN"
    "PAYMENT_INSTRUMENT"
    "PAYMENT_INSTRUMENT_CREATION_OPTION"
    "POSTAL_ADDRESS"
    "UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry AutofillWalletSpecifics_WalletInfoType_entries[] = {
    {{&AutofillWalletSpecifics_WalletInfoType_names[0], 28}, 4},
    {{&AutofillWalletSpecifics_WalletInfoType_names[28], 13}, 3},
    {{&AutofillWalletSpecifics_WalletInfoType_names[41], 18}, 1},
    {{&AutofillWalletSpecifics_WalletInfoType_names[59], 11}, 6},
    {{&AutofillWalletSpecifics_WalletInfoType_names[70], 18}, 5},
    {{&AutofillWalletSpecifics_WalletInfoType_names[88], 34}, 7},
    {{&AutofillWalletSpecifics_WalletInfoType_names[122], 14}, 2},
    {{&AutofillWalletSpecifics_WalletInfoType_names[136], 7}, 0},
};

static const int AutofillWalletSpecifics_WalletInfoType_entries_by_number[] = {
    7,  // 0 -> UNKNOWN
    2,  // 1 -> MASKED_CREDIT_CARD
    6,  // 2 -> POSTAL_ADDRESS
    1,  // 3 -> CUSTOMER_DATA
    0,  // 4 -> CREDIT_CARD_CLOUD_TOKEN_DATA
    4,  // 5 -> PAYMENT_INSTRUMENT
    3,  // 6 -> MASKED_IBAN
    5,  // 7 -> PAYMENT_INSTRUMENT_CREATION_OPTION
};

bool AutofillWalletSpecifics_WalletInfoType_Parse(::absl::string_view name,
                                  AutofillWalletSpecifics_WalletInfoType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AutofillWalletSpecifics_WalletInfoType_entries, 8, name, &int_value);
  if (success) {
    *value = static_cast<AutofillWalletSpecifics_WalletInfoType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AutofillWalletSpecifics_WalletInfoType_strings[8] = {};

const ::std::string& AutofillWalletSpecifics_WalletInfoType_Name(AutofillWalletSpecifics_WalletInfoType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AutofillWalletSpecifics_WalletInfoType_entries, AutofillWalletSpecifics_WalletInfoType_entries_by_number, 8,
      AutofillWalletSpecifics_WalletInfoType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AutofillWalletSpecifics_WalletInfoType_entries,
                                  AutofillWalletSpecifics_WalletInfoType_entries_by_number,
                                  8, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AutofillWalletSpecifics_WalletInfoType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WalletMetadataSpecifics_Type_internal_data_[] = {
    262144u, 0u, };
static const char WalletMetadataSpecifics_Type_names[] = {
    "ADDRESS"
    "CARD"
    "IBAN"
    "UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry WalletMetadataSpecifics_Type_entries[] = {
    {{&WalletMetadataSpecifics_Type_names[0], 7}, 2},
    {{&WalletMetadataSpecifics_Type_names[7], 4}, 1},
    {{&WalletMetadataSpecifics_Type_names[11], 4}, 3},
    {{&WalletMetadataSpecifics_Type_names[15], 7}, 0},
};

static const int WalletMetadataSpecifics_Type_entries_by_number[] = {
    3,  // 0 -> UNKNOWN
    1,  // 1 -> CARD
    0,  // 2 -> ADDRESS
    2,  // 3 -> IBAN
};

bool WalletMetadataSpecifics_Type_Parse(::absl::string_view name,
                                  WalletMetadataSpecifics_Type* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      WalletMetadataSpecifics_Type_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<WalletMetadataSpecifics_Type>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    WalletMetadataSpecifics_Type_strings[4] = {};

const ::std::string& WalletMetadataSpecifics_Type_Name(WalletMetadataSpecifics_Type value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WalletMetadataSpecifics_Type_entries, WalletMetadataSpecifics_Type_entries_by_number, 4,
      WalletMetadataSpecifics_Type_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WalletMetadataSpecifics_Type_entries,
                                  WalletMetadataSpecifics_Type_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WalletMetadataSpecifics_Type_strings[idx].get();
}
// ===================================================================

AutofillProfileSpecifics::AutofillProfileSpecifics(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutofillProfileSpecifics_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.AutofillProfileSpecifics)
}
PROTOBUF_NDEBUG_INLINE AutofillProfileSpecifics::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::AutofillProfileSpecifics& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_first_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_first_)>()
          , from.name_first_
        }
        ,
        name_middle_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_middle_)>()
          , from.name_middle_
        }
        ,
        name_last_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_)>()
          , from.name_last_
        }
        ,
        email_address_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.email_address_)>()
          , from.email_address_
        }
        ,
        phone_home_whole_number_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.phone_home_whole_number_)>()
          , from.phone_home_whole_number_
        }
        ,
        name_full_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_full_)>()
          , from.name_full_
        }
        ,
        name_last_first_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_first_)>()
          , from.name_last_first_
        }
        ,
        name_last_conjunction_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_conjunction_)>()
          , from.name_last_conjunction_
        }
        ,
        name_last_second_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_second_)>()
          , from.name_last_second_
        }
        ,
        name_first_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_first_status_)>()
          , from.name_first_status_
        }
        ,
        deprecated_label_(arena, from.deprecated_label_),
        company_name_(arena, from.company_name_),
        address_home_line1_(arena, from.address_home_line1_),
        address_home_line2_(arena, from.address_home_line2_),
        address_home_city_(arena, from.address_home_city_),
        address_home_state_(arena, from.address_home_state_),
        address_home_zip_(arena, from.address_home_zip_),
        address_home_country_(arena, from.address_home_country_),
        phone_fax_whole_number_(arena, from.phone_fax_whole_number_),
        guid_(arena, from.guid_),
        deprecated_origin_(arena, from.deprecated_origin_),
        address_home_street_address_(arena, from.address_home_street_address_),
        address_home_sorting_code_(arena, from.address_home_sorting_code_),
        address_home_dependent_locality_(arena, from.address_home_dependent_locality_),
        address_home_language_code_(arena, from.address_home_language_code_),
        address_home_subpremise_name_(arena, from.address_home_subpremise_name_),
        name_middle_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_middle_status_)>()
          , from.name_middle_status_
        }
        ,
        name_last_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_status_)>()
          , from.name_last_status_
        }
        ,
        name_last_first_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_first_status_)>()
          , from.name_last_first_status_
        }
        ,
        name_last_conjunction_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_conjunction_status_)>()
          , from.name_last_conjunction_status_
        }
        ,
        name_last_second_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_second_status_)>()
          , from.name_last_second_status_
        }
        ,
        name_full_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillProfileSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_full_status_)>()
          , from.name_full_status_
        }
        ,
        address_home_thoroughfare_name_(arena, from.address_home_thoroughfare_name_),
        address_home_thoroughfare_number_(arena, from.address_home_thoroughfare_number_),
        address_home_apt_num_(arena, from.address_home_apt_num_),
        address_home_floor_(arena, from.address_home_floor_),
        profile_label_(arena, from.profile_label_),
        address_home_landmark_(arena, from.address_home_landmark_),
        address_home_between_streets_(arena, from.address_home_between_streets_),
        address_home_admin_level_2_(arena, from.address_home_admin_level_2_),
        address_home_street_location_(arena, from.address_home_street_location_),
        address_home_overflow_(arena, from.address_home_overflow_),
        address_home_between_streets_1_(arena, from.address_home_between_streets_1_),
        address_home_between_streets_2_(arena, from.address_home_between_streets_2_),
        address_home_between_streets_or_landmark_(arena, from.address_home_between_streets_or_landmark_),
        address_home_overflow_and_landmark_(arena, from.address_home_overflow_and_landmark_),
        address_home_apt_(arena, from.address_home_apt_),
        address_home_apt_type_(arena, from.address_home_apt_type_),
        address_home_street_location_and_locality_(arena, from.address_home_street_location_and_locality_),
        address_home_thoroughfare_number_and_apt_(arena, from.address_home_thoroughfare_number_and_apt_),
        alternative_full_name_(arena, from.alternative_full_name_),
        alternative_given_name_(arena, from.alternative_given_name_),
        alternative_family_name_(arena, from.alternative_family_name_),
        address_home_zip_prefix_(arena, from.address_home_zip_prefix_),
        address_home_zip_suffix_(arena, from.address_home_zip_suffix_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AutofillProfileSpecifics* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, use_count_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, use_count_),
           offsetof(Impl_, address_home_country_status_) -
               offsetof(Impl_, use_count_) +
               sizeof(Impl_::address_home_country_status_));
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, address_home_city_status_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, address_home_city_status_),
           offsetof(Impl_, address_home_zip_suffix_status_) -
               offsetof(Impl_, address_home_city_status_) +
               sizeof(Impl_::address_home_zip_suffix_status_));

  // @@protoc_insertion_point(copy_constructor:sync_pb.AutofillProfileSpecifics)
}
PROTOBUF_NDEBUG_INLINE AutofillProfileSpecifics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        name_first_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_first_)>()
         }
        ,
        name_middle_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_middle_)>()
         }
        ,
        name_last_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_)>()
         }
        ,
        email_address_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.email_address_)>()
         }
        ,
        phone_home_whole_number_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.phone_home_whole_number_)>()
         }
        ,
        name_full_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_full_)>()
         }
        ,
        name_last_first_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_first_)>()
         }
        ,
        name_last_conjunction_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_conjunction_)>()
         }
        ,
        name_last_second_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_second_)>()
         }
        ,
        name_first_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_first_status_)>()
         }
        ,
        deprecated_label_(arena),
        company_name_(arena),
        address_home_line1_(arena),
        address_home_line2_(arena),
        address_home_city_(arena),
        address_home_state_(arena),
        address_home_zip_(arena),
        address_home_country_(arena),
        phone_fax_whole_number_(arena),
        guid_(arena),
        deprecated_origin_(arena),
        address_home_street_address_(arena),
        address_home_sorting_code_(arena),
        address_home_dependent_locality_(arena),
        address_home_language_code_(arena),
        address_home_subpremise_name_(arena),
        name_middle_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_middle_status_)>()
         }
        ,
        name_last_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_status_)>()
         }
        ,
        name_last_first_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_first_status_)>()
         }
        ,
        name_last_conjunction_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_conjunction_status_)>()
         }
        ,
        name_last_second_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_last_second_status_)>()
         }
        ,
        name_full_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillProfileSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillProfileSpecifics, _impl_.name_full_status_)>()
         }
        ,
        address_home_thoroughfare_name_(arena),
        address_home_thoroughfare_number_(arena),
        address_home_apt_num_(arena),
        address_home_floor_(arena),
        profile_label_(arena),
        address_home_landmark_(arena),
        address_home_between_streets_(arena),
        address_home_admin_level_2_(arena),
        address_home_street_location_(arena),
        address_home_overflow_(arena),
        address_home_between_streets_1_(arena),
        address_home_between_streets_2_(arena),
        address_home_between_streets_or_landmark_(arena),
        address_home_overflow_and_landmark_(arena),
        address_home_apt_(arena),
        address_home_apt_type_(arena),
        address_home_street_location_and_locality_(arena),
        address_home_thoroughfare_number_and_apt_(arena),
        alternative_full_name_(arena),
        alternative_given_name_(arena),
        alternative_family_name_(arena),
        address_home_zip_prefix_(arena),
        address_home_zip_suffix_(arena) {}

inline void AutofillProfileSpecifics::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, use_count_),
           0,
           offsetof(Impl_, address_home_country_status_) -
               offsetof(Impl_, use_count_) +
               sizeof(Impl_::address_home_country_status_));
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, address_home_city_status_),
           0,
           offsetof(Impl_, address_home_zip_suffix_status_) -
               offsetof(Impl_, address_home_city_status_) +
               sizeof(Impl_::address_home_zip_suffix_status_));
}
AutofillProfileSpecifics::~AutofillProfileSpecifics() {
  // @@protoc_insertion_point(destructor:sync_pb.AutofillProfileSpecifics)
  SharedDtor(*this);
}
inline void AutofillProfileSpecifics::SharedDtor(MessageLite& self) {
  AutofillProfileSpecifics& this_ = static_cast<AutofillProfileSpecifics&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.deprecated_label_.Destroy();
  this_._impl_.company_name_.Destroy();
  this_._impl_.address_home_line1_.Destroy();
  this_._impl_.address_home_line2_.Destroy();
  this_._impl_.address_home_city_.Destroy();
  this_._impl_.address_home_state_.Destroy();
  this_._impl_.address_home_zip_.Destroy();
  this_._impl_.address_home_country_.Destroy();
  this_._impl_.phone_fax_whole_number_.Destroy();
  this_._impl_.guid_.Destroy();
  this_._impl_.deprecated_origin_.Destroy();
  this_._impl_.address_home_street_address_.Destroy();
  this_._impl_.address_home_sorting_code_.Destroy();
  this_._impl_.address_home_dependent_locality_.Destroy();
  this_._impl_.address_home_language_code_.Destroy();
  this_._impl_.address_home_subpremise_name_.Destroy();
  this_._impl_.address_home_thoroughfare_name_.Destroy();
  this_._impl_.address_home_thoroughfare_number_.Destroy();
  this_._impl_.address_home_apt_num_.Destroy();
  this_._impl_.address_home_floor_.Destroy();
  this_._impl_.profile_label_.Destroy();
  this_._impl_.address_home_landmark_.Destroy();
  this_._impl_.address_home_between_streets_.Destroy();
  this_._impl_.address_home_admin_level_2_.Destroy();
  this_._impl_.address_home_street_location_.Destroy();
  this_._impl_.address_home_overflow_.Destroy();
  this_._impl_.address_home_between_streets_1_.Destroy();
  this_._impl_.address_home_between_streets_2_.Destroy();
  this_._impl_.address_home_between_streets_or_landmark_.Destroy();
  this_._impl_.address_home_overflow_and_landmark_.Destroy();
  this_._impl_.address_home_apt_.Destroy();
  this_._impl_.address_home_apt_type_.Destroy();
  this_._impl_.address_home_street_location_and_locality_.Destroy();
  this_._impl_.address_home_thoroughfare_number_and_apt_.Destroy();
  this_._impl_.alternative_full_name_.Destroy();
  this_._impl_.alternative_given_name_.Destroy();
  this_._impl_.alternative_family_name_.Destroy();
  this_._impl_.address_home_zip_prefix_.Destroy();
  this_._impl_.address_home_zip_suffix_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AutofillProfileSpecifics_class_data_ =
    AutofillProfileSpecifics::InternalGenerateClassData_(AutofillProfileSpecifics_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillProfileSpecifics::GetClassData() const {
  return AutofillProfileSpecifics_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillProfileSpecifics::GetClassData() const {
  return AutofillProfileSpecifics_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AutofillProfileSpecifics::ParseTableT_
    AutofillProfileSpecifics::_table_ =
        AutofillProfileSpecifics::InternalGenerateParseTable_(AutofillProfileSpecifics_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AutofillProfileSpecifics::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.AutofillProfileSpecifics)
  ::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_.name_first_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_middle_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.name_last_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.email_address_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.phone_home_whole_number_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.name_full_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.name_last_first_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.name_last_conjunction_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.name_last_second_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.name_first_status_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _impl_.deprecated_label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _impl_.company_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _impl_.address_home_line1_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _impl_.address_home_line2_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _impl_.address_home_city_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _impl_.address_home_state_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _impl_.address_home_zip_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _impl_.address_home_country_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _impl_.phone_fax_whole_number_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _impl_.guid_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _impl_.deprecated_origin_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _impl_.address_home_street_address_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _impl_.address_home_sorting_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _impl_.address_home_dependent_locality_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x03000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _impl_.address_home_language_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _impl_.address_home_subpremise_name_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xfc000000U)) {
    ::memset(&_impl_.use_count_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.address_home_country_status_) -
        reinterpret_cast<char*>(&_impl_.use_count_)) + sizeof(_impl_.address_home_country_status_));
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _impl_.name_middle_status_.Clear();
    }
  }
  cached_has_bits = _impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.name_last_status_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_last_first_status_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.name_last_conjunction_status_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.name_last_second_status_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.name_full_status_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.address_home_thoroughfare_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.address_home_thoroughfare_number_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.address_home_apt_num_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.address_home_floor_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.profile_label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _impl_.address_home_landmark_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _impl_.address_home_between_streets_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _impl_.address_home_admin_level_2_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _impl_.address_home_street_location_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _impl_.address_home_overflow_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _impl_.address_home_between_streets_1_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _impl_.address_home_between_streets_2_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _impl_.address_home_between_streets_or_landmark_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _impl_.address_home_overflow_and_landmark_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _impl_.address_home_apt_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _impl_.address_home_apt_type_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _impl_.address_home_street_location_and_locality_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _impl_.address_home_thoroughfare_number_and_apt_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _impl_.alternative_full_name_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0f000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _impl_.alternative_given_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _impl_.alternative_family_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _impl_.address_home_zip_prefix_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _impl_.address_home_zip_suffix_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xf0000000U)) {
    ::memset(&_impl_.address_home_city_status_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.address_home_street_address_status_) -
        reinterpret_cast<char*>(&_impl_.address_home_city_status_)) + sizeof(_impl_.address_home_street_address_status_));
  }
  cached_has_bits = _impl_._has_bits_[2];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    ::memset(&_impl_.address_home_sorting_code_status_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.address_home_floor_status_) -
        reinterpret_cast<char*>(&_impl_.address_home_sorting_code_status_)) + sizeof(_impl_.address_home_floor_status_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    ::memset(&_impl_.address_home_landmark_status_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.address_home_between_streets_or_landmark_status_) -
        reinterpret_cast<char*>(&_impl_.address_home_landmark_status_)) + sizeof(_impl_.address_home_between_streets_or_landmark_status_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    ::memset(&_impl_.address_home_overflow_and_landmark_status_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.alternative_family_name_status_) -
        reinterpret_cast<char*>(&_impl_.address_home_overflow_and_landmark_status_)) + sizeof(_impl_.alternative_family_name_status_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x03000000U)) {
    ::memset(&_impl_.address_home_zip_prefix_status_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.address_home_zip_suffix_status_) -
        reinterpret_cast<char*>(&_impl_.address_home_zip_prefix_status_)) + sizeof(_impl_.address_home_zip_suffix_status_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string deprecated_label = 1 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    const ::std::string& _s = this_._internal_deprecated_label();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated string name_first = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_name_first_size(); i < n; ++i) {
      const auto& s = this_._internal_name_first().Get(i);
      target = stream->WriteString(2, s, target);
    }
  }

  // repeated string name_middle = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_name_middle_size(); i < n; ++i) {
      const auto& s = this_._internal_name_middle().Get(i);
      target = stream->WriteString(3, s, target);
    }
  }

  // repeated string name_last = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (int i = 0, n = this_._internal_name_last_size(); i < n; ++i) {
      const auto& s = this_._internal_name_last().Get(i);
      target = stream->WriteString(4, s, target);
    }
  }

  // repeated string email_address = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (int i = 0, n = this_._internal_email_address_size(); i < n; ++i) {
      const auto& s = this_._internal_email_address().Get(i);
      target = stream->WriteString(5, s, target);
    }
  }

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

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

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

  // optional string address_home_city = 9;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    const ::std::string& _s = this_._internal_address_home_city();
    target = stream->WriteStringMaybeAliased(9, _s, target);
  }

  // optional string address_home_state = 10;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    const ::std::string& _s = this_._internal_address_home_state();
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // optional string address_home_zip = 11;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    const ::std::string& _s = this_._internal_address_home_zip();
    target = stream->WriteStringMaybeAliased(11, _s, target);
  }

  // optional string address_home_country = 12;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    const ::std::string& _s = this_._internal_address_home_country();
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  // repeated string phone_home_whole_number = 13;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (int i = 0, n = this_._internal_phone_home_whole_number_size(); i < n; ++i) {
      const auto& s = this_._internal_phone_home_whole_number().Get(i);
      target = stream->WriteString(13, s, target);
    }
  }

  // optional string phone_fax_whole_number = 14 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    const ::std::string& _s = this_._internal_phone_fax_whole_number();
    target = stream->WriteStringMaybeAliased(14, _s, target);
  }

  // optional string guid = 15;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    const ::std::string& _s = this_._internal_guid();
    target = stream->WriteStringMaybeAliased(15, _s, target);
  }

  // optional string deprecated_origin = 16;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    const ::std::string& _s = this_._internal_deprecated_origin();
    target = stream->WriteStringMaybeAliased(16, _s, target);
  }

  // optional string address_home_street_address = 17;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    const ::std::string& _s = this_._internal_address_home_street_address();
    target = stream->WriteStringMaybeAliased(17, _s, target);
  }

  // optional string address_home_sorting_code = 18;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    const ::std::string& _s = this_._internal_address_home_sorting_code();
    target = stream->WriteStringMaybeAliased(18, _s, target);
  }

  // optional string address_home_dependent_locality = 19;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    const ::std::string& _s = this_._internal_address_home_dependent_locality();
    target = stream->WriteStringMaybeAliased(19, _s, target);
  }

  // optional string address_home_language_code = 20;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    const ::std::string& _s = this_._internal_address_home_language_code();
    target = stream->WriteStringMaybeAliased(20, _s, target);
  }

  // repeated string name_full = 21;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (int i = 0, n = this_._internal_name_full_size(); i < n; ++i) {
      const auto& s = this_._internal_name_full().Get(i);
      target = stream->WriteString(21, s, target);
    }
  }

  // optional int64 use_count = 22;
  if (CheckHasBit(cached_has_bits, 0x04000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        22, this_._internal_use_count(), target);
  }

  // optional int64 use_date = 23;
  if (CheckHasBit(cached_has_bits, 0x08000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        23, this_._internal_use_date(), target);
  }

  // optional int64 validity_state_bitfield = 24 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x10000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        24, this_._internal_validity_state_bitfield(), target);
  }

  // optional bool is_client_validity_states_updated = 25 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x20000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        25, this_._internal_is_client_validity_states_updated(), target);
  }

  // repeated string name_last_first = 27;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    for (int i = 0, n = this_._internal_name_last_first_size(); i < n; ++i) {
      const auto& s = this_._internal_name_last_first().Get(i);
      target = stream->WriteString(27, s, target);
    }
  }

  // repeated string name_last_conjunction = 28;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    for (int i = 0, n = this_._internal_name_last_conjunction_size(); i < n; ++i) {
      const auto& s = this_._internal_name_last_conjunction().Get(i);
      target = stream->WriteString(28, s, target);
    }
  }

  // repeated string name_last_second = 29;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    for (int i = 0, n = this_._internal_name_last_second_size(); i < n; ++i) {
      const auto& s = this_._internal_name_last_second().Get(i);
      target = stream->WriteString(29, s, target);
    }
  }

  // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_first_status = 31;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    for (int i = 0, n = this_._internal_name_first_status_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          31, static_cast<::sync_pb::AutofillProfileSpecifics_VerificationStatus>(this_._internal_name_first_status().Get(i)),
          target);
    }
  }

  // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_middle_status = 32;
  if (CheckHasBit(cached_has_bits, 0x80000000U)) {
    for (int i = 0, n = this_._internal_name_middle_status_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          32, static_cast<::sync_pb::AutofillProfileSpecifics_VerificationStatus>(this_._internal_name_middle_status().Get(i)),
          target);
    }
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_status = 33;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_name_last_status_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          33, static_cast<::sync_pb::AutofillProfileSpecifics_VerificationStatus>(this_._internal_name_last_status().Get(i)),
          target);
    }
  }

  // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_first_status = 34;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_name_last_first_status_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          34, static_cast<::sync_pb::AutofillProfileSpecifics_VerificationStatus>(this_._internal_name_last_first_status().Get(i)),
          target);
    }
  }

  // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_conjunction_status = 35;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (int i = 0, n = this_._internal_name_last_conjunction_status_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          35, static_cast<::sync_pb::AutofillProfileSpecifics_VerificationStatus>(this_._internal_name_last_conjunction_status().Get(i)),
          target);
    }
  }

  // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_second_status = 36;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (int i = 0, n = this_._internal_name_last_second_status_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          36, static_cast<::sync_pb::AutofillProfileSpecifics_VerificationStatus>(this_._internal_name_last_second_status().Get(i)),
          target);
    }
  }

  // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_full_status = 37;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (int i = 0, n = this_._internal_name_full_status_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          37, static_cast<::sync_pb::AutofillProfileSpecifics_VerificationStatus>(this_._internal_name_full_status().Get(i)),
          target);
    }
  }

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string address_home_subpremise_name = 42;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    const ::std::string& _s = this_._internal_address_home_subpremise_name();
    target = stream->WriteStringMaybeAliased(42, _s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_city_status = 43;
  if (CheckHasBit(cached_has_bits, 0x10000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        43, this_._internal_address_home_city_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_state_status = 44;
  if (CheckHasBit(cached_has_bits, 0x20000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        44, this_._internal_address_home_state_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_status = 45;
  if (CheckHasBit(cached_has_bits, 0x40000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        45, this_._internal_address_home_zip_status(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_country_status = 46;
  if (CheckHasBit(cached_has_bits, 0x40000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        46, this_._internal_address_home_country_status(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_address_status = 47;
  if (CheckHasBit(cached_has_bits, 0x80000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        47, this_._internal_address_home_street_address_status(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_sorting_code_status = 48;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        48, this_._internal_address_home_sorting_code_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_dependent_locality_status = 49;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        49, this_._internal_address_home_dependent_locality_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_language_code_status = 50;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        50, this_._internal_address_home_language_code_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_name_status = 51;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        51, this_._internal_address_home_thoroughfare_name_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_number_status = 52;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        52, this_._internal_address_home_thoroughfare_number_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_subpremise_name_status = 55;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        55, this_._internal_address_home_subpremise_name_status(), target);
  }

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

  // optional string address_home_floor = 57;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_address_home_floor();
    target = stream->WriteStringMaybeAliased(57, _s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_num_status = 58;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        58, this_._internal_address_home_apt_num_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_floor_status = 59;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        59, this_._internal_address_home_floor_status(), target);
  }

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

  // optional string address_home_landmark = 67;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    const ::std::string& _s = this_._internal_address_home_landmark();
    target = stream->WriteStringMaybeAliased(67, _s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_landmark_status = 68;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        68, this_._internal_address_home_landmark_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_status = 70;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        70, this_._internal_address_home_between_streets_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_admin_level_2_status = 72;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        72, this_._internal_address_home_admin_level_2_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_location_status = 74;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        74, this_._internal_address_home_street_location_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_overflow_status = 76;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        76, this_._internal_address_home_overflow_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_1_status = 78;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        78, this_._internal_address_home_between_streets_1_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_2_status = 80;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        80, this_._internal_address_home_between_streets_2_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_or_landmark_status = 82;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        82, this_._internal_address_home_between_streets_or_landmark_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_overflow_and_landmark_status = 84;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        84, this_._internal_address_home_overflow_and_landmark_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_status = 86;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        86, this_._internal_address_home_apt_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_type_status = 88;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        88, this_._internal_address_home_apt_type_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_location_and_locality_status = 90;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        90, this_._internal_address_home_street_location_and_locality_status(), target);
  }

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

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_number_and_apt_status = 92;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        92, this_._internal_address_home_thoroughfare_number_and_apt_status(), target);
  }

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

  // optional string alternative_given_name = 94;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    const ::std::string& _s = this_._internal_alternative_given_name();
    target = stream->WriteStringMaybeAliased(94, _s, target);
  }

  // optional string alternative_family_name = 95;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    const ::std::string& _s = this_._internal_alternative_family_name();
    target = stream->WriteStringMaybeAliased(95, _s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_full_name_status = 96;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        96, this_._internal_alternative_full_name_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_given_name_status = 97;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        97, this_._internal_alternative_given_name_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_family_name_status = 98;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        98, this_._internal_alternative_family_name_status(), target);
  }

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

  // optional string address_home_zip_suffix = 104;
  if (CheckHasBit(cached_has_bits, 0x08000000U)) {
    const ::std::string& _s = this_._internal_address_home_zip_suffix();
    target = stream->WriteStringMaybeAliased(104, _s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[2];
  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_prefix_status = 105;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        105, this_._internal_address_home_zip_prefix_status(), target);
  }

  // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_suffix_status = 106;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        106, this_._internal_address_home_zip_suffix_status(), 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.AutofillProfileSpecifics)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AutofillProfileSpecifics::ByteSizeLong(const MessageLite& base) {
  const AutofillProfileSpecifics& this_ = static_cast<const AutofillProfileSpecifics&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AutofillProfileSpecifics::ByteSizeLong() const {
  const AutofillProfileSpecifics& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.AutofillProfileSpecifics)
  ::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];
  total_size += static_cast<bool>(0x20000000U & cached_has_bits) * 3;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated string name_first = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_name_first().size());
      for (int i = 0, n = this_._internal_name_first().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_name_first().Get(i));
      }
    }
    // repeated string name_middle = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_name_middle().size());
      for (int i = 0, n = this_._internal_name_middle().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_name_middle().Get(i));
      }
    }
    // repeated string name_last = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_name_last().size());
      for (int i = 0, n = this_._internal_name_last().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_name_last().Get(i));
      }
    }
    // repeated string email_address = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_email_address().size());
      for (int i = 0, n = this_._internal_email_address().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_email_address().Get(i));
      }
    }
    // repeated string phone_home_whole_number = 13;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_phone_home_whole_number().size());
      for (int i = 0, n = this_._internal_phone_home_whole_number().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_phone_home_whole_number().Get(i));
      }
    }
    // repeated string name_full = 21;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size +=
          2 * ::google::protobuf::internal::FromIntSize(this_._internal_name_full().size());
      for (int i = 0, n = this_._internal_name_full().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_name_full().Get(i));
      }
    }
    // repeated string name_last_first = 27;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size +=
          2 * ::google::protobuf::internal::FromIntSize(this_._internal_name_last_first().size());
      for (int i = 0, n = this_._internal_name_last_first().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_name_last_first().Get(i));
      }
    }
    // repeated string name_last_conjunction = 28;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size +=
          2 * ::google::protobuf::internal::FromIntSize(this_._internal_name_last_conjunction().size());
      for (int i = 0, n = this_._internal_name_last_conjunction().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_name_last_conjunction().Get(i));
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // repeated string name_last_second = 29;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size +=
          2 * ::google::protobuf::internal::FromIntSize(this_._internal_name_last_second().size());
      for (int i = 0, n = this_._internal_name_last_second().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_name_last_second().Get(i));
      }
    }
    // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_first_status = 31;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_name_first_status());
      ::size_t tag_size = ::size_t{2} *
          ::_pbi::FromIntSize(this_._internal_name_first_status_size());
      total_size += data_size + tag_size;
    }
    // optional string deprecated_label = 1 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_deprecated_label());
    }
    // optional string company_name = 6;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_company_name());
    }
    // optional string address_home_line1 = 7;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_line1());
    }
    // optional string address_home_line2 = 8;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_line2());
    }
    // optional string address_home_city = 9;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_city());
    }
    // optional string address_home_state = 10;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_state());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    // optional string address_home_zip = 11;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_zip());
    }
    // optional string address_home_country = 12;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_country());
    }
    // optional string phone_fax_whole_number = 14 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_phone_fax_whole_number());
    }
    // optional string guid = 15;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_guid());
    }
    // optional string deprecated_origin = 16;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_deprecated_origin());
    }
    // optional string address_home_street_address = 17;
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_street_address());
    }
    // optional string address_home_sorting_code = 18;
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_sorting_code());
    }
    // optional string address_home_dependent_locality = 19;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_dependent_locality());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xdf000000U)) {
    // optional string address_home_language_code = 20;
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_language_code());
    }
    // optional string address_home_subpremise_name = 42;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_subpremise_name());
    }
    // optional int64 use_count = 22;
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
                                      this_._internal_use_count());
    }
    // optional int64 use_date = 23;
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
                                      this_._internal_use_date());
    }
    // optional int64 validity_state_bitfield = 24 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
                                      this_._internal_validity_state_bitfield());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_country_status = 46;
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_country_status());
    }
    // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_middle_status = 32;
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_name_middle_status());
      ::size_t tag_size = ::size_t{2} *
          ::_pbi::FromIntSize(this_._internal_name_middle_status_size());
      total_size += data_size + tag_size;
    }
  }
  cached_has_bits = this_._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_status = 33;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_name_last_status());
      ::size_t tag_size = ::size_t{2} *
          ::_pbi::FromIntSize(this_._internal_name_last_status_size());
      total_size += data_size + tag_size;
    }
    // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_first_status = 34;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_name_last_first_status());
      ::size_t tag_size = ::size_t{2} *
          ::_pbi::FromIntSize(this_._internal_name_last_first_status_size());
      total_size += data_size + tag_size;
    }
    // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_conjunction_status = 35;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_name_last_conjunction_status());
      ::size_t tag_size = ::size_t{2} *
          ::_pbi::FromIntSize(this_._internal_name_last_conjunction_status_size());
      total_size += data_size + tag_size;
    }
    // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_last_second_status = 36;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_name_last_second_status());
      ::size_t tag_size = ::size_t{2} *
          ::_pbi::FromIntSize(this_._internal_name_last_second_status_size());
      total_size += data_size + tag_size;
    }
    // repeated .sync_pb.AutofillProfileSpecifics.VerificationStatus name_full_status = 37;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_name_full_status());
      ::size_t tag_size = ::size_t{2} *
          ::_pbi::FromIntSize(this_._internal_name_full_status_size());
      total_size += data_size + tag_size;
    }
    // optional string address_home_thoroughfare_name = 38;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_thoroughfare_name());
    }
    // optional string address_home_thoroughfare_number = 39;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_thoroughfare_number());
    }
    // optional string address_home_apt_num = 56;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_apt_num());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // optional string address_home_floor = 57;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_floor());
    }
    // optional string profile_label = 62;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_profile_label());
    }
    // optional string address_home_landmark = 67;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_landmark());
    }
    // optional string address_home_between_streets = 69;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_between_streets());
    }
    // optional string address_home_admin_level_2 = 71;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_admin_level_2());
    }
    // optional string address_home_street_location = 73;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_street_location());
    }
    // optional string address_home_overflow = 75;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_overflow());
    }
    // optional string address_home_between_streets_1 = 77;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_between_streets_1());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    // optional string address_home_between_streets_2 = 79;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_between_streets_2());
    }
    // optional string address_home_between_streets_or_landmark = 81;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_between_streets_or_landmark());
    }
    // optional string address_home_overflow_and_landmark = 83;
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_overflow_and_landmark());
    }
    // optional string address_home_apt = 85;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_apt());
    }
    // optional string address_home_apt_type = 87;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_apt_type());
    }
    // optional string address_home_street_location_and_locality = 89;
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_street_location_and_locality());
    }
    // optional string address_home_thoroughfare_number_and_apt = 91;
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_thoroughfare_number_and_apt());
    }
    // optional string alternative_full_name = 93;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_alternative_full_name());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    // optional string alternative_given_name = 94;
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_alternative_given_name());
    }
    // optional string alternative_family_name = 95;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_alternative_family_name());
    }
    // optional string address_home_zip_prefix = 103;
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_zip_prefix());
    }
    // optional string address_home_zip_suffix = 104;
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_home_zip_suffix());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_city_status = 43;
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_city_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_state_status = 44;
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_state_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_status = 45;
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_zip_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_address_status = 47;
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_street_address_status());
    }
  }
  cached_has_bits = this_._impl_._has_bits_[2];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_sorting_code_status = 48;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_sorting_code_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_dependent_locality_status = 49;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_dependent_locality_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_language_code_status = 50;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_language_code_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_name_status = 51;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_thoroughfare_name_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_number_status = 52;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_thoroughfare_number_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_subpremise_name_status = 55;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_subpremise_name_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_num_status = 58;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_apt_num_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_floor_status = 59;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_floor_status());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_landmark_status = 68;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_landmark_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_status = 70;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_between_streets_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_admin_level_2_status = 72;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_admin_level_2_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_location_status = 74;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_street_location_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_overflow_status = 76;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_overflow_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_1_status = 78;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_between_streets_1_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_2_status = 80;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_between_streets_2_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_between_streets_or_landmark_status = 82;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_between_streets_or_landmark_status());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_overflow_and_landmark_status = 84;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_overflow_and_landmark_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_status = 86;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_apt_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_apt_type_status = 88;
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_apt_type_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_street_location_and_locality_status = 90;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_street_location_and_locality_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_thoroughfare_number_and_apt_status = 92;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_thoroughfare_number_and_apt_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_full_name_status = 96;
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_alternative_full_name_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_given_name_status = 97;
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_alternative_given_name_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus alternative_family_name_status = 98;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_alternative_family_name_status());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x03000000U)) {
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_prefix_status = 105;
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_zip_prefix_status());
    }
    // optional .sync_pb.AutofillProfileSpecifics.VerificationStatus address_home_zip_suffix_status = 106;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_address_home_zip_suffix_status());
    }
  }
  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 AutofillProfileSpecifics::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AutofillProfileSpecifics*>(&to_msg);
  auto& from = static_cast<const AutofillProfileSpecifics&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.AutofillProfileSpecifics)
  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_name_first()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_name_first());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_name_middle()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_name_middle());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_name_last()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_name_last());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_email_address()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_email_address());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_phone_home_whole_number()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_phone_home_whole_number());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_name_full()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_name_full());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_name_last_first()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_name_last_first());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_mutable_name_last_conjunction()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_name_last_conjunction());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_mutable_name_last_second()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_name_last_second());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_mutable_name_first_status()->MergeFrom(from._internal_name_first_status());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_set_deprecated_label(from._internal_deprecated_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_internal_set_company_name(from._internal_company_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_internal_set_address_home_line1(from._internal_address_home_line1());
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_internal_set_address_home_line2(from._internal_address_home_line2());
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_internal_set_address_home_city(from._internal_address_home_city());
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_internal_set_address_home_state(from._internal_address_home_state());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_internal_set_address_home_zip(from._internal_address_home_zip());
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_internal_set_address_home_country(from._internal_address_home_country());
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_internal_set_phone_fax_whole_number(from._internal_phone_fax_whole_number());
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_internal_set_guid(from._internal_guid());
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_internal_set_deprecated_origin(from._internal_deprecated_origin());
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_internal_set_address_home_street_address(from._internal_address_home_street_address());
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_internal_set_address_home_sorting_code(from._internal_address_home_sorting_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_internal_set_address_home_dependent_locality(from._internal_address_home_dependent_locality());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_internal_set_address_home_language_code(from._internal_address_home_language_code());
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_internal_set_address_home_subpremise_name(from._internal_address_home_subpremise_name());
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _this->_impl_.use_count_ = from._impl_.use_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _this->_impl_.use_date_ = from._impl_.use_date_;
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _this->_impl_.validity_state_bitfield_ = from._impl_.validity_state_bitfield_;
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _this->_impl_.is_client_validity_states_updated_ = from._impl_.is_client_validity_states_updated_;
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _this->_impl_.address_home_country_status_ = from._impl_.address_home_country_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _this->_internal_mutable_name_middle_status()->MergeFrom(from._internal_name_middle_status());
    }
  }
  cached_has_bits = from._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_name_last_status()->MergeFrom(from._internal_name_last_status());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_name_last_first_status()->MergeFrom(from._internal_name_last_first_status());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_name_last_conjunction_status()->MergeFrom(from._internal_name_last_conjunction_status());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_name_last_second_status()->MergeFrom(from._internal_name_last_second_status());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_name_full_status()->MergeFrom(from._internal_name_full_status());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_address_home_thoroughfare_name(from._internal_address_home_thoroughfare_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_address_home_thoroughfare_number(from._internal_address_home_thoroughfare_number());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_address_home_apt_num(from._internal_address_home_apt_num());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_address_home_floor(from._internal_address_home_floor());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_profile_label(from._internal_profile_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_set_address_home_landmark(from._internal_address_home_landmark());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_internal_set_address_home_between_streets(from._internal_address_home_between_streets());
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_internal_set_address_home_admin_level_2(from._internal_address_home_admin_level_2());
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_internal_set_address_home_street_location(from._internal_address_home_street_location());
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_internal_set_address_home_overflow(from._internal_address_home_overflow());
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_internal_set_address_home_between_streets_1(from._internal_address_home_between_streets_1());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_internal_set_address_home_between_streets_2(from._internal_address_home_between_streets_2());
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_internal_set_address_home_between_streets_or_landmark(from._internal_address_home_between_streets_or_landmark());
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_internal_set_address_home_overflow_and_landmark(from._internal_address_home_overflow_and_landmark());
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_internal_set_address_home_apt(from._internal_address_home_apt());
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_internal_set_address_home_apt_type(from._internal_address_home_apt_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_internal_set_address_home_street_location_and_locality(from._internal_address_home_street_location_and_locality());
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_internal_set_address_home_thoroughfare_number_and_apt(from._internal_address_home_thoroughfare_number_and_apt());
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_internal_set_alternative_full_name(from._internal_alternative_full_name());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_internal_set_alternative_given_name(from._internal_alternative_given_name());
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_internal_set_alternative_family_name(from._internal_alternative_family_name());
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _this->_internal_set_address_home_zip_prefix(from._internal_address_home_zip_prefix());
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _this->_internal_set_address_home_zip_suffix(from._internal_address_home_zip_suffix());
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _this->_impl_.address_home_city_status_ = from._impl_.address_home_city_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _this->_impl_.address_home_state_status_ = from._impl_.address_home_state_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _this->_impl_.address_home_zip_status_ = from._impl_.address_home_zip_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _this->_impl_.address_home_street_address_status_ = from._impl_.address_home_street_address_status_;
    }
  }
  cached_has_bits = from._impl_._has_bits_[2];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.address_home_sorting_code_status_ = from._impl_.address_home_sorting_code_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.address_home_dependent_locality_status_ = from._impl_.address_home_dependent_locality_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.address_home_language_code_status_ = from._impl_.address_home_language_code_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.address_home_thoroughfare_name_status_ = from._impl_.address_home_thoroughfare_name_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.address_home_thoroughfare_number_status_ = from._impl_.address_home_thoroughfare_number_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.address_home_subpremise_name_status_ = from._impl_.address_home_subpremise_name_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.address_home_apt_num_status_ = from._impl_.address_home_apt_num_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.address_home_floor_status_ = from._impl_.address_home_floor_status_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.address_home_landmark_status_ = from._impl_.address_home_landmark_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.address_home_between_streets_status_ = from._impl_.address_home_between_streets_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.address_home_admin_level_2_status_ = from._impl_.address_home_admin_level_2_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.address_home_street_location_status_ = from._impl_.address_home_street_location_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.address_home_overflow_status_ = from._impl_.address_home_overflow_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.address_home_between_streets_1_status_ = from._impl_.address_home_between_streets_1_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.address_home_between_streets_2_status_ = from._impl_.address_home_between_streets_2_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.address_home_between_streets_or_landmark_status_ = from._impl_.address_home_between_streets_or_landmark_status_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.address_home_overflow_and_landmark_status_ = from._impl_.address_home_overflow_and_landmark_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.address_home_apt_status_ = from._impl_.address_home_apt_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.address_home_apt_type_status_ = from._impl_.address_home_apt_type_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.address_home_street_location_and_locality_status_ = from._impl_.address_home_street_location_and_locality_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.address_home_thoroughfare_number_and_apt_status_ = from._impl_.address_home_thoroughfare_number_and_apt_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.alternative_full_name_status_ = from._impl_.alternative_full_name_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_impl_.alternative_given_name_status_ = from._impl_.alternative_given_name_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_impl_.alternative_family_name_status_ = from._impl_.alternative_family_name_status_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x03000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_impl_.address_home_zip_prefix_status_ = from._impl_.address_home_zip_prefix_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_impl_.address_home_zip_suffix_status_ = from._impl_.address_home_zip_suffix_status_;
    }
  }
  _this->_impl_._has_bits_.Or(from._impl_._has_bits_);
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AutofillProfileSpecifics::InternalSwap(AutofillProfileSpecifics* 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]);
  swap(_impl_._has_bits_[1], other->_impl_._has_bits_[1]);
  swap(_impl_._has_bits_[2], other->_impl_._has_bits_[2]);
  _impl_.name_first_.InternalSwap(&other->_impl_.name_first_);
  _impl_.name_middle_.InternalSwap(&other->_impl_.name_middle_);
  _impl_.name_last_.InternalSwap(&other->_impl_.name_last_);
  _impl_.email_address_.InternalSwap(&other->_impl_.email_address_);
  _impl_.phone_home_whole_number_.InternalSwap(&other->_impl_.phone_home_whole_number_);
  _impl_.name_full_.InternalSwap(&other->_impl_.name_full_);
  _impl_.name_last_first_.InternalSwap(&other->_impl_.name_last_first_);
  _impl_.name_last_conjunction_.InternalSwap(&other->_impl_.name_last_conjunction_);
  _impl_.name_last_second_.InternalSwap(&other->_impl_.name_last_second_);
  _impl_.name_first_status_.InternalSwap(&other->_impl_.name_first_status_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.deprecated_label_, &other->_impl_.deprecated_label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.company_name_, &other->_impl_.company_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_line1_, &other->_impl_.address_home_line1_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_line2_, &other->_impl_.address_home_line2_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_city_, &other->_impl_.address_home_city_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_state_, &other->_impl_.address_home_state_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_zip_, &other->_impl_.address_home_zip_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_country_, &other->_impl_.address_home_country_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.phone_fax_whole_number_, &other->_impl_.phone_fax_whole_number_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.guid_, &other->_impl_.guid_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.deprecated_origin_, &other->_impl_.deprecated_origin_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_street_address_, &other->_impl_.address_home_street_address_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_sorting_code_, &other->_impl_.address_home_sorting_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_dependent_locality_, &other->_impl_.address_home_dependent_locality_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_language_code_, &other->_impl_.address_home_language_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_subpremise_name_, &other->_impl_.address_home_subpremise_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_country_status_)
      + sizeof(AutofillProfileSpecifics::_impl_.address_home_country_status_)
      - PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.use_count_)>(
          reinterpret_cast<char*>(&_impl_.use_count_),
          reinterpret_cast<char*>(&other->_impl_.use_count_));
  _impl_.name_middle_status_.InternalSwap(&other->_impl_.name_middle_status_);
  _impl_.name_last_status_.InternalSwap(&other->_impl_.name_last_status_);
  _impl_.name_last_first_status_.InternalSwap(&other->_impl_.name_last_first_status_);
  _impl_.name_last_conjunction_status_.InternalSwap(&other->_impl_.name_last_conjunction_status_);
  _impl_.name_last_second_status_.InternalSwap(&other->_impl_.name_last_second_status_);
  _impl_.name_full_status_.InternalSwap(&other->_impl_.name_full_status_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_thoroughfare_name_, &other->_impl_.address_home_thoroughfare_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_thoroughfare_number_, &other->_impl_.address_home_thoroughfare_number_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_apt_num_, &other->_impl_.address_home_apt_num_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_floor_, &other->_impl_.address_home_floor_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.profile_label_, &other->_impl_.profile_label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_landmark_, &other->_impl_.address_home_landmark_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_between_streets_, &other->_impl_.address_home_between_streets_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_admin_level_2_, &other->_impl_.address_home_admin_level_2_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_street_location_, &other->_impl_.address_home_street_location_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_overflow_, &other->_impl_.address_home_overflow_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_between_streets_1_, &other->_impl_.address_home_between_streets_1_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_between_streets_2_, &other->_impl_.address_home_between_streets_2_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_between_streets_or_landmark_, &other->_impl_.address_home_between_streets_or_landmark_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_overflow_and_landmark_, &other->_impl_.address_home_overflow_and_landmark_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_apt_, &other->_impl_.address_home_apt_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_apt_type_, &other->_impl_.address_home_apt_type_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_street_location_and_locality_, &other->_impl_.address_home_street_location_and_locality_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_thoroughfare_number_and_apt_, &other->_impl_.address_home_thoroughfare_number_and_apt_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.alternative_full_name_, &other->_impl_.alternative_full_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.alternative_given_name_, &other->_impl_.alternative_given_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.alternative_family_name_, &other->_impl_.alternative_family_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_zip_prefix_, &other->_impl_.address_home_zip_prefix_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_home_zip_suffix_, &other->_impl_.address_home_zip_suffix_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_zip_suffix_status_)
      + sizeof(AutofillProfileSpecifics::_impl_.address_home_zip_suffix_status_)
      - PROTOBUF_FIELD_OFFSET(AutofillProfileSpecifics, _impl_.address_home_city_status_)>(
          reinterpret_cast<char*>(&_impl_.address_home_city_status_),
          reinterpret_cast<char*>(&other->_impl_.address_home_city_status_));
}

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

AutofillSpecifics::AutofillSpecifics(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutofillSpecifics_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.AutofillSpecifics)
}
PROTOBUF_NDEBUG_INLINE AutofillSpecifics::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::AutofillSpecifics& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        usage_timestamp_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::AutofillSpecifics,
              PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillSpecifics, _impl_.usage_timestamp_)>()
          , from.usage_timestamp_
        }
        ,
        name_(arena, from.name_),
        value_(arena, from.value_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AutofillSpecifics* 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_.profile_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.profile_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:sync_pb.AutofillSpecifics)
}
PROTOBUF_NDEBUG_INLINE AutofillSpecifics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        usage_timestamp_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::AutofillSpecifics,
            PROTOBUF_FIELD_OFFSET(::sync_pb::AutofillSpecifics, _impl_.usage_timestamp_)>()
         }
        ,
        name_(arena),
        value_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AutofillSpecifics_class_data_ =
    AutofillSpecifics::InternalGenerateClassData_(AutofillSpecifics_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillSpecifics::GetClassData() const {
  return AutofillSpecifics_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillSpecifics::GetClassData() const {
  return AutofillSpecifics_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AutofillSpecifics::ParseTableT_
    AutofillSpecifics::_table_ =
        AutofillSpecifics::InternalGenerateParseTable_(AutofillSpecifics_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AutofillSpecifics::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.AutofillSpecifics)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.usage_timestamp_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.value_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.profile_ != nullptr);
      _impl_.profile_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // repeated int64 usage_timestamp = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_usage_timestamp_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt64ToArray(
          3, this_._internal_usage_timestamp().Get(i), target);
    }
  }

  // optional .sync_pb.AutofillProfileSpecifics profile = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.profile_, this_._impl_.profile_->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.AutofillSpecifics)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AutofillSpecifics::ByteSizeLong(const MessageLite& base) {
  const AutofillSpecifics& this_ = static_cast<const AutofillSpecifics&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AutofillSpecifics::ByteSizeLong() const {
  const AutofillSpecifics& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.AutofillSpecifics)
  ::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, 0x0000000fU)) {
    // repeated int64 usage_timestamp = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
          this_._internal_usage_timestamp());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_usage_timestamp_size());
      total_size += tag_size + data_size;
    }
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string value = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_value());
    }
    // optional .sync_pb.AutofillProfileSpecifics profile = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.profile_);
    }
  }
  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 AutofillSpecifics::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AutofillSpecifics*>(&to_msg);
  auto& from = static_cast<const AutofillSpecifics&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.AutofillSpecifics)
  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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_usage_timestamp()->MergeFrom(from._internal_usage_timestamp());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_value(from._internal_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.profile_ != nullptr);
      if (_this->_impl_.profile_ == nullptr) {
        _this->_impl_.profile_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.profile_);
      } else {
        _this->_impl_.profile_->MergeFrom(*from._impl_.profile_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AutofillSpecifics::InternalSwap(AutofillSpecifics* 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_.usage_timestamp_.InternalSwap(&other->_impl_.usage_timestamp_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.value_, &other->_impl_.value_, arena);
  swap(_impl_.profile_, other->_impl_.profile_);
}

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

CloudTokenData::CloudTokenData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CloudTokenData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.CloudTokenData)
}
PROTOBUF_NDEBUG_INLINE CloudTokenData::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::CloudTokenData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        suffix_(arena, from.suffix_),
        art_fife_url_(arena, from.art_fife_url_),
        instrument_token_(arena, from.instrument_token_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CloudTokenData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, exp_month_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, exp_month_),
           offsetof(Impl_, exp_year_) -
               offsetof(Impl_, exp_month_) +
               sizeof(Impl_::exp_year_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CloudTokenData_class_data_ =
    CloudTokenData::InternalGenerateClassData_(CloudTokenData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CloudTokenData::GetClassData() const {
  return CloudTokenData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CloudTokenData::GetClassData() const {
  return CloudTokenData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const CloudTokenData::ParseTableT_
    CloudTokenData::_table_ =
        CloudTokenData::InternalGenerateParseTable_(CloudTokenData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void CloudTokenData::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.CloudTokenData)
  ::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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.suffix_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.art_fife_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.instrument_token_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.exp_month_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.exp_year_) -
        reinterpret_cast<char*>(&_impl_.exp_month_)) + sizeof(_impl_.exp_year_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // optional int32 exp_year = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_exp_year(), target);
  }

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

  // optional string instrument_token = 5;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_instrument_token();
    target = stream->WriteStringMaybeAliased(5, _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.CloudTokenData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CloudTokenData::ByteSizeLong(const MessageLite& base) {
  const CloudTokenData& this_ = static_cast<const CloudTokenData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CloudTokenData::ByteSizeLong() const {
  const CloudTokenData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.CloudTokenData)
  ::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, 0x0000001fU)) {
    // optional string suffix = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_suffix());
    }
    // optional string art_fife_url = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_art_fife_url());
    }
    // optional string instrument_token = 5;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_instrument_token());
    }
    // optional int32 exp_month = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_exp_month());
    }
    // optional int32 exp_year = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_exp_year());
    }
  }
  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 CloudTokenData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CloudTokenData*>(&to_msg);
  auto& from = static_cast<const CloudTokenData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.CloudTokenData)
  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, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_suffix(from._internal_suffix());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_art_fife_url(from._internal_art_fife_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_instrument_token(from._internal_instrument_token());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.exp_month_ = from._impl_.exp_month_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.exp_year_ = from._impl_.exp_year_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CloudTokenData::InternalSwap(CloudTokenData* 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_.suffix_, &other->_impl_.suffix_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.art_fife_url_, &other->_impl_.art_fife_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.instrument_token_, &other->_impl_.instrument_token_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.exp_year_)
      + sizeof(CloudTokenData::_impl_.exp_year_)
      - PROTOBUF_FIELD_OFFSET(CloudTokenData, _impl_.exp_month_)>(
          reinterpret_cast<char*>(&_impl_.exp_month_),
          reinterpret_cast<char*>(&other->_impl_.exp_month_));
}

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

CardBenefit_FlatRateBenefit::CardBenefit_FlatRateBenefit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CardBenefit_FlatRateBenefit_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.CardBenefit.FlatRateBenefit)
}
CardBenefit_FlatRateBenefit::CardBenefit_FlatRateBenefit(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CardBenefit_FlatRateBenefit& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CardBenefit_FlatRateBenefit_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE CardBenefit_FlatRateBenefit::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CardBenefit_FlatRateBenefit_class_data_ =
    CardBenefit_FlatRateBenefit::InternalGenerateClassData_(CardBenefit_FlatRateBenefit_globals_._default);

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

  _internal_metadata_.Clear<::std::string>();
}

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

  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.CardBenefit.FlatRateBenefit)
  return target;
}

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

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

  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 CardBenefit_FlatRateBenefit::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CardBenefit_FlatRateBenefit*>(&to_msg);
  auto& from = static_cast<const CardBenefit_FlatRateBenefit&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.CardBenefit.FlatRateBenefit)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CardBenefit_FlatRateBenefit::InternalSwap(CardBenefit_FlatRateBenefit* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

CardBenefit_CategoryBenefit::CardBenefit_CategoryBenefit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CardBenefit_CategoryBenefit_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.CardBenefit.CategoryBenefit)
}
CardBenefit_CategoryBenefit::CardBenefit_CategoryBenefit(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CardBenefit_CategoryBenefit& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CardBenefit_CategoryBenefit_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE CardBenefit_CategoryBenefit::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CardBenefit_CategoryBenefit_class_data_ =
    CardBenefit_CategoryBenefit::InternalGenerateClassData_(CardBenefit_CategoryBenefit_globals_._default);

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

  _impl_.category_benefit_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .sync_pb.CardBenefit.CategoryBenefitType category_benefit_type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_category_benefit_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.CardBenefit.CategoryBenefit)
  return target;
}

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

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

   {
    // optional .sync_pb.CardBenefit.CategoryBenefitType category_benefit_type = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_category_benefit_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 CardBenefit_CategoryBenefit::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CardBenefit_CategoryBenefit*>(&to_msg);
  auto& from = static_cast<const CardBenefit_CategoryBenefit&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.CardBenefit.CategoryBenefit)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_impl_.category_benefit_type_ = from._impl_.category_benefit_type_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CardBenefit_CategoryBenefit::InternalSwap(CardBenefit_CategoryBenefit* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.category_benefit_type_, other->_impl_.category_benefit_type_);
}

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

CardBenefit_MerchantBenefit::CardBenefit_MerchantBenefit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CardBenefit_MerchantBenefit_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.CardBenefit.MerchantBenefit)
}
PROTOBUF_NDEBUG_INLINE CardBenefit_MerchantBenefit::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::CardBenefit_MerchantBenefit& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        merchant_domain_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::CardBenefit_MerchantBenefit,
              PROTOBUF_FIELD_OFFSET(::sync_pb::CardBenefit_MerchantBenefit, _impl_.merchant_domain_)>()
          , from.merchant_domain_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CardBenefit_MerchantBenefit* 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.CardBenefit.MerchantBenefit)
}
PROTOBUF_NDEBUG_INLINE CardBenefit_MerchantBenefit::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        merchant_domain_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::CardBenefit_MerchantBenefit,
            PROTOBUF_FIELD_OFFSET(::sync_pb::CardBenefit_MerchantBenefit, _impl_.merchant_domain_)>()
         }
     {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CardBenefit_MerchantBenefit_class_data_ =
    CardBenefit_MerchantBenefit::InternalGenerateClassData_(CardBenefit_MerchantBenefit_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CardBenefit_MerchantBenefit::GetClassData() const {
  return CardBenefit_MerchantBenefit_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CardBenefit_MerchantBenefit::GetClassData() const {
  return CardBenefit_MerchantBenefit_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const CardBenefit_MerchantBenefit::ParseTableT_
    CardBenefit_MerchantBenefit::_table_ =
        CardBenefit_MerchantBenefit::InternalGenerateParseTable_(CardBenefit_MerchantBenefit_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void CardBenefit_MerchantBenefit::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.CardBenefit.MerchantBenefit)
  ::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)) {
    _impl_.merchant_domain_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated string merchant_domain = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_merchant_domain_size(); i < n; ++i) {
      const auto& s = this_._internal_merchant_domain().Get(i);
      target = stream->WriteString(1, 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.CardBenefit.MerchantBenefit)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CardBenefit_MerchantBenefit::ByteSizeLong(const MessageLite& base) {
  const CardBenefit_MerchantBenefit& this_ = static_cast<const CardBenefit_MerchantBenefit&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CardBenefit_MerchantBenefit::ByteSizeLong() const {
  const CardBenefit_MerchantBenefit& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.CardBenefit.MerchantBenefit)
  ::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_);
   {
    // repeated string merchant_domain = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_merchant_domain().size());
      for (int i = 0, n = this_._internal_merchant_domain().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_merchant_domain().Get(i));
      }
    }
  }
  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 CardBenefit_MerchantBenefit::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CardBenefit_MerchantBenefit*>(&to_msg);
  auto& from = static_cast<const CardBenefit_MerchantBenefit&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.CardBenefit.MerchantBenefit)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_mutable_merchant_domain()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_merchant_domain());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CardBenefit_MerchantBenefit::InternalSwap(CardBenefit_MerchantBenefit* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.merchant_domain_.InternalSwap(&other->_impl_.merchant_domain_);
}

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

void CardBenefit::set_allocated_flat_rate_benefit(::sync_pb::CardBenefit_FlatRateBenefit* PROTOBUF_NULLABLE flat_rate_benefit) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_DomainSpecificBenefit();
  if (flat_rate_benefit) {
    ::google::protobuf::Arena* submessage_arena = flat_rate_benefit->GetArena();
    if (message_arena != submessage_arena) {
      flat_rate_benefit = ::google::protobuf::internal::GetOwnedMessage(message_arena, flat_rate_benefit, submessage_arena);
    }
    set_has_flat_rate_benefit();
    _impl_.DomainSpecificBenefit_.flat_rate_benefit_ = flat_rate_benefit;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.CardBenefit.flat_rate_benefit)
}
void CardBenefit::set_allocated_category_benefit(::sync_pb::CardBenefit_CategoryBenefit* PROTOBUF_NULLABLE category_benefit) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_DomainSpecificBenefit();
  if (category_benefit) {
    ::google::protobuf::Arena* submessage_arena = category_benefit->GetArena();
    if (message_arena != submessage_arena) {
      category_benefit = ::google::protobuf::internal::GetOwnedMessage(message_arena, category_benefit, submessage_arena);
    }
    set_has_category_benefit();
    _impl_.DomainSpecificBenefit_.category_benefit_ = category_benefit;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.CardBenefit.category_benefit)
}
void CardBenefit::set_allocated_merchant_benefit(::sync_pb::CardBenefit_MerchantBenefit* PROTOBUF_NULLABLE merchant_benefit) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_DomainSpecificBenefit();
  if (merchant_benefit) {
    ::google::protobuf::Arena* submessage_arena = merchant_benefit->GetArena();
    if (message_arena != submessage_arena) {
      merchant_benefit = ::google::protobuf::internal::GetOwnedMessage(message_arena, merchant_benefit, submessage_arena);
    }
    set_has_merchant_benefit();
    _impl_.DomainSpecificBenefit_.merchant_benefit_ = merchant_benefit;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.CardBenefit.merchant_benefit)
}
CardBenefit::CardBenefit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CardBenefit_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.CardBenefit)
}
PROTOBUF_NDEBUG_INLINE CardBenefit::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::CardBenefit& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        benefit_description_(arena, from.benefit_description_),
        benefit_id_(arena, from.benefit_id_),
        DomainSpecificBenefit_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CardBenefit* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, start_time_unix_epoch_milliseconds_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, start_time_unix_epoch_milliseconds_),
           offsetof(Impl_, end_time_unix_epoch_milliseconds_) -
               offsetof(Impl_, start_time_unix_epoch_milliseconds_) +
               sizeof(Impl_::end_time_unix_epoch_milliseconds_));
  switch (DomainSpecificBenefit_case()) {
    case DOMAINSPECIFICBENEFIT_NOT_SET:
      break;
      case kFlatRateBenefit:
        _impl_.DomainSpecificBenefit_.flat_rate_benefit_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.DomainSpecificBenefit_.flat_rate_benefit_);
        break;
      case kCategoryBenefit:
        _impl_.DomainSpecificBenefit_.category_benefit_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.DomainSpecificBenefit_.category_benefit_);
        break;
      case kMerchantBenefit:
        _impl_.DomainSpecificBenefit_.merchant_benefit_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.DomainSpecificBenefit_.merchant_benefit_);
        break;
  }

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

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

void CardBenefit::clear_DomainSpecificBenefit() {
// @@protoc_insertion_point(one_of_clear_start:sync_pb.CardBenefit)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (DomainSpecificBenefit_case()) {
    case kFlatRateBenefit: {
      if (GetArena() == nullptr) {
        delete _impl_.DomainSpecificBenefit_.flat_rate_benefit_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.DomainSpecificBenefit_.flat_rate_benefit_ != nullptr) {
          _impl_.DomainSpecificBenefit_.flat_rate_benefit_->Clear();
        }
      }
      break;
    }
    case kCategoryBenefit: {
      if (GetArena() == nullptr) {
        delete _impl_.DomainSpecificBenefit_.category_benefit_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.DomainSpecificBenefit_.category_benefit_ != nullptr) {
          _impl_.DomainSpecificBenefit_.category_benefit_->Clear();
        }
      }
      break;
    }
    case kMerchantBenefit: {
      if (GetArena() == nullptr) {
        delete _impl_.DomainSpecificBenefit_.merchant_benefit_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.DomainSpecificBenefit_.merchant_benefit_ != nullptr) {
          _impl_.DomainSpecificBenefit_.merchant_benefit_->Clear();
        }
      }
      break;
    }
    case DOMAINSPECIFICBENEFIT_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = DOMAINSPECIFICBENEFIT_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CardBenefit_class_data_ =
    CardBenefit::InternalGenerateClassData_(CardBenefit_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CardBenefit::GetClassData() const {
  return CardBenefit_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CardBenefit::GetClassData() const {
  return CardBenefit_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const CardBenefit::ParseTableT_
    CardBenefit::_table_ =
        CardBenefit::InternalGenerateParseTable_(CardBenefit_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void CardBenefit::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.CardBenefit)
  ::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_.benefit_description_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.benefit_id_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
    ::memset(&_impl_.start_time_unix_epoch_milliseconds_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.end_time_unix_epoch_milliseconds_) -
        reinterpret_cast<char*>(&_impl_.start_time_unix_epoch_milliseconds_)) + sizeof(_impl_.end_time_unix_epoch_milliseconds_));
  }
  clear_DomainSpecificBenefit();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional int64 start_time_unix_epoch_milliseconds = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_start_time_unix_epoch_milliseconds(), target);
  }

  // optional int64 end_time_unix_epoch_milliseconds = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_end_time_unix_epoch_milliseconds(), target);
  }

  switch (this_.DomainSpecificBenefit_case()) {
    case kFlatRateBenefit: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.DomainSpecificBenefit_.flat_rate_benefit_, this_._impl_.DomainSpecificBenefit_.flat_rate_benefit_->GetCachedSize(), target,
          stream);
      break;
    }
    case kCategoryBenefit: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.DomainSpecificBenefit_.category_benefit_, this_._impl_.DomainSpecificBenefit_.category_benefit_->GetCachedSize(), target,
          stream);
      break;
    }
    case kMerchantBenefit: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, *this_._impl_.DomainSpecificBenefit_.merchant_benefit_, this_._impl_.DomainSpecificBenefit_.merchant_benefit_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  // optional string benefit_id = 7;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_benefit_id();
    target = stream->WriteStringMaybeAliased(7, _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.CardBenefit)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CardBenefit::ByteSizeLong(const MessageLite& base) {
  const CardBenefit& this_ = static_cast<const CardBenefit&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CardBenefit::ByteSizeLong() const {
  const CardBenefit& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.CardBenefit)
  ::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, 0x0000000fU)) {
    // optional string benefit_description = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_benefit_description());
    }
    // optional string benefit_id = 7;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_benefit_id());
    }
    // optional int64 start_time_unix_epoch_milliseconds = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_start_time_unix_epoch_milliseconds());
    }
    // optional int64 end_time_unix_epoch_milliseconds = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_end_time_unix_epoch_milliseconds());
    }
  }
  switch (this_.DomainSpecificBenefit_case()) {
    // .sync_pb.CardBenefit.FlatRateBenefit flat_rate_benefit = 4;
    case kFlatRateBenefit: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.DomainSpecificBenefit_.flat_rate_benefit_);
      break;
    }
    // .sync_pb.CardBenefit.CategoryBenefit category_benefit = 5;
    case kCategoryBenefit: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.DomainSpecificBenefit_.category_benefit_);
      break;
    }
    // .sync_pb.CardBenefit.MerchantBenefit merchant_benefit = 6;
    case kMerchantBenefit: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.DomainSpecificBenefit_.merchant_benefit_);
      break;
    }
    case DOMAINSPECIFICBENEFIT_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 CardBenefit::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CardBenefit*>(&to_msg);
  auto& from = static_cast<const CardBenefit&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.CardBenefit)
  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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_benefit_description(from._internal_benefit_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_benefit_id(from._internal_benefit_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.start_time_unix_epoch_milliseconds_ = from._impl_.start_time_unix_epoch_milliseconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.end_time_unix_epoch_milliseconds_ = from._impl_.end_time_unix_epoch_milliseconds_;
    }
  }
  _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_DomainSpecificBenefit();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kFlatRateBenefit: {
        if (oneof_needs_init) {
          _this->_impl_.DomainSpecificBenefit_.flat_rate_benefit_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.DomainSpecificBenefit_.flat_rate_benefit_);
        } else {
          _this->_impl_.DomainSpecificBenefit_.flat_rate_benefit_->CheckTypeAndMergeFrom(*from._impl_.DomainSpecificBenefit_.flat_rate_benefit_);
        }
        break;
      }
      case kCategoryBenefit: {
        if (oneof_needs_init) {
          _this->_impl_.DomainSpecificBenefit_.category_benefit_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.DomainSpecificBenefit_.category_benefit_);
        } else {
          _this->_impl_.DomainSpecificBenefit_.category_benefit_->CheckTypeAndMergeFrom(*from._impl_.DomainSpecificBenefit_.category_benefit_);
        }
        break;
      }
      case kMerchantBenefit: {
        if (oneof_needs_init) {
          _this->_impl_.DomainSpecificBenefit_.merchant_benefit_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.DomainSpecificBenefit_.merchant_benefit_);
        } else {
          _this->_impl_.DomainSpecificBenefit_.merchant_benefit_->CheckTypeAndMergeFrom(*from._impl_.DomainSpecificBenefit_.merchant_benefit_);
        }
        break;
      }
      case DOMAINSPECIFICBENEFIT_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CardBenefit::InternalSwap(CardBenefit* 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_.benefit_description_, &other->_impl_.benefit_description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.benefit_id_, &other->_impl_.benefit_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.end_time_unix_epoch_milliseconds_)
      + sizeof(CardBenefit::_impl_.end_time_unix_epoch_milliseconds_)
      - PROTOBUF_FIELD_OFFSET(CardBenefit, _impl_.start_time_unix_epoch_milliseconds_)>(
          reinterpret_cast<char*>(&_impl_.start_time_unix_epoch_milliseconds_),
          reinterpret_cast<char*>(&other->_impl_.start_time_unix_epoch_milliseconds_));
  swap(_impl_.DomainSpecificBenefit_, other->_impl_.DomainSpecificBenefit_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

CardIssuer::CardIssuer(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CardIssuer_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.CardIssuer)
}
PROTOBUF_NDEBUG_INLINE CardIssuer::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::CardIssuer& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        issuer_id_(arena, from.issuer_id_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CardIssuer_class_data_ =
    CardIssuer::InternalGenerateClassData_(CardIssuer_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CardIssuer::GetClassData() const {
  return CardIssuer_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CardIssuer::GetClassData() const {
  return CardIssuer_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const CardIssuer::ParseTableT_
    CardIssuer::_table_ =
        CardIssuer::InternalGenerateParseTable_(CardIssuer_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void CardIssuer::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.CardIssuer)
  ::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)) {
    _impl_.issuer_id_.ClearNonDefaultToEmpty();
  }
  _impl_.issuer_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .sync_pb.CardIssuer.Issuer issuer = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_issuer(), target);
  }

  // optional string issuer_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_issuer_id();
    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.CardIssuer)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CardIssuer::ByteSizeLong(const MessageLite& base) {
  const CardIssuer& this_ = static_cast<const CardIssuer&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CardIssuer::ByteSizeLong() const {
  const CardIssuer& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.CardIssuer)
  ::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 issuer_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_issuer_id());
    }
    // optional .sync_pb.CardIssuer.Issuer issuer = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_issuer());
    }
  }
  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 CardIssuer::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CardIssuer*>(&to_msg);
  auto& from = static_cast<const CardIssuer&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.CardIssuer)
  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_issuer_id(from._internal_issuer_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.issuer_ = from._impl_.issuer_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CardIssuer::InternalSwap(CardIssuer* 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_.issuer_id_, &other->_impl_.issuer_id_, arena);
  swap(_impl_.issuer_, other->_impl_.issuer_);
}

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

WalletMaskedCreditCard::WalletMaskedCreditCard(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WalletMaskedCreditCard_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.WalletMaskedCreditCard)
}
PROTOBUF_NDEBUG_INLINE WalletMaskedCreditCard::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::WalletMaskedCreditCard& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        card_benefit_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::WalletMaskedCreditCard,
              PROTOBUF_FIELD_OFFSET(::sync_pb::WalletMaskedCreditCard, _impl_.card_benefit_)>()
          , from.card_benefit_
        }
        ,
        id_(arena, from.id_),
        name_on_card_(arena, from.name_on_card_),
        last_four_(arena, from.last_four_),
        billing_address_id_(arena, from.billing_address_id_),
        bank_name_(arena, from.bank_name_),
        nickname_(arena, from.nickname_),
        card_art_url_(arena, from.card_art_url_),
        product_description_(arena, from.product_description_),
        product_terms_url_(arena, from.product_terms_url_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WalletMaskedCreditCard* 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_.cloud_token_data_ = (CheckHasBit(cached_has_bits, 0x00000400U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cloud_token_data_)
                : nullptr;
  _impl_.card_issuer_ = (CheckHasBit(cached_has_bits, 0x00000800U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.card_issuer_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, status_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, status_),
           offsetof(Impl_, card_creation_source_) -
               offsetof(Impl_, status_) +
               sizeof(Impl_::card_creation_source_));

  // @@protoc_insertion_point(copy_constructor:sync_pb.WalletMaskedCreditCard)
}
PROTOBUF_NDEBUG_INLINE WalletMaskedCreditCard::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        card_benefit_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::WalletMaskedCreditCard,
            PROTOBUF_FIELD_OFFSET(::sync_pb::WalletMaskedCreditCard, _impl_.card_benefit_)>()
         }
        ,
        id_(arena),
        name_on_card_(arena),
        last_four_(arena),
        billing_address_id_(arena),
        bank_name_(arena),
        nickname_(arena),
        card_art_url_(arena),
        product_description_(arena),
        product_terms_url_(arena) {}

inline void WalletMaskedCreditCard::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, cloud_token_data_),
           0,
           offsetof(Impl_, card_creation_source_) -
               offsetof(Impl_, cloud_token_data_) +
               sizeof(Impl_::card_creation_source_));
}
WalletMaskedCreditCard::~WalletMaskedCreditCard() {
  // @@protoc_insertion_point(destructor:sync_pb.WalletMaskedCreditCard)
  SharedDtor(*this);
}
inline void WalletMaskedCreditCard::SharedDtor(MessageLite& self) {
  WalletMaskedCreditCard& this_ = static_cast<WalletMaskedCreditCard&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.id_.Destroy();
  this_._impl_.name_on_card_.Destroy();
  this_._impl_.last_four_.Destroy();
  this_._impl_.billing_address_id_.Destroy();
  this_._impl_.bank_name_.Destroy();
  this_._impl_.nickname_.Destroy();
  this_._impl_.card_art_url_.Destroy();
  this_._impl_.product_description_.Destroy();
  this_._impl_.product_terms_url_.Destroy();
  delete this_._impl_.cloud_token_data_;
  delete this_._impl_.card_issuer_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WalletMaskedCreditCard_class_data_ =
    WalletMaskedCreditCard::InternalGenerateClassData_(WalletMaskedCreditCard_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletMaskedCreditCard::GetClassData() const {
  return WalletMaskedCreditCard_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletMaskedCreditCard::GetClassData() const {
  return WalletMaskedCreditCard_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WalletMaskedCreditCard::ParseTableT_
    WalletMaskedCreditCard::_table_ =
        WalletMaskedCreditCard::InternalGenerateParseTable_(WalletMaskedCreditCard_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WalletMaskedCreditCard::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.WalletMaskedCreditCard)
  ::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_.card_benefit_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.name_on_card_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.last_four_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.billing_address_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.bank_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.nickname_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.card_art_url_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.product_description_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.product_terms_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(_impl_.cloud_token_data_ != nullptr);
      _impl_.cloud_token_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(_impl_.card_issuer_ != nullptr);
      _impl_.card_issuer_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000f000U)) {
    ::memset(&_impl_.status_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.exp_year_) -
        reinterpret_cast<char*>(&_impl_.status_)) + sizeof(_impl_.exp_year_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x003f0000U)) {
    ::memset(&_impl_.instrument_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.card_creation_source_) -
        reinterpret_cast<char*>(&_impl_.instrument_id_)) + sizeof(_impl_.card_creation_source_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional .sync_pb.WalletMaskedCreditCard.WalletCardStatus status = 2;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_status(), target);
  }

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

  // optional .sync_pb.WalletMaskedCreditCard.WalletCardType type = 4;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_type(), target);
  }

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

  // optional int32 exp_month = 6;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<6>(
            stream, this_._internal_exp_month(), target);
  }

  // optional int32 exp_year = 7;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_exp_year(), target);
  }

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

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

  // optional .sync_pb.CloudTokenData cloud_token_data = 11;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, *this_._impl_.cloud_token_data_, this_._impl_.cloud_token_data_->GetCachedSize(), target,
        stream);
  }

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

  // optional .sync_pb.CardIssuer card_issuer = 13;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        13, *this_._impl_.card_issuer_, this_._impl_.card_issuer_->GetCachedSize(), target,
        stream);
  }

  // optional int64 instrument_id = 15;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<15>(
            stream, this_._internal_instrument_id(), target);
  }

  // optional .sync_pb.WalletMaskedCreditCard.VirtualCardEnrollmentState virtual_card_enrollment_state = 16;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        16, this_._internal_virtual_card_enrollment_state(), target);
  }

  // optional string card_art_url = 17;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    const ::std::string& _s = this_._internal_card_art_url();
    target = stream->WriteStringMaybeAliased(17, _s, target);
  }

  // optional string product_description = 18;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_product_description();
    target = stream->WriteStringMaybeAliased(18, _s, target);
  }

  // optional .sync_pb.WalletMaskedCreditCard.VirtualCardEnrollmentType virtual_card_enrollment_type = 19;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        19, this_._internal_virtual_card_enrollment_type(), target);
  }

  // repeated .sync_pb.CardBenefit card_benefit = 20;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_card_benefit_size());
         i < n; i++) {
      const auto& repfield = this_._internal_card_benefit().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              20, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional string product_terms_url = 21;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_product_terms_url();
    target = stream->WriteStringMaybeAliased(21, _s, target);
  }

  // optional .sync_pb.WalletMaskedCreditCard.CardInfoRetrievalEnrollmentState card_info_retrieval_enrollment_state = 22;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        22, this_._internal_card_info_retrieval_enrollment_state(), target);
  }

  // optional .sync_pb.WalletMaskedCreditCard.CardBenefitSource card_benefit_source = 23;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        23, this_._internal_card_benefit_source(), target);
  }

  // optional .sync_pb.WalletMaskedCreditCard.CardCreationSource card_creation_source = 24;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        24, this_._internal_card_creation_source(), 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.WalletMaskedCreditCard)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WalletMaskedCreditCard::ByteSizeLong(const MessageLite& base) {
  const WalletMaskedCreditCard& this_ = static_cast<const WalletMaskedCreditCard&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WalletMaskedCreditCard::ByteSizeLong() const {
  const WalletMaskedCreditCard& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.WalletMaskedCreditCard)
  ::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.CardBenefit card_benefit = 20;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2UL * this_._internal_card_benefit_size();
      for (const auto& msg : this_._internal_card_benefit()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
    // optional string name_on_card = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name_on_card());
    }
    // optional string last_four = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_last_four());
    }
    // optional string billing_address_id = 8;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_billing_address_id());
    }
    // optional string bank_name = 10;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_bank_name());
    }
    // optional string nickname = 12;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_nickname());
    }
    // optional string card_art_url = 17;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_card_art_url());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // optional string product_description = 18;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_product_description());
    }
    // optional string product_terms_url = 21;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_product_terms_url());
    }
    // optional .sync_pb.CloudTokenData cloud_token_data = 11;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cloud_token_data_);
    }
    // optional .sync_pb.CardIssuer card_issuer = 13;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.card_issuer_);
    }
    // optional .sync_pb.WalletMaskedCreditCard.WalletCardStatus status = 2;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_status());
    }
    // optional .sync_pb.WalletMaskedCreditCard.WalletCardType type = 4;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
    // optional int32 exp_month = 6;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_exp_month());
    }
    // optional int32 exp_year = 7;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_exp_year());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x003f0000U)) {
    // optional int64 instrument_id = 15;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_instrument_id());
    }
    // optional .sync_pb.WalletMaskedCreditCard.VirtualCardEnrollmentState virtual_card_enrollment_state = 16;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_virtual_card_enrollment_state());
    }
    // optional .sync_pb.WalletMaskedCreditCard.VirtualCardEnrollmentType virtual_card_enrollment_type = 19;
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_virtual_card_enrollment_type());
    }
    // optional .sync_pb.WalletMaskedCreditCard.CardInfoRetrievalEnrollmentState card_info_retrieval_enrollment_state = 22;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_card_info_retrieval_enrollment_state());
    }
    // optional .sync_pb.WalletMaskedCreditCard.CardBenefitSource card_benefit_source = 23;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_card_benefit_source());
    }
    // optional .sync_pb.WalletMaskedCreditCard.CardCreationSource card_creation_source = 24;
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_card_creation_source());
    }
  }
  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 WalletMaskedCreditCard::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WalletMaskedCreditCard*>(&to_msg);
  auto& from = static_cast<const WalletMaskedCreditCard&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.WalletMaskedCreditCard)
  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_card_benefit()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_card_benefit());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_id(from._internal_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_name_on_card(from._internal_name_on_card());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_last_four(from._internal_last_four());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_billing_address_id(from._internal_billing_address_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_bank_name(from._internal_bank_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_nickname(from._internal_nickname());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_card_art_url(from._internal_card_art_url());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_product_description(from._internal_product_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_product_terms_url(from._internal_product_terms_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(from._impl_.cloud_token_data_ != nullptr);
      if (_this->_impl_.cloud_token_data_ == nullptr) {
        _this->_impl_.cloud_token_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cloud_token_data_);
      } else {
        _this->_impl_.cloud_token_data_->MergeFrom(*from._impl_.cloud_token_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(from._impl_.card_issuer_ != nullptr);
      if (_this->_impl_.card_issuer_ == nullptr) {
        _this->_impl_.card_issuer_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.card_issuer_);
      } else {
        _this->_impl_.card_issuer_->MergeFrom(*from._impl_.card_issuer_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.status_ = from._impl_.status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.exp_month_ = from._impl_.exp_month_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.exp_year_ = from._impl_.exp_year_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x003f0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.instrument_id_ = from._impl_.instrument_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.virtual_card_enrollment_state_ = from._impl_.virtual_card_enrollment_state_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.virtual_card_enrollment_type_ = from._impl_.virtual_card_enrollment_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.card_info_retrieval_enrollment_state_ = from._impl_.card_info_retrieval_enrollment_state_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.card_benefit_source_ = from._impl_.card_benefit_source_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.card_creation_source_ = from._impl_.card_creation_source_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void WalletMaskedCreditCard::InternalSwap(WalletMaskedCreditCard* 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_.card_benefit_.InternalSwap(&other->_impl_.card_benefit_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, &other->_impl_.id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_on_card_, &other->_impl_.name_on_card_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.last_four_, &other->_impl_.last_four_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.billing_address_id_, &other->_impl_.billing_address_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.bank_name_, &other->_impl_.bank_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.nickname_, &other->_impl_.nickname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.card_art_url_, &other->_impl_.card_art_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.product_description_, &other->_impl_.product_description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.product_terms_url_, &other->_impl_.product_terms_url_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.card_creation_source_)
      + sizeof(WalletMaskedCreditCard::_impl_.card_creation_source_)
      - PROTOBUF_FIELD_OFFSET(WalletMaskedCreditCard, _impl_.cloud_token_data_)>(
          reinterpret_cast<char*>(&_impl_.cloud_token_data_),
          reinterpret_cast<char*>(&other->_impl_.cloud_token_data_));
}

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

WalletPostalAddress::WalletPostalAddress(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WalletPostalAddress_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.WalletPostalAddress)
}
PROTOBUF_NDEBUG_INLINE WalletPostalAddress::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::WalletPostalAddress& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        street_address_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::WalletPostalAddress,
              PROTOBUF_FIELD_OFFSET(::sync_pb::WalletPostalAddress, _impl_.street_address_)>()
          , from.street_address_
        }
        ,
        id_(arena, from.id_),
        company_name_(arena, from.company_name_),
        address_1_(arena, from.address_1_),
        address_2_(arena, from.address_2_),
        address_3_(arena, from.address_3_),
        address_4_(arena, from.address_4_),
        postal_code_(arena, from.postal_code_),
        sorting_code_(arena, from.sorting_code_),
        country_code_(arena, from.country_code_),
        language_code_(arena, from.language_code_),
        recipient_name_(arena, from.recipient_name_),
        phone_number_(arena, from.phone_number_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WalletPostalAddress* 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.WalletPostalAddress)
}
PROTOBUF_NDEBUG_INLINE WalletPostalAddress::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        street_address_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::WalletPostalAddress,
            PROTOBUF_FIELD_OFFSET(::sync_pb::WalletPostalAddress, _impl_.street_address_)>()
         }
        ,
        id_(arena),
        company_name_(arena),
        address_1_(arena),
        address_2_(arena),
        address_3_(arena),
        address_4_(arena),
        postal_code_(arena),
        sorting_code_(arena),
        country_code_(arena),
        language_code_(arena),
        recipient_name_(arena),
        phone_number_(arena) {}

inline void WalletPostalAddress::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
WalletPostalAddress::~WalletPostalAddress() {
  // @@protoc_insertion_point(destructor:sync_pb.WalletPostalAddress)
  SharedDtor(*this);
}
inline void WalletPostalAddress::SharedDtor(MessageLite& self) {
  WalletPostalAddress& this_ = static_cast<WalletPostalAddress&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.id_.Destroy();
  this_._impl_.company_name_.Destroy();
  this_._impl_.address_1_.Destroy();
  this_._impl_.address_2_.Destroy();
  this_._impl_.address_3_.Destroy();
  this_._impl_.address_4_.Destroy();
  this_._impl_.postal_code_.Destroy();
  this_._impl_.sorting_code_.Destroy();
  this_._impl_.country_code_.Destroy();
  this_._impl_.language_code_.Destroy();
  this_._impl_.recipient_name_.Destroy();
  this_._impl_.phone_number_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WalletPostalAddress_class_data_ =
    WalletPostalAddress::InternalGenerateClassData_(WalletPostalAddress_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletPostalAddress::GetClassData() const {
  return WalletPostalAddress_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletPostalAddress::GetClassData() const {
  return WalletPostalAddress_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WalletPostalAddress::ParseTableT_
    WalletPostalAddress::_table_ =
        WalletPostalAddress::InternalGenerateParseTable_(WalletPostalAddress_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WalletPostalAddress::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.WalletPostalAddress)
  ::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_.street_address_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.company_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.address_1_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.address_2_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.address_3_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.address_4_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.postal_code_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.sorting_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.country_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _impl_.language_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _impl_.recipient_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _impl_.phone_number_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // repeated string street_address = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_street_address_size(); i < n; ++i) {
      const auto& s = this_._internal_street_address().Get(i);
      target = stream->WriteString(3, s, target);
    }
  }

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

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

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

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

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

  // optional string sorting_code = 9;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_sorting_code();
    target = stream->WriteStringMaybeAliased(9, _s, target);
  }

  // optional string country_code = 10;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_country_code();
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // optional string language_code = 11;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    const ::std::string& _s = this_._internal_language_code();
    target = stream->WriteStringMaybeAliased(11, _s, target);
  }

  // optional string recipient_name = 12;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    const ::std::string& _s = this_._internal_recipient_name();
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  // optional string phone_number = 13;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    const ::std::string& _s = this_._internal_phone_number();
    target = stream->WriteStringMaybeAliased(13, _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.WalletPostalAddress)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WalletPostalAddress::ByteSizeLong(const MessageLite& base) {
  const WalletPostalAddress& this_ = static_cast<const WalletPostalAddress&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WalletPostalAddress::ByteSizeLong() const {
  const WalletPostalAddress& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.WalletPostalAddress)
  ::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 string street_address = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_street_address().size());
      for (int i = 0, n = this_._internal_street_address().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_street_address().Get(i));
      }
    }
    // optional string id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
    // optional string company_name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_company_name());
    }
    // optional string address_1 = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_1());
    }
    // optional string address_2 = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_2());
    }
    // optional string address_3 = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_3());
    }
    // optional string address_4 = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_address_4());
    }
    // optional string postal_code = 8;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_postal_code());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    // optional string sorting_code = 9;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_sorting_code());
    }
    // optional string country_code = 10;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_country_code());
    }
    // optional string language_code = 11;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_language_code());
    }
    // optional string recipient_name = 12;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_recipient_name());
    }
    // optional string phone_number = 13;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_phone_number());
    }
  }
  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 WalletPostalAddress::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WalletPostalAddress*>(&to_msg);
  auto& from = static_cast<const WalletPostalAddress&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.WalletPostalAddress)
  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_street_address()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_street_address());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_id(from._internal_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_company_name(from._internal_company_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_address_1(from._internal_address_1());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_address_2(from._internal_address_2());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_address_3(from._internal_address_3());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_address_4(from._internal_address_4());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_postal_code(from._internal_postal_code());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_sorting_code(from._internal_sorting_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_country_code(from._internal_country_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_set_language_code(from._internal_language_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_internal_set_recipient_name(from._internal_recipient_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_internal_set_phone_number(from._internal_phone_number());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void WalletPostalAddress::InternalSwap(WalletPostalAddress* 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_.street_address_.InternalSwap(&other->_impl_.street_address_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, &other->_impl_.id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.company_name_, &other->_impl_.company_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_1_, &other->_impl_.address_1_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_2_, &other->_impl_.address_2_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_3_, &other->_impl_.address_3_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_4_, &other->_impl_.address_4_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.postal_code_, &other->_impl_.postal_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.sorting_code_, &other->_impl_.sorting_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.country_code_, &other->_impl_.country_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.language_code_, &other->_impl_.language_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.recipient_name_, &other->_impl_.recipient_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.phone_number_, &other->_impl_.phone_number_, arena);
}

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

PaymentsCustomerData::PaymentsCustomerData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PaymentsCustomerData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.PaymentsCustomerData)
}
PROTOBUF_NDEBUG_INLINE PaymentsCustomerData::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::PaymentsCustomerData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        id_(arena, from.id_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PaymentsCustomerData* 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.PaymentsCustomerData)
}
PROTOBUF_NDEBUG_INLINE PaymentsCustomerData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        id_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PaymentsCustomerData_class_data_ =
    PaymentsCustomerData::InternalGenerateClassData_(PaymentsCustomerData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaymentsCustomerData::GetClassData() const {
  return PaymentsCustomerData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaymentsCustomerData::GetClassData() const {
  return PaymentsCustomerData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PaymentsCustomerData::ParseTableT_
    PaymentsCustomerData::_table_ =
        PaymentsCustomerData::InternalGenerateParseTable_(PaymentsCustomerData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PaymentsCustomerData::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.PaymentsCustomerData)
  ::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)) {
    _impl_.id_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_id();
    target = stream->WriteStringMaybeAliased(1, _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.PaymentsCustomerData)
  return target;
}

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

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

   {
    // optional string id = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
  }
  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 PaymentsCustomerData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PaymentsCustomerData*>(&to_msg);
  auto& from = static_cast<const PaymentsCustomerData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.PaymentsCustomerData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_set_id(from._internal_id());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PaymentsCustomerData::InternalSwap(PaymentsCustomerData* 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_.id_, &other->_impl_.id_, arena);
}

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

WalletCreditCardCloudTokenData::WalletCreditCardCloudTokenData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WalletCreditCardCloudTokenData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.WalletCreditCardCloudTokenData)
}
PROTOBUF_NDEBUG_INLINE WalletCreditCardCloudTokenData::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::WalletCreditCardCloudTokenData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        masked_card_id_(arena, from.masked_card_id_),
        suffix_(arena, from.suffix_),
        art_fife_url_(arena, from.art_fife_url_),
        instrument_token_(arena, from.instrument_token_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WalletCreditCardCloudTokenData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, exp_month_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, exp_month_),
           offsetof(Impl_, exp_year_) -
               offsetof(Impl_, exp_month_) +
               sizeof(Impl_::exp_year_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WalletCreditCardCloudTokenData_class_data_ =
    WalletCreditCardCloudTokenData::InternalGenerateClassData_(WalletCreditCardCloudTokenData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletCreditCardCloudTokenData::GetClassData() const {
  return WalletCreditCardCloudTokenData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletCreditCardCloudTokenData::GetClassData() const {
  return WalletCreditCardCloudTokenData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WalletCreditCardCloudTokenData::ParseTableT_
    WalletCreditCardCloudTokenData::_table_ =
        WalletCreditCardCloudTokenData::InternalGenerateParseTable_(WalletCreditCardCloudTokenData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WalletCreditCardCloudTokenData::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.WalletCreditCardCloudTokenData)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.masked_card_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.suffix_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.art_fife_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.instrument_token_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000030U)) {
    ::memset(&_impl_.exp_month_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.exp_year_) -
        reinterpret_cast<char*>(&_impl_.exp_month_)) + sizeof(_impl_.exp_year_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // optional int32 exp_month = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_exp_month(), target);
  }

  // optional int32 exp_year = 4;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_exp_year(), target);
  }

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

  // optional string instrument_token = 6;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_instrument_token();
    target = stream->WriteStringMaybeAliased(6, _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.WalletCreditCardCloudTokenData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WalletCreditCardCloudTokenData::ByteSizeLong(const MessageLite& base) {
  const WalletCreditCardCloudTokenData& this_ = static_cast<const WalletCreditCardCloudTokenData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WalletCreditCardCloudTokenData::ByteSizeLong() const {
  const WalletCreditCardCloudTokenData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.WalletCreditCardCloudTokenData)
  ::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, 0x0000003fU)) {
    // optional string masked_card_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_masked_card_id());
    }
    // optional string suffix = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_suffix());
    }
    // optional string art_fife_url = 5;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_art_fife_url());
    }
    // optional string instrument_token = 6;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_instrument_token());
    }
    // optional int32 exp_month = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_exp_month());
    }
    // optional int32 exp_year = 4;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_exp_year());
    }
  }
  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 WalletCreditCardCloudTokenData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WalletCreditCardCloudTokenData*>(&to_msg);
  auto& from = static_cast<const WalletCreditCardCloudTokenData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.WalletCreditCardCloudTokenData)
  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, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_masked_card_id(from._internal_masked_card_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_suffix(from._internal_suffix());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_art_fife_url(from._internal_art_fife_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_instrument_token(from._internal_instrument_token());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.exp_month_ = from._impl_.exp_month_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.exp_year_ = from._impl_.exp_year_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void WalletCreditCardCloudTokenData::InternalSwap(WalletCreditCardCloudTokenData* 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_.masked_card_id_, &other->_impl_.masked_card_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.suffix_, &other->_impl_.suffix_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.art_fife_url_, &other->_impl_.art_fife_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.instrument_token_, &other->_impl_.instrument_token_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.exp_year_)
      + sizeof(WalletCreditCardCloudTokenData::_impl_.exp_year_)
      - PROTOBUF_FIELD_OFFSET(WalletCreditCardCloudTokenData, _impl_.exp_month_)>(
          reinterpret_cast<char*>(&_impl_.exp_month_),
          reinterpret_cast<char*>(&other->_impl_.exp_month_));
}

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

void PaymentInstrument::set_allocated_bank_account(::sync_pb::BankAccountDetails* PROTOBUF_NULLABLE bank_account) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_instrument_details();
  if (bank_account) {
    ::google::protobuf::Arena* submessage_arena = bank_account->GetArena();
    if (message_arena != submessage_arena) {
      bank_account = ::google::protobuf::internal::GetOwnedMessage(message_arena, bank_account, submessage_arena);
    }
    set_has_bank_account();
    _impl_.instrument_details_.bank_account_ = bank_account;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.PaymentInstrument.bank_account)
}
void PaymentInstrument::set_allocated_iban(::sync_pb::WalletMaskedIban* PROTOBUF_NULLABLE iban) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_instrument_details();
  if (iban) {
    ::google::protobuf::Arena* submessage_arena = iban->GetArena();
    if (message_arena != submessage_arena) {
      iban = ::google::protobuf::internal::GetOwnedMessage(message_arena, iban, submessage_arena);
    }
    set_has_iban();
    _impl_.instrument_details_.iban_ = iban;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.PaymentInstrument.iban)
}
void PaymentInstrument::set_allocated_ewallet_details(::sync_pb::EwalletDetails* PROTOBUF_NULLABLE ewallet_details) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_instrument_details();
  if (ewallet_details) {
    ::google::protobuf::Arena* submessage_arena = ewallet_details->GetArena();
    if (message_arena != submessage_arena) {
      ewallet_details = ::google::protobuf::internal::GetOwnedMessage(message_arena, ewallet_details, submessage_arena);
    }
    set_has_ewallet_details();
    _impl_.instrument_details_.ewallet_details_ = ewallet_details;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.PaymentInstrument.ewallet_details)
}
void PaymentInstrument::set_allocated_bnpl_issuer_details(::sync_pb::BnplIssuerDetails* PROTOBUF_NULLABLE bnpl_issuer_details) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_instrument_details();
  if (bnpl_issuer_details) {
    ::google::protobuf::Arena* submessage_arena = bnpl_issuer_details->GetArena();
    if (message_arena != submessage_arena) {
      bnpl_issuer_details = ::google::protobuf::internal::GetOwnedMessage(message_arena, bnpl_issuer_details, submessage_arena);
    }
    set_has_bnpl_issuer_details();
    _impl_.instrument_details_.bnpl_issuer_details_ = bnpl_issuer_details;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.PaymentInstrument.bnpl_issuer_details)
}
PaymentInstrument::PaymentInstrument(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PaymentInstrument_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.PaymentInstrument)
}
PROTOBUF_NDEBUG_INLINE PaymentInstrument::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::PaymentInstrument& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        supported_rails_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::PaymentInstrument,
              PROTOBUF_FIELD_OFFSET(::sync_pb::PaymentInstrument, _impl_.supported_rails_)>()
          , from.supported_rails_
        }
        ,
        display_icon_url_(arena, from.display_icon_url_),
        nickname_(arena, from.nickname_),
        action_required_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::PaymentInstrument,
              PROTOBUF_FIELD_OFFSET(::sync_pb::PaymentInstrument, _impl_.action_required_)>()
          , from.action_required_
        }
        ,
        instrument_details_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PaymentInstrument* 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_.device_details_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.device_details_)
                : nullptr;
  _impl_.instrument_id_ = from._impl_.instrument_id_;
  switch (instrument_details_case()) {
    case INSTRUMENT_DETAILS_NOT_SET:
      break;
      case kBankAccount:
        _impl_.instrument_details_.bank_account_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.instrument_details_.bank_account_);
        break;
      case kIban:
        _impl_.instrument_details_.iban_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.instrument_details_.iban_);
        break;
      case kEwalletDetails:
        _impl_.instrument_details_.ewallet_details_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.instrument_details_.ewallet_details_);
        break;
      case kBnplIssuerDetails:
        _impl_.instrument_details_.bnpl_issuer_details_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.instrument_details_.bnpl_issuer_details_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:sync_pb.PaymentInstrument)
}
PROTOBUF_NDEBUG_INLINE PaymentInstrument::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        supported_rails_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::PaymentInstrument,
            PROTOBUF_FIELD_OFFSET(::sync_pb::PaymentInstrument, _impl_.supported_rails_)>()
         }
        ,
        display_icon_url_(arena),
        nickname_(arena),
        action_required_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::PaymentInstrument,
            PROTOBUF_FIELD_OFFSET(::sync_pb::PaymentInstrument, _impl_.action_required_)>()
         }
        ,
        instrument_details_{},
        _oneof_case_{} {}

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

void PaymentInstrument::clear_instrument_details() {
// @@protoc_insertion_point(one_of_clear_start:sync_pb.PaymentInstrument)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (instrument_details_case()) {
    case kBankAccount: {
      if (GetArena() == nullptr) {
        delete _impl_.instrument_details_.bank_account_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.instrument_details_.bank_account_ != nullptr) {
          _impl_.instrument_details_.bank_account_->Clear();
        }
      }
      break;
    }
    case kIban: {
      if (GetArena() == nullptr) {
        delete _impl_.instrument_details_.iban_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.instrument_details_.iban_ != nullptr) {
          _impl_.instrument_details_.iban_->Clear();
        }
      }
      break;
    }
    case kEwalletDetails: {
      if (GetArena() == nullptr) {
        delete _impl_.instrument_details_.ewallet_details_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.instrument_details_.ewallet_details_ != nullptr) {
          _impl_.instrument_details_.ewallet_details_->Clear();
        }
      }
      break;
    }
    case kBnplIssuerDetails: {
      if (GetArena() == nullptr) {
        delete _impl_.instrument_details_.bnpl_issuer_details_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.instrument_details_.bnpl_issuer_details_ != nullptr) {
          _impl_.instrument_details_.bnpl_issuer_details_->Clear();
        }
      }
      break;
    }
    case INSTRUMENT_DETAILS_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = INSTRUMENT_DETAILS_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PaymentInstrument_class_data_ =
    PaymentInstrument::InternalGenerateClassData_(PaymentInstrument_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaymentInstrument::GetClassData() const {
  return PaymentInstrument_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaymentInstrument::GetClassData() const {
  return PaymentInstrument_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PaymentInstrument::ParseTableT_
    PaymentInstrument::_table_ =
        PaymentInstrument::InternalGenerateParseTable_(PaymentInstrument_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PaymentInstrument::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.PaymentInstrument)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.supported_rails_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.display_icon_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.nickname_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.device_details_ != nullptr);
      _impl_.device_details_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000030U)) {
    _impl_.instrument_id_ = ::int64_t{0};
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.action_required_.Clear();
    }
  }
  clear_instrument_details();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 instrument_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_instrument_id(), target);
  }

  // repeated .sync_pb.PaymentInstrument.SupportedRail supported_rails = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_supported_rails_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          2, static_cast<::sync_pb::PaymentInstrument_SupportedRail>(this_._internal_supported_rails().Get(i)),
          target);
    }
  }

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

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

  switch (this_.instrument_details_case()) {
    case kBankAccount: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.instrument_details_.bank_account_, this_._impl_.instrument_details_.bank_account_->GetCachedSize(), target,
          stream);
      break;
    }
    case kIban: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, *this_._impl_.instrument_details_.iban_, this_._impl_.instrument_details_.iban_->GetCachedSize(), target,
          stream);
      break;
    }
    case kEwalletDetails: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          7, *this_._impl_.instrument_details_.ewallet_details_, this_._impl_.instrument_details_.ewallet_details_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  // optional .sync_pb.DeviceDetails device_details = 8;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.device_details_, this_._impl_.device_details_->GetCachedSize(), target,
        stream);
  }

  // .sync_pb.BnplIssuerDetails bnpl_issuer_details = 9;
  if (this_.instrument_details_case() == kBnplIssuerDetails) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, *this_._impl_.instrument_details_.bnpl_issuer_details_, this_._impl_.instrument_details_.bnpl_issuer_details_->GetCachedSize(), target,
        stream);
  }

  // repeated .sync_pb.PaymentInstrument.ActionRequired action_required = 10;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (int i = 0, n = this_._internal_action_required_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          10, static_cast<::sync_pb::PaymentInstrument_ActionRequired>(this_._internal_action_required().Get(i)),
          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.PaymentInstrument)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PaymentInstrument::ByteSizeLong(const MessageLite& base) {
  const PaymentInstrument& this_ = static_cast<const PaymentInstrument&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PaymentInstrument::ByteSizeLong() const {
  const PaymentInstrument& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.PaymentInstrument)
  ::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, 0x0000003fU)) {
    // repeated .sync_pb.PaymentInstrument.SupportedRail supported_rails = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_supported_rails());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_supported_rails_size());
      total_size += data_size + tag_size;
    }
    // optional string display_icon_url = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_display_icon_url());
    }
    // optional string nickname = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_nickname());
    }
    // optional .sync_pb.DeviceDetails device_details = 8;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.device_details_);
    }
    // optional int64 instrument_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_instrument_id());
    }
    // repeated .sync_pb.PaymentInstrument.ActionRequired action_required = 10;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_action_required());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_action_required_size());
      total_size += data_size + tag_size;
    }
  }
  switch (this_.instrument_details_case()) {
    // .sync_pb.BankAccountDetails bank_account = 5;
    case kBankAccount: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.instrument_details_.bank_account_);
      break;
    }
    // .sync_pb.WalletMaskedIban iban = 6;
    case kIban: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.instrument_details_.iban_);
      break;
    }
    // .sync_pb.EwalletDetails ewallet_details = 7;
    case kEwalletDetails: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.instrument_details_.ewallet_details_);
      break;
    }
    // .sync_pb.BnplIssuerDetails bnpl_issuer_details = 9;
    case kBnplIssuerDetails: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.instrument_details_.bnpl_issuer_details_);
      break;
    }
    case INSTRUMENT_DETAILS_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 PaymentInstrument::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PaymentInstrument*>(&to_msg);
  auto& from = static_cast<const PaymentInstrument&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.PaymentInstrument)
  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, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_supported_rails()->MergeFrom(from._internal_supported_rails());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_display_icon_url(from._internal_display_icon_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_nickname(from._internal_nickname());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.device_details_ != nullptr);
      if (_this->_impl_.device_details_ == nullptr) {
        _this->_impl_.device_details_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.device_details_);
      } else {
        _this->_impl_.device_details_->MergeFrom(*from._impl_.device_details_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.instrument_id_ = from._impl_.instrument_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_action_required()->MergeFrom(from._internal_action_required());
    }
  }
  _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_instrument_details();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kBankAccount: {
        if (oneof_needs_init) {
          _this->_impl_.instrument_details_.bank_account_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.instrument_details_.bank_account_);
        } else {
          _this->_impl_.instrument_details_.bank_account_->CheckTypeAndMergeFrom(*from._impl_.instrument_details_.bank_account_);
        }
        break;
      }
      case kIban: {
        if (oneof_needs_init) {
          _this->_impl_.instrument_details_.iban_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.instrument_details_.iban_);
        } else {
          _this->_impl_.instrument_details_.iban_->CheckTypeAndMergeFrom(*from._impl_.instrument_details_.iban_);
        }
        break;
      }
      case kEwalletDetails: {
        if (oneof_needs_init) {
          _this->_impl_.instrument_details_.ewallet_details_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.instrument_details_.ewallet_details_);
        } else {
          _this->_impl_.instrument_details_.ewallet_details_->CheckTypeAndMergeFrom(*from._impl_.instrument_details_.ewallet_details_);
        }
        break;
      }
      case kBnplIssuerDetails: {
        if (oneof_needs_init) {
          _this->_impl_.instrument_details_.bnpl_issuer_details_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.instrument_details_.bnpl_issuer_details_);
        } else {
          _this->_impl_.instrument_details_.bnpl_issuer_details_->CheckTypeAndMergeFrom(*from._impl_.instrument_details_.bnpl_issuer_details_);
        }
        break;
      }
      case INSTRUMENT_DETAILS_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PaymentInstrument::InternalSwap(PaymentInstrument* 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_.supported_rails_.InternalSwap(&other->_impl_.supported_rails_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_icon_url_, &other->_impl_.display_icon_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.nickname_, &other->_impl_.nickname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.instrument_id_)
      + sizeof(PaymentInstrument::_impl_.instrument_id_)
      - PROTOBUF_FIELD_OFFSET(PaymentInstrument, _impl_.device_details_)>(
          reinterpret_cast<char*>(&_impl_.device_details_),
          reinterpret_cast<char*>(&other->_impl_.device_details_));
  _impl_.action_required_.InternalSwap(&other->_impl_.action_required_);
  swap(_impl_.instrument_details_, other->_impl_.instrument_details_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

BnplIssuerDetails::BnplIssuerDetails(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BnplIssuerDetails_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.BnplIssuerDetails)
}
PROTOBUF_NDEBUG_INLINE BnplIssuerDetails::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::BnplIssuerDetails& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        eligible_price_range_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::BnplIssuerDetails,
              PROTOBUF_FIELD_OFFSET(::sync_pb::BnplIssuerDetails, _impl_.eligible_price_range_)>()
          , from.eligible_price_range_
        }
        ,
        issuer_id_(arena, from.issuer_id_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  BnplIssuerDetails* 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.BnplIssuerDetails)
}
PROTOBUF_NDEBUG_INLINE BnplIssuerDetails::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        eligible_price_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::BnplIssuerDetails,
            PROTOBUF_FIELD_OFFSET(::sync_pb::BnplIssuerDetails, _impl_.eligible_price_range_)>()
         }
        ,
        issuer_id_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BnplIssuerDetails_class_data_ =
    BnplIssuerDetails::InternalGenerateClassData_(BnplIssuerDetails_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BnplIssuerDetails::GetClassData() const {
  return BnplIssuerDetails_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BnplIssuerDetails::GetClassData() const {
  return BnplIssuerDetails_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BnplIssuerDetails::ParseTableT_
    BnplIssuerDetails::_table_ =
        BnplIssuerDetails::InternalGenerateParseTable_(BnplIssuerDetails_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BnplIssuerDetails::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.BnplIssuerDetails)
  ::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_.eligible_price_range_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.issuer_id_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // repeated .sync_pb.EligiblePriceRange eligible_price_range = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_eligible_price_range_size());
         i < n; i++) {
      const auto& repfield = this_._internal_eligible_price_range().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.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.BnplIssuerDetails)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BnplIssuerDetails::ByteSizeLong(const MessageLite& base) {
  const BnplIssuerDetails& this_ = static_cast<const BnplIssuerDetails&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BnplIssuerDetails::ByteSizeLong() const {
  const BnplIssuerDetails& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.BnplIssuerDetails)
  ::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)) {
    // repeated .sync_pb.EligiblePriceRange eligible_price_range = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_eligible_price_range_size();
      for (const auto& msg : this_._internal_eligible_price_range()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string issuer_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_issuer_id());
    }
  }
  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 BnplIssuerDetails::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BnplIssuerDetails*>(&to_msg);
  auto& from = static_cast<const BnplIssuerDetails&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.BnplIssuerDetails)
  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_mutable_eligible_price_range()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_eligible_price_range());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_issuer_id(from._internal_issuer_id());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BnplIssuerDetails::InternalSwap(BnplIssuerDetails* 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_.eligible_price_range_.InternalSwap(&other->_impl_.eligible_price_range_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.issuer_id_, &other->_impl_.issuer_id_, arena);
}

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

void PaymentInstrumentCreationOption::set_allocated_buy_now_pay_later_option(::sync_pb::BnplCreationOption* PROTOBUF_NULLABLE buy_now_pay_later_option) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_creation_option();
  if (buy_now_pay_later_option) {
    ::google::protobuf::Arena* submessage_arena = buy_now_pay_later_option->GetArena();
    if (message_arena != submessage_arena) {
      buy_now_pay_later_option = ::google::protobuf::internal::GetOwnedMessage(message_arena, buy_now_pay_later_option, submessage_arena);
    }
    set_has_buy_now_pay_later_option();
    _impl_.creation_option_.buy_now_pay_later_option_ = buy_now_pay_later_option;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.PaymentInstrumentCreationOption.buy_now_pay_later_option)
}
void PaymentInstrumentCreationOption::set_allocated_ewallet_creation_option(::sync_pb::EwalletCreationOption* PROTOBUF_NULLABLE ewallet_creation_option) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_creation_option();
  if (ewallet_creation_option) {
    ::google::protobuf::Arena* submessage_arena = ewallet_creation_option->GetArena();
    if (message_arena != submessage_arena) {
      ewallet_creation_option = ::google::protobuf::internal::GetOwnedMessage(message_arena, ewallet_creation_option, submessage_arena);
    }
    set_has_ewallet_creation_option();
    _impl_.creation_option_.ewallet_creation_option_ = ewallet_creation_option;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.PaymentInstrumentCreationOption.ewallet_creation_option)
}
void PaymentInstrumentCreationOption::set_allocated_pix_creation_option(::sync_pb::PixCreationOption* PROTOBUF_NULLABLE pix_creation_option) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_creation_option();
  if (pix_creation_option) {
    ::google::protobuf::Arena* submessage_arena = pix_creation_option->GetArena();
    if (message_arena != submessage_arena) {
      pix_creation_option = ::google::protobuf::internal::GetOwnedMessage(message_arena, pix_creation_option, submessage_arena);
    }
    set_has_pix_creation_option();
    _impl_.creation_option_.pix_creation_option_ = pix_creation_option;
  }
  // @@protoc_insertion_point(field_set_allocated:sync_pb.PaymentInstrumentCreationOption.pix_creation_option)
}
PaymentInstrumentCreationOption::PaymentInstrumentCreationOption(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PaymentInstrumentCreationOption_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.PaymentInstrumentCreationOption)
}
PROTOBUF_NDEBUG_INLINE PaymentInstrumentCreationOption::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::PaymentInstrumentCreationOption& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        id_(arena, from.id_),
        creation_option_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PaymentInstrumentCreationOption* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (creation_option_case()) {
    case CREATION_OPTION_NOT_SET:
      break;
      case kBuyNowPayLaterOption:
        _impl_.creation_option_.buy_now_pay_later_option_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.creation_option_.buy_now_pay_later_option_);
        break;
      case kEwalletCreationOption:
        _impl_.creation_option_.ewallet_creation_option_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.creation_option_.ewallet_creation_option_);
        break;
      case kPixCreationOption:
        _impl_.creation_option_.pix_creation_option_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.creation_option_.pix_creation_option_);
        break;
  }

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

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

void PaymentInstrumentCreationOption::clear_creation_option() {
// @@protoc_insertion_point(one_of_clear_start:sync_pb.PaymentInstrumentCreationOption)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (creation_option_case()) {
    case kBuyNowPayLaterOption: {
      if (GetArena() == nullptr) {
        delete _impl_.creation_option_.buy_now_pay_later_option_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.creation_option_.buy_now_pay_later_option_ != nullptr) {
          _impl_.creation_option_.buy_now_pay_later_option_->Clear();
        }
      }
      break;
    }
    case kEwalletCreationOption: {
      if (GetArena() == nullptr) {
        delete _impl_.creation_option_.ewallet_creation_option_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.creation_option_.ewallet_creation_option_ != nullptr) {
          _impl_.creation_option_.ewallet_creation_option_->Clear();
        }
      }
      break;
    }
    case kPixCreationOption: {
      if (GetArena() == nullptr) {
        delete _impl_.creation_option_.pix_creation_option_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.creation_option_.pix_creation_option_ != nullptr) {
          _impl_.creation_option_.pix_creation_option_->Clear();
        }
      }
      break;
    }
    case CREATION_OPTION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = CREATION_OPTION_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PaymentInstrumentCreationOption_class_data_ =
    PaymentInstrumentCreationOption::InternalGenerateClassData_(PaymentInstrumentCreationOption_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaymentInstrumentCreationOption::GetClassData() const {
  return PaymentInstrumentCreationOption_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaymentInstrumentCreationOption::GetClassData() const {
  return PaymentInstrumentCreationOption_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PaymentInstrumentCreationOption::ParseTableT_
    PaymentInstrumentCreationOption::_table_ =
        PaymentInstrumentCreationOption::InternalGenerateParseTable_(PaymentInstrumentCreationOption_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PaymentInstrumentCreationOption::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.PaymentInstrumentCreationOption)
  ::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)) {
    _impl_.id_.ClearNonDefaultToEmpty();
  }
  clear_creation_option();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  switch (this_.creation_option_case()) {
    case kBuyNowPayLaterOption: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.creation_option_.buy_now_pay_later_option_, this_._impl_.creation_option_.buy_now_pay_later_option_->GetCachedSize(), target,
          stream);
      break;
    }
    case kEwalletCreationOption: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.creation_option_.ewallet_creation_option_, this_._impl_.creation_option_.ewallet_creation_option_->GetCachedSize(), target,
          stream);
      break;
    }
    case kPixCreationOption: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.creation_option_.pix_creation_option_, this_._impl_.creation_option_.pix_creation_option_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  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.PaymentInstrumentCreationOption)
  return target;
}

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

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

   {
    // optional string id = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
  }
  switch (this_.creation_option_case()) {
    // .sync_pb.BnplCreationOption buy_now_pay_later_option = 2;
    case kBuyNowPayLaterOption: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.creation_option_.buy_now_pay_later_option_);
      break;
    }
    // .sync_pb.EwalletCreationOption ewallet_creation_option = 3;
    case kEwalletCreationOption: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.creation_option_.ewallet_creation_option_);
      break;
    }
    // .sync_pb.PixCreationOption pix_creation_option = 4;
    case kPixCreationOption: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.creation_option_.pix_creation_option_);
      break;
    }
    case CREATION_OPTION_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 PaymentInstrumentCreationOption::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PaymentInstrumentCreationOption*>(&to_msg);
  auto& from = static_cast<const PaymentInstrumentCreationOption&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.PaymentInstrumentCreationOption)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_set_id(from._internal_id());
  }
  _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_creation_option();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kBuyNowPayLaterOption: {
        if (oneof_needs_init) {
          _this->_impl_.creation_option_.buy_now_pay_later_option_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.creation_option_.buy_now_pay_later_option_);
        } else {
          _this->_impl_.creation_option_.buy_now_pay_later_option_->CheckTypeAndMergeFrom(*from._impl_.creation_option_.buy_now_pay_later_option_);
        }
        break;
      }
      case kEwalletCreationOption: {
        if (oneof_needs_init) {
          _this->_impl_.creation_option_.ewallet_creation_option_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.creation_option_.ewallet_creation_option_);
        } else {
          _this->_impl_.creation_option_.ewallet_creation_option_->CheckTypeAndMergeFrom(*from._impl_.creation_option_.ewallet_creation_option_);
        }
        break;
      }
      case kPixCreationOption: {
        if (oneof_needs_init) {
          _this->_impl_.creation_option_.pix_creation_option_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.creation_option_.pix_creation_option_);
        } else {
          _this->_impl_.creation_option_.pix_creation_option_->CheckTypeAndMergeFrom(*from._impl_.creation_option_.pix_creation_option_);
        }
        break;
      }
      case CREATION_OPTION_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PaymentInstrumentCreationOption::InternalSwap(PaymentInstrumentCreationOption* 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_.id_, &other->_impl_.id_, arena);
  swap(_impl_.creation_option_, other->_impl_.creation_option_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

EwalletCreationOption::EwalletCreationOption(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EwalletCreationOption_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.EwalletCreationOption)
}
PROTOBUF_NDEBUG_INLINE EwalletCreationOption::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::EwalletCreationOption& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        supported_payment_link_uris_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::EwalletCreationOption,
              PROTOBUF_FIELD_OFFSET(::sync_pb::EwalletCreationOption, _impl_.supported_payment_link_uris_)>()
          , from.supported_payment_link_uris_
        }
        ,
        issuer_id_(arena, from.issuer_id_),
        issuer_display_name_(arena, from.issuer_display_name_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EwalletCreationOption* 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.EwalletCreationOption)
}
PROTOBUF_NDEBUG_INLINE EwalletCreationOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        supported_payment_link_uris_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::EwalletCreationOption,
            PROTOBUF_FIELD_OFFSET(::sync_pb::EwalletCreationOption, _impl_.supported_payment_link_uris_)>()
         }
        ,
        issuer_id_(arena),
        issuer_display_name_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite EwalletCreationOption_class_data_ =
    EwalletCreationOption::InternalGenerateClassData_(EwalletCreationOption_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EwalletCreationOption::GetClassData() const {
  return EwalletCreationOption_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EwalletCreationOption::GetClassData() const {
  return EwalletCreationOption_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const EwalletCreationOption::ParseTableT_
    EwalletCreationOption::_table_ =
        EwalletCreationOption::InternalGenerateParseTable_(EwalletCreationOption_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void EwalletCreationOption::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.EwalletCreationOption)
  ::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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.supported_payment_link_uris_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.issuer_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.issuer_display_name_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // repeated string supported_payment_link_uris = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_supported_payment_link_uris_size(); i < n; ++i) {
      const auto& s = this_._internal_supported_payment_link_uris().Get(i);
      target = stream->WriteString(3, 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.EwalletCreationOption)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EwalletCreationOption::ByteSizeLong(const MessageLite& base) {
  const EwalletCreationOption& this_ = static_cast<const EwalletCreationOption&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EwalletCreationOption::ByteSizeLong() const {
  const EwalletCreationOption& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.EwalletCreationOption)
  ::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, 0x00000007U)) {
    // repeated string supported_payment_link_uris = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_supported_payment_link_uris().size());
      for (int i = 0, n = this_._internal_supported_payment_link_uris().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_supported_payment_link_uris().Get(i));
      }
    }
    // optional string issuer_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_issuer_id());
    }
    // optional string issuer_display_name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_issuer_display_name());
    }
  }
  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 EwalletCreationOption::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EwalletCreationOption*>(&to_msg);
  auto& from = static_cast<const EwalletCreationOption&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.EwalletCreationOption)
  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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_supported_payment_link_uris()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_supported_payment_link_uris());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_issuer_id(from._internal_issuer_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_issuer_display_name(from._internal_issuer_display_name());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void EwalletCreationOption::InternalSwap(EwalletCreationOption* 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_.supported_payment_link_uris_.InternalSwap(&other->_impl_.supported_payment_link_uris_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.issuer_id_, &other->_impl_.issuer_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.issuer_display_name_, &other->_impl_.issuer_display_name_, arena);
}

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

PixCreationOption::PixCreationOption(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PixCreationOption_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.PixCreationOption)
}
PixCreationOption::PixCreationOption(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PixCreationOption& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PixCreationOption_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PixCreationOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PixCreationOption_class_data_ =
    PixCreationOption::InternalGenerateClassData_(PixCreationOption_globals_._default);

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

  _internal_metadata_.Clear<::std::string>();
}

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

  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.PixCreationOption)
  return target;
}

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

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

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

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PixCreationOption::InternalSwap(PixCreationOption* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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

BnplCreationOption::BnplCreationOption(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BnplCreationOption_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.BnplCreationOption)
}
PROTOBUF_NDEBUG_INLINE BnplCreationOption::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::BnplCreationOption& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        eligible_price_range_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::BnplCreationOption,
              PROTOBUF_FIELD_OFFSET(::sync_pb::BnplCreationOption, _impl_.eligible_price_range_)>()
          , from.eligible_price_range_
        }
        ,
        issuer_id_(arena, from.issuer_id_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  BnplCreationOption* 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.BnplCreationOption)
}
PROTOBUF_NDEBUG_INLINE BnplCreationOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        eligible_price_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::BnplCreationOption,
            PROTOBUF_FIELD_OFFSET(::sync_pb::BnplCreationOption, _impl_.eligible_price_range_)>()
         }
        ,
        issuer_id_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BnplCreationOption_class_data_ =
    BnplCreationOption::InternalGenerateClassData_(BnplCreationOption_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BnplCreationOption::GetClassData() const {
  return BnplCreationOption_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BnplCreationOption::GetClassData() const {
  return BnplCreationOption_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BnplCreationOption::ParseTableT_
    BnplCreationOption::_table_ =
        BnplCreationOption::InternalGenerateParseTable_(BnplCreationOption_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BnplCreationOption::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.BnplCreationOption)
  ::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_.eligible_price_range_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.issuer_id_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // repeated .sync_pb.EligiblePriceRange eligible_price_range = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_eligible_price_range_size());
         i < n; i++) {
      const auto& repfield = this_._internal_eligible_price_range().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.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.BnplCreationOption)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BnplCreationOption::ByteSizeLong(const MessageLite& base) {
  const BnplCreationOption& this_ = static_cast<const BnplCreationOption&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BnplCreationOption::ByteSizeLong() const {
  const BnplCreationOption& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.BnplCreationOption)
  ::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)) {
    // repeated .sync_pb.EligiblePriceRange eligible_price_range = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_eligible_price_range_size();
      for (const auto& msg : this_._internal_eligible_price_range()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string issuer_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_issuer_id());
    }
  }
  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 BnplCreationOption::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BnplCreationOption*>(&to_msg);
  auto& from = static_cast<const BnplCreationOption&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.BnplCreationOption)
  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_mutable_eligible_price_range()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_eligible_price_range());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_issuer_id(from._internal_issuer_id());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BnplCreationOption::InternalSwap(BnplCreationOption* 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_.eligible_price_range_.InternalSwap(&other->_impl_.eligible_price_range_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.issuer_id_, &other->_impl_.issuer_id_, arena);
}

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

EligiblePriceRange::EligiblePriceRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EligiblePriceRange_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.EligiblePriceRange)
}
PROTOBUF_NDEBUG_INLINE EligiblePriceRange::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::EligiblePriceRange& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        currency_(arena, from.currency_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EligiblePriceRange* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, min_price_in_micros_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, min_price_in_micros_),
           offsetof(Impl_, max_price_in_micros_) -
               offsetof(Impl_, min_price_in_micros_) +
               sizeof(Impl_::max_price_in_micros_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite EligiblePriceRange_class_data_ =
    EligiblePriceRange::InternalGenerateClassData_(EligiblePriceRange_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EligiblePriceRange::GetClassData() const {
  return EligiblePriceRange_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EligiblePriceRange::GetClassData() const {
  return EligiblePriceRange_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const EligiblePriceRange::ParseTableT_
    EligiblePriceRange::_table_ =
        EligiblePriceRange::InternalGenerateParseTable_(EligiblePriceRange_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void EligiblePriceRange::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.EligiblePriceRange)
  ::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)) {
    _impl_.currency_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.min_price_in_micros_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.max_price_in_micros_) -
        reinterpret_cast<char*>(&_impl_.min_price_in_micros_)) + sizeof(_impl_.max_price_in_micros_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional int64 min_price_in_micros = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_min_price_in_micros(), target);
  }

  // optional int64 max_price_in_micros = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_max_price_in_micros(), 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.EligiblePriceRange)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EligiblePriceRange::ByteSizeLong(const MessageLite& base) {
  const EligiblePriceRange& this_ = static_cast<const EligiblePriceRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EligiblePriceRange::ByteSizeLong() const {
  const EligiblePriceRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.EligiblePriceRange)
  ::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, 0x00000007U)) {
    // optional string currency = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_currency());
    }
    // optional int64 min_price_in_micros = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_min_price_in_micros());
    }
    // optional int64 max_price_in_micros = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_max_price_in_micros());
    }
  }
  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 EligiblePriceRange::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EligiblePriceRange*>(&to_msg);
  auto& from = static_cast<const EligiblePriceRange&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.EligiblePriceRange)
  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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_currency(from._internal_currency());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.min_price_in_micros_ = from._impl_.min_price_in_micros_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.max_price_in_micros_ = from._impl_.max_price_in_micros_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void EligiblePriceRange::InternalSwap(EligiblePriceRange* 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_.currency_, &other->_impl_.currency_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_.max_price_in_micros_)
      + sizeof(EligiblePriceRange::_impl_.max_price_in_micros_)
      - PROTOBUF_FIELD_OFFSET(EligiblePriceRange, _impl_.min_price_in_micros_)>(
          reinterpret_cast<char*>(&_impl_.min_price_in_micros_),
          reinterpret_cast<char*>(&other->_impl_.min_price_in_micros_));
}

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

WalletMaskedIban::WalletMaskedIban(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WalletMaskedIban_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.WalletMaskedIban)
}
PROTOBUF_NDEBUG_INLINE WalletMaskedIban::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::WalletMaskedIban& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        instrument_id_(arena, from.instrument_id_),
        prefix_(arena, from.prefix_),
        suffix_(arena, from.suffix_),
        nickname_(arena, from.nickname_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WalletMaskedIban_class_data_ =
    WalletMaskedIban::InternalGenerateClassData_(WalletMaskedIban_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletMaskedIban::GetClassData() const {
  return WalletMaskedIban_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletMaskedIban::GetClassData() const {
  return WalletMaskedIban_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WalletMaskedIban::ParseTableT_
    WalletMaskedIban::_table_ =
        WalletMaskedIban::InternalGenerateParseTable_(WalletMaskedIban_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WalletMaskedIban::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.WalletMaskedIban)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.instrument_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.prefix_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.suffix_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.nickname_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.length_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

  // optional int32 length = 4;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_length(), target);
  }

  // optional string nickname = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_nickname();
    target = stream->WriteStringMaybeAliased(5, _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.WalletMaskedIban)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WalletMaskedIban::ByteSizeLong(const MessageLite& base) {
  const WalletMaskedIban& this_ = static_cast<const WalletMaskedIban&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WalletMaskedIban::ByteSizeLong() const {
  const WalletMaskedIban& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.WalletMaskedIban)
  ::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, 0x0000001fU)) {
    // optional string instrument_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_instrument_id());
    }
    // optional string prefix = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_prefix());
    }
    // optional string suffix = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_suffix());
    }
    // optional string nickname = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_nickname());
    }
    // optional int32 length = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_length());
    }
  }
  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 WalletMaskedIban::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WalletMaskedIban*>(&to_msg);
  auto& from = static_cast<const WalletMaskedIban&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.WalletMaskedIban)
  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, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_instrument_id(from._internal_instrument_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_prefix(from._internal_prefix());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_suffix(from._internal_suffix());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_nickname(from._internal_nickname());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.length_ = from._impl_.length_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void WalletMaskedIban::InternalSwap(WalletMaskedIban* 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_.instrument_id_, &other->_impl_.instrument_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.prefix_, &other->_impl_.prefix_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.suffix_, &other->_impl_.suffix_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.nickname_, &other->_impl_.nickname_, arena);
  swap(_impl_.length_, other->_impl_.length_);
}

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

BankAccountDetails::BankAccountDetails(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BankAccountDetails_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.BankAccountDetails)
}
PROTOBUF_NDEBUG_INLINE BankAccountDetails::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::BankAccountDetails& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        bank_name_(arena, from.bank_name_),
        account_number_suffix_(arena, from.account_number_suffix_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BankAccountDetails_class_data_ =
    BankAccountDetails::InternalGenerateClassData_(BankAccountDetails_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BankAccountDetails::GetClassData() const {
  return BankAccountDetails_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BankAccountDetails::GetClassData() const {
  return BankAccountDetails_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BankAccountDetails::ParseTableT_
    BankAccountDetails::_table_ =
        BankAccountDetails::InternalGenerateParseTable_(BankAccountDetails_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BankAccountDetails::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.BankAccountDetails)
  ::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_.bank_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.account_number_suffix_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.account_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // optional .sync_pb.BankAccountDetails.AccountType account_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_account_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.BankAccountDetails)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BankAccountDetails::ByteSizeLong(const MessageLite& base) {
  const BankAccountDetails& this_ = static_cast<const BankAccountDetails&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BankAccountDetails::ByteSizeLong() const {
  const BankAccountDetails& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.BankAccountDetails)
  ::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, 0x00000007U)) {
    // optional string bank_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_bank_name());
    }
    // optional string account_number_suffix = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_account_number_suffix());
    }
    // optional .sync_pb.BankAccountDetails.AccountType account_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_account_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 BankAccountDetails::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BankAccountDetails*>(&to_msg);
  auto& from = static_cast<const BankAccountDetails&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.BankAccountDetails)
  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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_bank_name(from._internal_bank_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_account_number_suffix(from._internal_account_number_suffix());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.account_type_ = from._impl_.account_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BankAccountDetails::InternalSwap(BankAccountDetails* 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_.bank_name_, &other->_impl_.bank_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.account_number_suffix_, &other->_impl_.account_number_suffix_, arena);
  swap(_impl_.account_type_, other->_impl_.account_type_);
}

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

EwalletDetails::EwalletDetails(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EwalletDetails_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.EwalletDetails)
}
PROTOBUF_NDEBUG_INLINE EwalletDetails::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::EwalletDetails& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        supported_payment_link_uris_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::sync_pb::EwalletDetails,
              PROTOBUF_FIELD_OFFSET(::sync_pb::EwalletDetails, _impl_.supported_payment_link_uris_)>()
          , from.supported_payment_link_uris_
        }
        ,
        ewallet_name_(arena, from.ewallet_name_),
        account_display_name_(arena, from.account_display_name_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EwalletDetails* 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.EwalletDetails)
}
PROTOBUF_NDEBUG_INLINE EwalletDetails::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        supported_payment_link_uris_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::sync_pb::EwalletDetails,
            PROTOBUF_FIELD_OFFSET(::sync_pb::EwalletDetails, _impl_.supported_payment_link_uris_)>()
         }
        ,
        ewallet_name_(arena),
        account_display_name_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite EwalletDetails_class_data_ =
    EwalletDetails::InternalGenerateClassData_(EwalletDetails_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EwalletDetails::GetClassData() const {
  return EwalletDetails_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EwalletDetails::GetClassData() const {
  return EwalletDetails_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const EwalletDetails::ParseTableT_
    EwalletDetails::_table_ =
        EwalletDetails::InternalGenerateParseTable_(EwalletDetails_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void EwalletDetails::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.EwalletDetails)
  ::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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.supported_payment_link_uris_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.ewallet_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.account_display_name_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // repeated string supported_payment_link_uris = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_supported_payment_link_uris_size(); i < n; ++i) {
      const auto& s = this_._internal_supported_payment_link_uris().Get(i);
      target = stream->WriteString(3, 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.EwalletDetails)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EwalletDetails::ByteSizeLong(const MessageLite& base) {
  const EwalletDetails& this_ = static_cast<const EwalletDetails&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EwalletDetails::ByteSizeLong() const {
  const EwalletDetails& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.EwalletDetails)
  ::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, 0x00000007U)) {
    // repeated string supported_payment_link_uris = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_supported_payment_link_uris().size());
      for (int i = 0, n = this_._internal_supported_payment_link_uris().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_supported_payment_link_uris().Get(i));
      }
    }
    // optional string ewallet_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_ewallet_name());
    }
    // optional string account_display_name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_account_display_name());
    }
  }
  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 EwalletDetails::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EwalletDetails*>(&to_msg);
  auto& from = static_cast<const EwalletDetails&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.EwalletDetails)
  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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_supported_payment_link_uris()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_supported_payment_link_uris());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_ewallet_name(from._internal_ewallet_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_account_display_name(from._internal_account_display_name());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void EwalletDetails::InternalSwap(EwalletDetails* 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_.supported_payment_link_uris_.InternalSwap(&other->_impl_.supported_payment_link_uris_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ewallet_name_, &other->_impl_.ewallet_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.account_display_name_, &other->_impl_.account_display_name_, arena);
}

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

DeviceDetails::DeviceDetails(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DeviceDetails_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.DeviceDetails)
}
DeviceDetails::DeviceDetails(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DeviceDetails& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DeviceDetails_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE DeviceDetails::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DeviceDetails_class_data_ =
    DeviceDetails::InternalGenerateClassData_(DeviceDetails_globals_._default);

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

  _impl_.is_fido_enrolled_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool is_fido_enrolled = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_is_fido_enrolled(), 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.DeviceDetails)
  return target;
}

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000001U & cached_has_bits) * 2;
  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 DeviceDetails::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DeviceDetails*>(&to_msg);
  auto& from = static_cast<const DeviceDetails&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.DeviceDetails)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_impl_.is_fido_enrolled_ = from._impl_.is_fido_enrolled_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DeviceDetails::InternalSwap(DeviceDetails* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.is_fido_enrolled_, other->_impl_.is_fido_enrolled_);
}

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

AutofillWalletSpecifics::AutofillWalletSpecifics(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutofillWalletSpecifics_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.AutofillWalletSpecifics)
}
PROTOBUF_NDEBUG_INLINE AutofillWalletSpecifics::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::AutofillWalletSpecifics& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AutofillWalletSpecifics* 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_.masked_card_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.masked_card_)
                : nullptr;
  _impl_.address_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.address_)
                : nullptr;
  _impl_.customer_data_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.customer_data_)
                : nullptr;
  _impl_.cloud_token_data_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cloud_token_data_)
                : nullptr;
  _impl_.payment_instrument_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.payment_instrument_)
                : nullptr;
  _impl_.masked_iban_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.masked_iban_)
                : nullptr;
  _impl_.payment_instrument_creation_option_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.payment_instrument_creation_option_)
                : nullptr;
  _impl_.type_ = from._impl_.type_;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AutofillWalletSpecifics_class_data_ =
    AutofillWalletSpecifics::InternalGenerateClassData_(AutofillWalletSpecifics_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillWalletSpecifics::GetClassData() const {
  return AutofillWalletSpecifics_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillWalletSpecifics::GetClassData() const {
  return AutofillWalletSpecifics_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AutofillWalletSpecifics::ParseTableT_
    AutofillWalletSpecifics::_table_ =
        AutofillWalletSpecifics::InternalGenerateParseTable_(AutofillWalletSpecifics_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AutofillWalletSpecifics::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.AutofillWalletSpecifics)
  ::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, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.masked_card_ != nullptr);
      _impl_.masked_card_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.address_ != nullptr);
      _impl_.address_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.customer_data_ != nullptr);
      _impl_.customer_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.cloud_token_data_ != nullptr);
      _impl_.cloud_token_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.payment_instrument_ != nullptr);
      _impl_.payment_instrument_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.masked_iban_ != nullptr);
      _impl_.masked_iban_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.payment_instrument_creation_option_ != nullptr);
      _impl_.payment_instrument_creation_option_->Clear();
    }
  }
  _impl_.type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .sync_pb.AutofillWalletSpecifics.WalletInfoType type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_type(), target);
  }

  // optional .sync_pb.WalletMaskedCreditCard masked_card = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.masked_card_, this_._impl_.masked_card_->GetCachedSize(), target,
        stream);
  }

  // optional .sync_pb.WalletPostalAddress address = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.address_, this_._impl_.address_->GetCachedSize(), target,
        stream);
  }

  // optional .sync_pb.PaymentsCustomerData customer_data = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.customer_data_, this_._impl_.customer_data_->GetCachedSize(), target,
        stream);
  }

  // optional .sync_pb.WalletCreditCardCloudTokenData cloud_token_data = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.cloud_token_data_, this_._impl_.cloud_token_data_->GetCachedSize(), target,
        stream);
  }

  // optional .sync_pb.PaymentInstrument payment_instrument = 6;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.payment_instrument_, this_._impl_.payment_instrument_->GetCachedSize(), target,
        stream);
  }

  // optional .sync_pb.WalletMaskedIban masked_iban = 7 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.masked_iban_, this_._impl_.masked_iban_->GetCachedSize(), target,
        stream);
  }

  // optional .sync_pb.PaymentInstrumentCreationOption payment_instrument_creation_option = 8;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.payment_instrument_creation_option_, this_._impl_.payment_instrument_creation_option_->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.AutofillWalletSpecifics)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AutofillWalletSpecifics::ByteSizeLong(const MessageLite& base) {
  const AutofillWalletSpecifics& this_ = static_cast<const AutofillWalletSpecifics&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AutofillWalletSpecifics::ByteSizeLong() const {
  const AutofillWalletSpecifics& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.AutofillWalletSpecifics)
  ::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)) {
    // optional .sync_pb.WalletMaskedCreditCard masked_card = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.masked_card_);
    }
    // optional .sync_pb.WalletPostalAddress address = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.address_);
    }
    // optional .sync_pb.PaymentsCustomerData customer_data = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.customer_data_);
    }
    // optional .sync_pb.WalletCreditCardCloudTokenData cloud_token_data = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cloud_token_data_);
    }
    // optional .sync_pb.PaymentInstrument payment_instrument = 6;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.payment_instrument_);
    }
    // optional .sync_pb.WalletMaskedIban masked_iban = 7 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.masked_iban_);
    }
    // optional .sync_pb.PaymentInstrumentCreationOption payment_instrument_creation_option = 8;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.payment_instrument_creation_option_);
    }
    // optional .sync_pb.AutofillWalletSpecifics.WalletInfoType type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_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 AutofillWalletSpecifics::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AutofillWalletSpecifics*>(&to_msg);
  auto& from = static_cast<const AutofillWalletSpecifics&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.AutofillWalletSpecifics)
  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)) {
      ABSL_DCHECK(from._impl_.masked_card_ != nullptr);
      if (_this->_impl_.masked_card_ == nullptr) {
        _this->_impl_.masked_card_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.masked_card_);
      } else {
        _this->_impl_.masked_card_->MergeFrom(*from._impl_.masked_card_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.address_ != nullptr);
      if (_this->_impl_.address_ == nullptr) {
        _this->_impl_.address_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.address_);
      } else {
        _this->_impl_.address_->MergeFrom(*from._impl_.address_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.customer_data_ != nullptr);
      if (_this->_impl_.customer_data_ == nullptr) {
        _this->_impl_.customer_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.customer_data_);
      } else {
        _this->_impl_.customer_data_->MergeFrom(*from._impl_.customer_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.cloud_token_data_ != nullptr);
      if (_this->_impl_.cloud_token_data_ == nullptr) {
        _this->_impl_.cloud_token_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cloud_token_data_);
      } else {
        _this->_impl_.cloud_token_data_->MergeFrom(*from._impl_.cloud_token_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.payment_instrument_ != nullptr);
      if (_this->_impl_.payment_instrument_ == nullptr) {
        _this->_impl_.payment_instrument_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.payment_instrument_);
      } else {
        _this->_impl_.payment_instrument_->MergeFrom(*from._impl_.payment_instrument_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.masked_iban_ != nullptr);
      if (_this->_impl_.masked_iban_ == nullptr) {
        _this->_impl_.masked_iban_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.masked_iban_);
      } else {
        _this->_impl_.masked_iban_->MergeFrom(*from._impl_.masked_iban_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.payment_instrument_creation_option_ != nullptr);
      if (_this->_impl_.payment_instrument_creation_option_ == nullptr) {
        _this->_impl_.payment_instrument_creation_option_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.payment_instrument_creation_option_);
      } else {
        _this->_impl_.payment_instrument_creation_option_->MergeFrom(*from._impl_.payment_instrument_creation_option_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AutofillWalletSpecifics::InternalSwap(AutofillWalletSpecifics* 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(AutofillWalletSpecifics, _impl_.type_)
      + sizeof(AutofillWalletSpecifics::_impl_.type_)
      - PROTOBUF_FIELD_OFFSET(AutofillWalletSpecifics, _impl_.masked_card_)>(
          reinterpret_cast<char*>(&_impl_.masked_card_),
          reinterpret_cast<char*>(&other->_impl_.masked_card_));
}

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

WalletMetadataSpecifics::WalletMetadataSpecifics(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WalletMetadataSpecifics_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:sync_pb.WalletMetadataSpecifics)
}
PROTOBUF_NDEBUG_INLINE WalletMetadataSpecifics::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::WalletMetadataSpecifics& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        id_(arena, from.id_),
        card_billing_address_id_(arena, from.card_billing_address_id_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WalletMetadataSpecifics* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, use_count_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, use_count_),
           offsetof(Impl_, use_date_) -
               offsetof(Impl_, use_count_) +
               sizeof(Impl_::use_date_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WalletMetadataSpecifics_class_data_ =
    WalletMetadataSpecifics::InternalGenerateClassData_(WalletMetadataSpecifics_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletMetadataSpecifics::GetClassData() const {
  return WalletMetadataSpecifics_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WalletMetadataSpecifics::GetClassData() const {
  return WalletMetadataSpecifics_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WalletMetadataSpecifics::ParseTableT_
    WalletMetadataSpecifics::_table_ =
        WalletMetadataSpecifics::InternalGenerateParseTable_(WalletMetadataSpecifics_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WalletMetadataSpecifics::Clear() {
// @@protoc_insertion_point(message_clear_start:sync_pb.WalletMetadataSpecifics)
  ::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_.id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.card_billing_address_id_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000003cU)) {
    ::memset(&_impl_.use_count_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.use_date_) -
        reinterpret_cast<char*>(&_impl_.use_count_)) + sizeof(_impl_.use_date_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .sync_pb.WalletMetadataSpecifics.Type type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_type(), target);
  }

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

  // optional int64 use_count = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_use_count(), target);
  }

  // optional int64 use_date = 4;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
            stream, this_._internal_use_date(), target);
  }

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

  // optional bool address_has_converted = 6;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_address_has_converted(), 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.WalletMetadataSpecifics)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WalletMetadataSpecifics::ByteSizeLong(const MessageLite& base) {
  const WalletMetadataSpecifics& this_ = static_cast<const WalletMetadataSpecifics&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WalletMetadataSpecifics::ByteSizeLong() const {
  const WalletMetadataSpecifics& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:sync_pb.WalletMetadataSpecifics)
  ::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];
  total_size += static_cast<bool>(0x00000010U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000002fU)) {
    // optional string id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
    // optional string card_billing_address_id = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_card_billing_address_id());
    }
    // optional int64 use_count = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_use_count());
    }
    // optional .sync_pb.WalletMetadataSpecifics.Type type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
    // optional int64 use_date = 4;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_use_date());
    }
  }
  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 WalletMetadataSpecifics::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WalletMetadataSpecifics*>(&to_msg);
  auto& from = static_cast<const WalletMetadataSpecifics&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:sync_pb.WalletMetadataSpecifics)
  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, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_id(from._internal_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_card_billing_address_id(from._internal_card_billing_address_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.use_count_ = from._impl_.use_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.address_has_converted_ = from._impl_.address_has_converted_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.use_date_ = from._impl_.use_date_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void WalletMetadataSpecifics::InternalSwap(WalletMetadataSpecifics* 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_.id_, &other->_impl_.id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.card_billing_address_id_, &other->_impl_.card_billing_address_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.use_date_)
      + sizeof(WalletMetadataSpecifics::_impl_.use_date_)
      - PROTOBUF_FIELD_OFFSET(WalletMetadataSpecifics, _impl_.use_count_)>(
          reinterpret_cast<char*>(&_impl_.use_count_),
          reinterpret_cast<char*>(&other->_impl_.use_count_));
}

// @@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"
