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

#ifndef safebrowsing_5fv5_2eproto_2epb_2eh
#define safebrowsing_5fv5_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7035000
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_util.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_safebrowsing_5fv5_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_safebrowsing_5fv5_2eproto {
  static const ::uint32_t offsets[];
};
namespace mozilla {
namespace safebrowsing {
namespace v5 {
enum HashListMetadata_HashLength : int;
extern const uint32_t HashListMetadata_HashLength_internal_data_[];
enum LikelySafeType : int;
extern const uint32_t LikelySafeType_internal_data_[];
enum ThreatAttribute : int;
extern const uint32_t ThreatAttribute_internal_data_[];
enum ThreatType : int;
extern const uint32_t ThreatType_internal_data_[];
class BatchGetHashListsRequest;
struct BatchGetHashListsRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern BatchGetHashListsRequestGlobalsTypeInternal BatchGetHashListsRequest_globals_;
extern const ::google::protobuf::internal::ClassDataLite BatchGetHashListsRequest_class_data_;
#else
extern const BatchGetHashListsRequestGlobalsTypeInternal BatchGetHashListsRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class BatchGetHashListsResponse;
struct BatchGetHashListsResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern BatchGetHashListsResponseGlobalsTypeInternal BatchGetHashListsResponse_globals_;
extern const ::google::protobuf::internal::ClassDataLite BatchGetHashListsResponse_class_data_;
#else
extern const BatchGetHashListsResponseGlobalsTypeInternal BatchGetHashListsResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class Duration;
struct DurationGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DurationGlobalsTypeInternal Duration_globals_;
extern const ::google::protobuf::internal::ClassDataLite Duration_class_data_;
#else
extern const DurationGlobalsTypeInternal Duration_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class FullHash;
struct FullHashGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern FullHashGlobalsTypeInternal FullHash_globals_;
extern const ::google::protobuf::internal::ClassDataLite FullHash_class_data_;
#else
extern const FullHashGlobalsTypeInternal FullHash_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class FullHash_FullHashDetail;
struct FullHash_FullHashDetailGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern FullHash_FullHashDetailGlobalsTypeInternal FullHash_FullHashDetail_globals_;
extern const ::google::protobuf::internal::ClassDataLite FullHash_FullHashDetail_class_data_;
#else
extern const FullHash_FullHashDetailGlobalsTypeInternal FullHash_FullHashDetail_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class GetHashListRequest;
struct GetHashListRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern GetHashListRequestGlobalsTypeInternal GetHashListRequest_globals_;
extern const ::google::protobuf::internal::ClassDataLite GetHashListRequest_class_data_;
#else
extern const GetHashListRequestGlobalsTypeInternal GetHashListRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class HashList;
struct HashListGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern HashListGlobalsTypeInternal HashList_globals_;
extern const ::google::protobuf::internal::ClassDataLite HashList_class_data_;
#else
extern const HashListGlobalsTypeInternal HashList_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class HashListMetadata;
struct HashListMetadataGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern HashListMetadataGlobalsTypeInternal HashListMetadata_globals_;
extern const ::google::protobuf::internal::ClassDataLite HashListMetadata_class_data_;
#else
extern const HashListMetadataGlobalsTypeInternal HashListMetadata_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ListHashListsRequest;
struct ListHashListsRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ListHashListsRequestGlobalsTypeInternal ListHashListsRequest_globals_;
extern const ::google::protobuf::internal::ClassDataLite ListHashListsRequest_class_data_;
#else
extern const ListHashListsRequestGlobalsTypeInternal ListHashListsRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ListHashListsResponse;
struct ListHashListsResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ListHashListsResponseGlobalsTypeInternal ListHashListsResponse_globals_;
extern const ::google::protobuf::internal::ClassDataLite ListHashListsResponse_class_data_;
#else
extern const ListHashListsResponseGlobalsTypeInternal ListHashListsResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RiceDeltaEncoded128Bit;
struct RiceDeltaEncoded128BitGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RiceDeltaEncoded128BitGlobalsTypeInternal RiceDeltaEncoded128Bit_globals_;
extern const ::google::protobuf::internal::ClassDataLite RiceDeltaEncoded128Bit_class_data_;
#else
extern const RiceDeltaEncoded128BitGlobalsTypeInternal RiceDeltaEncoded128Bit_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RiceDeltaEncoded256Bit;
struct RiceDeltaEncoded256BitGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RiceDeltaEncoded256BitGlobalsTypeInternal RiceDeltaEncoded256Bit_globals_;
extern const ::google::protobuf::internal::ClassDataLite RiceDeltaEncoded256Bit_class_data_;
#else
extern const RiceDeltaEncoded256BitGlobalsTypeInternal RiceDeltaEncoded256Bit_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RiceDeltaEncoded32Bit;
struct RiceDeltaEncoded32BitGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RiceDeltaEncoded32BitGlobalsTypeInternal RiceDeltaEncoded32Bit_globals_;
extern const ::google::protobuf::internal::ClassDataLite RiceDeltaEncoded32Bit_class_data_;
#else
extern const RiceDeltaEncoded32BitGlobalsTypeInternal RiceDeltaEncoded32Bit_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RiceDeltaEncoded64Bit;
struct RiceDeltaEncoded64BitGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RiceDeltaEncoded64BitGlobalsTypeInternal RiceDeltaEncoded64Bit_globals_;
extern const ::google::protobuf::internal::ClassDataLite RiceDeltaEncoded64Bit_class_data_;
#else
extern const RiceDeltaEncoded64BitGlobalsTypeInternal RiceDeltaEncoded64Bit_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SearchHashesRequest;
struct SearchHashesRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SearchHashesRequestGlobalsTypeInternal SearchHashesRequest_globals_;
extern const ::google::protobuf::internal::ClassDataLite SearchHashesRequest_class_data_;
#else
extern const SearchHashesRequestGlobalsTypeInternal SearchHashesRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SearchHashesResponse;
struct SearchHashesResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SearchHashesResponseGlobalsTypeInternal SearchHashesResponse_globals_;
extern const ::google::protobuf::internal::ClassDataLite SearchHashesResponse_class_data_;
#else
extern const SearchHashesResponseGlobalsTypeInternal SearchHashesResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SizeConstraints;
struct SizeConstraintsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SizeConstraintsGlobalsTypeInternal SizeConstraints_globals_;
extern const ::google::protobuf::internal::ClassDataLite SizeConstraints_class_data_;
#else
extern const SizeConstraintsGlobalsTypeInternal SizeConstraints_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
}  // namespace v5
}  // namespace safebrowsing
}  // namespace mozilla
namespace google {
namespace protobuf {
template <>
internal::EnumTraitsT<::mozilla::safebrowsing::v5::HashListMetadata_HashLength_internal_data_>
    internal::EnumTraitsImpl::value<::mozilla::safebrowsing::v5::HashListMetadata_HashLength>;
template <>
internal::EnumTraitsT<::mozilla::safebrowsing::v5::LikelySafeType_internal_data_>
    internal::EnumTraitsImpl::value<::mozilla::safebrowsing::v5::LikelySafeType>;
template <>
internal::EnumTraitsT<::mozilla::safebrowsing::v5::ThreatAttribute_internal_data_>
    internal::EnumTraitsImpl::value<::mozilla::safebrowsing::v5::ThreatAttribute>;
template <>
internal::EnumTraitsT<::mozilla::safebrowsing::v5::ThreatType_internal_data_>
    internal::EnumTraitsImpl::value<::mozilla::safebrowsing::v5::ThreatType>;
}  // namespace protobuf
}  // namespace google

namespace mozilla {
namespace safebrowsing {
namespace v5 {
enum HashListMetadata_HashLength : int {
  HashListMetadata_HashLength_HASH_LENGTH_UNSPECIFIED = 0,
  HashListMetadata_HashLength_FOUR_BYTES = 2,
  HashListMetadata_HashLength_EIGHT_BYTES = 3,
  HashListMetadata_HashLength_SIXTEEN_BYTES = 4,
  HashListMetadata_HashLength_THIRTY_TWO_BYTES = 5,
  HashListMetadata_HashLength_HashListMetadata_HashLength_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  HashListMetadata_HashLength_HashListMetadata_HashLength_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t HashListMetadata_HashLength_internal_data_[];
inline constexpr HashListMetadata_HashLength HashListMetadata_HashLength_HashLength_MIN =
    static_cast<HashListMetadata_HashLength>(0);
inline constexpr HashListMetadata_HashLength HashListMetadata_HashLength_HashLength_MAX =
    static_cast<HashListMetadata_HashLength>(5);
[[nodiscard]] inline bool HashListMetadata_HashLength_IsValid(int value) {
  return 0 <= value && value <= 5 && ((61u >> value) & 1) != 0;
}
inline constexpr int HashListMetadata_HashLength_HashLength_ARRAYSIZE = 5 + 1;
[[nodiscard]] const ::std::string& HashListMetadata_HashLength_Name(HashListMetadata_HashLength value);
template <typename T>
[[nodiscard]] const ::std::string& HashListMetadata_HashLength_Name(T value) {
  static_assert(::std::is_same<T, HashListMetadata_HashLength>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to HashLength_Name().");
  return HashListMetadata_HashLength_Name(static_cast<HashListMetadata_HashLength>(value));
}
[[nodiscard]] bool HashListMetadata_HashLength_Parse(
    ::absl::string_view name, HashListMetadata_HashLength* PROTOBUF_NONNULL value);
enum ThreatType : int {
  THREAT_TYPE_UNSPECIFIED = 0,
  MALWARE = 1,
  SOCIAL_ENGINEERING = 2,
  UNWANTED_SOFTWARE = 3,
  POTENTIALLY_HARMFUL_APPLICATION = 4,
  ThreatType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  ThreatType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t ThreatType_internal_data_[];
inline constexpr ThreatType ThreatType_MIN =
    static_cast<ThreatType>(0);
inline constexpr ThreatType ThreatType_MAX =
    static_cast<ThreatType>(4);
[[nodiscard]] inline bool ThreatType_IsValid(int value) {
  return 0 <= value && value <= 4;
}
inline constexpr int ThreatType_ARRAYSIZE = 4 + 1;
[[nodiscard]] const ::std::string& ThreatType_Name(ThreatType value);
template <typename T>
[[nodiscard]] const ::std::string& ThreatType_Name(T value) {
  static_assert(::std::is_same<T, ThreatType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to ThreatType_Name().");
  return ThreatType_Name(static_cast<ThreatType>(value));
}
[[nodiscard]] bool ThreatType_Parse(
    ::absl::string_view name, ThreatType* PROTOBUF_NONNULL value);
enum LikelySafeType : int {
  LIKELY_SAFE_TYPE_UNSPECIFIED = 0,
  GENERAL_BROWSING = 1,
  CSD = 2,
  DOWNLOAD = 3,
  LikelySafeType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  LikelySafeType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t LikelySafeType_internal_data_[];
inline constexpr LikelySafeType LikelySafeType_MIN =
    static_cast<LikelySafeType>(0);
inline constexpr LikelySafeType LikelySafeType_MAX =
    static_cast<LikelySafeType>(3);
[[nodiscard]] inline bool LikelySafeType_IsValid(int value) {
  return 0 <= value && value <= 3;
}
inline constexpr int LikelySafeType_ARRAYSIZE = 3 + 1;
[[nodiscard]] const ::std::string& LikelySafeType_Name(LikelySafeType value);
template <typename T>
[[nodiscard]] const ::std::string& LikelySafeType_Name(T value) {
  static_assert(::std::is_same<T, LikelySafeType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to LikelySafeType_Name().");
  return LikelySafeType_Name(static_cast<LikelySafeType>(value));
}
[[nodiscard]] bool LikelySafeType_Parse(
    ::absl::string_view name, LikelySafeType* PROTOBUF_NONNULL value);
enum ThreatAttribute : int {
  THREAT_ATTRIBUTE_UNSPECIFIED = 0,
  CANARY = 1,
  FRAME_ONLY = 2,
  ThreatAttribute_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  ThreatAttribute_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t ThreatAttribute_internal_data_[];
inline constexpr ThreatAttribute ThreatAttribute_MIN =
    static_cast<ThreatAttribute>(0);
inline constexpr ThreatAttribute ThreatAttribute_MAX =
    static_cast<ThreatAttribute>(2);
[[nodiscard]] inline bool ThreatAttribute_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int ThreatAttribute_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::std::string& ThreatAttribute_Name(ThreatAttribute value);
template <typename T>
[[nodiscard]] const ::std::string& ThreatAttribute_Name(T value) {
  static_assert(::std::is_same<T, ThreatAttribute>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to ThreatAttribute_Name().");
  return ThreatAttribute_Name(static_cast<ThreatAttribute>(value));
}
[[nodiscard]] bool ThreatAttribute_Parse(
    ::absl::string_view name, ThreatAttribute* PROTOBUF_NONNULL value);
using ::google::protobuf::internal::generated_enum::AbslParseFlag;
using ::google::protobuf::internal::generated_enum::AbslUnparseFlag;

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


// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SizeConstraints final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.SizeConstraints) */ {
 public:
  inline SizeConstraints() : SizeConstraints(nullptr) {}
  ~SizeConstraints() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SizeConstraints* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SizeConstraints));
  }
#endif

  template <typename = void>
  explicit constexpr SizeConstraints(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline SizeConstraints(const SizeConstraints& from) : SizeConstraints(nullptr, from) {}
  inline SizeConstraints(SizeConstraints&& from) noexcept : SizeConstraints(nullptr, ::std::move(from)) {}
  inline SizeConstraints& operator=(const SizeConstraints& from) {
    CopyFrom(from);
    return *this;
  }
  inline SizeConstraints& operator=(SizeConstraints&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const SizeConstraints& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SizeConstraints>(&SizeConstraints_globals_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(SizeConstraints& a, SizeConstraints& b) { a.Swap(&b); }
  inline void Swap(SizeConstraints* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SizeConstraints* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] SizeConstraints* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<SizeConstraints>(arena);
  }
  void CopyFrom(const SizeConstraints& from);
  void MergeFrom(const SizeConstraints& from) { SizeConstraints::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SizeConstraints* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.SizeConstraints"; }

  explicit SizeConstraints(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SizeConstraints(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SizeConstraints& from);
  SizeConstraints(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SizeConstraints&& from) noexcept
      : SizeConstraints(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMaxUpdateEntriesFieldNumber = 1,
    kMaxDatabaseEntriesFieldNumber = 2,
  };
  // int32 max_update_entries = 1;
  void clear_max_update_entries() ;
  [[nodiscard]] ::int32_t max_update_entries() const;
  void set_max_update_entries(::int32_t value);

  private:
  ::int32_t _internal_max_update_entries() const;
  void _internal_set_max_update_entries(::int32_t value);

  public:
  // int32 max_database_entries = 2;
  void clear_max_database_entries() ;
  [[nodiscard]] ::int32_t max_database_entries() const;
  void set_max_database_entries(::int32_t value);

  private:
  ::int32_t _internal_max_database_entries() const;
  void _internal_set_max_database_entries(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.SizeConstraints)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SizeConstraints& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int32_t max_update_entries_;
    ::int32_t max_database_entries_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SearchHashesRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.SearchHashesRequest) */ {
 public:
  inline SearchHashesRequest() : SearchHashesRequest(nullptr) {}
  ~SearchHashesRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SearchHashesRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SearchHashesRequest));
  }
#endif

  template <typename = void>
  explicit constexpr SearchHashesRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline SearchHashesRequest(const SearchHashesRequest& from) : SearchHashesRequest(nullptr, from) {}
  inline SearchHashesRequest(SearchHashesRequest&& from) noexcept : SearchHashesRequest(nullptr, ::std::move(from)) {}
  inline SearchHashesRequest& operator=(const SearchHashesRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SearchHashesRequest& operator=(SearchHashesRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const SearchHashesRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SearchHashesRequest>(&SearchHashesRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(SearchHashesRequest& a, SearchHashesRequest& b) { a.Swap(&b); }
  inline void Swap(SearchHashesRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SearchHashesRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] SearchHashesRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<SearchHashesRequest>(arena);
  }
  void CopyFrom(const SearchHashesRequest& from);
  void MergeFrom(const SearchHashesRequest& from) { SearchHashesRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SearchHashesRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.SearchHashesRequest"; }

  explicit SearchHashesRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SearchHashesRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SearchHashesRequest& from);
  SearchHashesRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SearchHashesRequest&& from) noexcept
      : SearchHashesRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kHashPrefixesFieldNumber = 1,
  };
  // repeated bytes hash_prefixes = 1;
  [[nodiscard]] int hash_prefixes_size()
      const;
  private:
  int _internal_hash_prefixes_size() const;

  public:
  void clear_hash_prefixes() ;
  [[nodiscard]] const ::std::string& hash_prefixes(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_hash_prefixes(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_hash_prefixes(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_hash_prefixes();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_hash_prefixes(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      hash_prefixes() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_hash_prefixes();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_hash_prefixes() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_hash_prefixes();

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.SearchHashesRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SearchHashesRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> hash_prefixes_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RiceDeltaEncoded64Bit final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit) */ {
 public:
  inline RiceDeltaEncoded64Bit() : RiceDeltaEncoded64Bit(nullptr) {}
  ~RiceDeltaEncoded64Bit() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RiceDeltaEncoded64Bit* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RiceDeltaEncoded64Bit));
  }
#endif

  template <typename = void>
  explicit constexpr RiceDeltaEncoded64Bit(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RiceDeltaEncoded64Bit(const RiceDeltaEncoded64Bit& from) : RiceDeltaEncoded64Bit(nullptr, from) {}
  inline RiceDeltaEncoded64Bit(RiceDeltaEncoded64Bit&& from) noexcept : RiceDeltaEncoded64Bit(nullptr, ::std::move(from)) {}
  inline RiceDeltaEncoded64Bit& operator=(const RiceDeltaEncoded64Bit& from) {
    CopyFrom(from);
    return *this;
  }
  inline RiceDeltaEncoded64Bit& operator=(RiceDeltaEncoded64Bit&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const RiceDeltaEncoded64Bit& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RiceDeltaEncoded64Bit>(&RiceDeltaEncoded64Bit_globals_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(RiceDeltaEncoded64Bit& a, RiceDeltaEncoded64Bit& b) { a.Swap(&b); }
  inline void Swap(RiceDeltaEncoded64Bit* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RiceDeltaEncoded64Bit* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RiceDeltaEncoded64Bit* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RiceDeltaEncoded64Bit>(arena);
  }
  void CopyFrom(const RiceDeltaEncoded64Bit& from);
  void MergeFrom(const RiceDeltaEncoded64Bit& from) { RiceDeltaEncoded64Bit::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RiceDeltaEncoded64Bit* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit"; }

  explicit RiceDeltaEncoded64Bit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RiceDeltaEncoded64Bit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RiceDeltaEncoded64Bit& from);
  RiceDeltaEncoded64Bit(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RiceDeltaEncoded64Bit&& from) noexcept
      : RiceDeltaEncoded64Bit(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kEncodedDataFieldNumber = 4,
    kFirstValueFieldNumber = 1,
    kRiceParameterFieldNumber = 2,
    kEntriesCountFieldNumber = 3,
  };
  // bytes encoded_data = 4;
  void clear_encoded_data() ;
  [[nodiscard]] const ::std::string& encoded_data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_encoded_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_encoded_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_encoded_data();
  void set_allocated_encoded_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_encoded_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_encoded_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_encoded_data();

  public:
  // uint64 first_value = 1;
  void clear_first_value() ;
  [[nodiscard]] ::uint64_t first_value() const;
  void set_first_value(::uint64_t value);

  private:
  ::uint64_t _internal_first_value() const;
  void _internal_set_first_value(::uint64_t value);

  public:
  // int32 rice_parameter = 2;
  void clear_rice_parameter() ;
  [[nodiscard]] ::int32_t rice_parameter() const;
  void set_rice_parameter(::int32_t value);

  private:
  ::int32_t _internal_rice_parameter() const;
  void _internal_set_rice_parameter(::int32_t value);

  public:
  // int32 entries_count = 3;
  void clear_entries_count() ;
  [[nodiscard]] ::int32_t entries_count() const;
  void set_entries_count(::int32_t value);

  private:
  ::int32_t _internal_entries_count() const;
  void _internal_set_entries_count(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RiceDeltaEncoded64Bit& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr encoded_data_;
    ::uint64_t first_value_;
    ::int32_t rice_parameter_;
    ::int32_t entries_count_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RiceDeltaEncoded32Bit final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit) */ {
 public:
  inline RiceDeltaEncoded32Bit() : RiceDeltaEncoded32Bit(nullptr) {}
  ~RiceDeltaEncoded32Bit() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RiceDeltaEncoded32Bit* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RiceDeltaEncoded32Bit));
  }
#endif

  template <typename = void>
  explicit constexpr RiceDeltaEncoded32Bit(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RiceDeltaEncoded32Bit(const RiceDeltaEncoded32Bit& from) : RiceDeltaEncoded32Bit(nullptr, from) {}
  inline RiceDeltaEncoded32Bit(RiceDeltaEncoded32Bit&& from) noexcept : RiceDeltaEncoded32Bit(nullptr, ::std::move(from)) {}
  inline RiceDeltaEncoded32Bit& operator=(const RiceDeltaEncoded32Bit& from) {
    CopyFrom(from);
    return *this;
  }
  inline RiceDeltaEncoded32Bit& operator=(RiceDeltaEncoded32Bit&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const RiceDeltaEncoded32Bit& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RiceDeltaEncoded32Bit>(&RiceDeltaEncoded32Bit_globals_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(RiceDeltaEncoded32Bit& a, RiceDeltaEncoded32Bit& b) { a.Swap(&b); }
  inline void Swap(RiceDeltaEncoded32Bit* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RiceDeltaEncoded32Bit* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RiceDeltaEncoded32Bit* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RiceDeltaEncoded32Bit>(arena);
  }
  void CopyFrom(const RiceDeltaEncoded32Bit& from);
  void MergeFrom(const RiceDeltaEncoded32Bit& from) { RiceDeltaEncoded32Bit::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RiceDeltaEncoded32Bit* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit"; }

  explicit RiceDeltaEncoded32Bit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RiceDeltaEncoded32Bit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RiceDeltaEncoded32Bit& from);
  RiceDeltaEncoded32Bit(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RiceDeltaEncoded32Bit&& from) noexcept
      : RiceDeltaEncoded32Bit(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kEncodedDataFieldNumber = 4,
    kFirstValueFieldNumber = 1,
    kRiceParameterFieldNumber = 2,
    kEntriesCountFieldNumber = 3,
  };
  // bytes encoded_data = 4;
  void clear_encoded_data() ;
  [[nodiscard]] const ::std::string& encoded_data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_encoded_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_encoded_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_encoded_data();
  void set_allocated_encoded_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_encoded_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_encoded_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_encoded_data();

  public:
  // uint32 first_value = 1;
  void clear_first_value() ;
  [[nodiscard]] ::uint32_t first_value() const;
  void set_first_value(::uint32_t value);

  private:
  ::uint32_t _internal_first_value() const;
  void _internal_set_first_value(::uint32_t value);

  public:
  // int32 rice_parameter = 2;
  void clear_rice_parameter() ;
  [[nodiscard]] ::int32_t rice_parameter() const;
  void set_rice_parameter(::int32_t value);

  private:
  ::int32_t _internal_rice_parameter() const;
  void _internal_set_rice_parameter(::int32_t value);

  public:
  // int32 entries_count = 3;
  void clear_entries_count() ;
  [[nodiscard]] ::int32_t entries_count() const;
  void set_entries_count(::int32_t value);

  private:
  ::int32_t _internal_entries_count() const;
  void _internal_set_entries_count(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RiceDeltaEncoded32Bit& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr encoded_data_;
    ::uint32_t first_value_;
    ::int32_t rice_parameter_;
    ::int32_t entries_count_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RiceDeltaEncoded256Bit final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit) */ {
 public:
  inline RiceDeltaEncoded256Bit() : RiceDeltaEncoded256Bit(nullptr) {}
  ~RiceDeltaEncoded256Bit() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RiceDeltaEncoded256Bit* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RiceDeltaEncoded256Bit));
  }
#endif

  template <typename = void>
  explicit constexpr RiceDeltaEncoded256Bit(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RiceDeltaEncoded256Bit(const RiceDeltaEncoded256Bit& from) : RiceDeltaEncoded256Bit(nullptr, from) {}
  inline RiceDeltaEncoded256Bit(RiceDeltaEncoded256Bit&& from) noexcept : RiceDeltaEncoded256Bit(nullptr, ::std::move(from)) {}
  inline RiceDeltaEncoded256Bit& operator=(const RiceDeltaEncoded256Bit& from) {
    CopyFrom(from);
    return *this;
  }
  inline RiceDeltaEncoded256Bit& operator=(RiceDeltaEncoded256Bit&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const RiceDeltaEncoded256Bit& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RiceDeltaEncoded256Bit>(&RiceDeltaEncoded256Bit_globals_);
  }
  static constexpr int kIndexInFileMessages = 10;
  friend void swap(RiceDeltaEncoded256Bit& a, RiceDeltaEncoded256Bit& b) { a.Swap(&b); }
  inline void Swap(RiceDeltaEncoded256Bit* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RiceDeltaEncoded256Bit* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RiceDeltaEncoded256Bit* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RiceDeltaEncoded256Bit>(arena);
  }
  void CopyFrom(const RiceDeltaEncoded256Bit& from);
  void MergeFrom(const RiceDeltaEncoded256Bit& from) { RiceDeltaEncoded256Bit::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RiceDeltaEncoded256Bit* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit"; }

  explicit RiceDeltaEncoded256Bit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RiceDeltaEncoded256Bit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RiceDeltaEncoded256Bit& from);
  RiceDeltaEncoded256Bit(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RiceDeltaEncoded256Bit&& from) noexcept
      : RiceDeltaEncoded256Bit(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kEncodedDataFieldNumber = 7,
    kFirstValueFirstPartFieldNumber = 1,
    kFirstValueSecondPartFieldNumber = 2,
    kFirstValueThirdPartFieldNumber = 3,
    kFirstValueFourthPartFieldNumber = 4,
    kRiceParameterFieldNumber = 5,
    kEntriesCountFieldNumber = 6,
  };
  // bytes encoded_data = 7;
  void clear_encoded_data() ;
  [[nodiscard]] const ::std::string& encoded_data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_encoded_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_encoded_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_encoded_data();
  void set_allocated_encoded_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_encoded_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_encoded_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_encoded_data();

  public:
  // uint64 first_value_first_part = 1;
  void clear_first_value_first_part() ;
  [[nodiscard]] ::uint64_t first_value_first_part() const;
  void set_first_value_first_part(::uint64_t value);

  private:
  ::uint64_t _internal_first_value_first_part() const;
  void _internal_set_first_value_first_part(::uint64_t value);

  public:
  // fixed64 first_value_second_part = 2;
  void clear_first_value_second_part() ;
  [[nodiscard]] ::uint64_t first_value_second_part() const;
  void set_first_value_second_part(::uint64_t value);

  private:
  ::uint64_t _internal_first_value_second_part() const;
  void _internal_set_first_value_second_part(::uint64_t value);

  public:
  // fixed64 first_value_third_part = 3;
  void clear_first_value_third_part() ;
  [[nodiscard]] ::uint64_t first_value_third_part() const;
  void set_first_value_third_part(::uint64_t value);

  private:
  ::uint64_t _internal_first_value_third_part() const;
  void _internal_set_first_value_third_part(::uint64_t value);

  public:
  // fixed64 first_value_fourth_part = 4;
  void clear_first_value_fourth_part() ;
  [[nodiscard]] ::uint64_t first_value_fourth_part() const;
  void set_first_value_fourth_part(::uint64_t value);

  private:
  ::uint64_t _internal_first_value_fourth_part() const;
  void _internal_set_first_value_fourth_part(::uint64_t value);

  public:
  // int32 rice_parameter = 5;
  void clear_rice_parameter() ;
  [[nodiscard]] ::int32_t rice_parameter() const;
  void set_rice_parameter(::int32_t value);

  private:
  ::int32_t _internal_rice_parameter() const;
  void _internal_set_rice_parameter(::int32_t value);

  public:
  // int32 entries_count = 6;
  void clear_entries_count() ;
  [[nodiscard]] ::int32_t entries_count() const;
  void set_entries_count(::int32_t value);

  private:
  ::int32_t _internal_entries_count() const;
  void _internal_set_entries_count(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 7,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RiceDeltaEncoded256Bit& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr encoded_data_;
    ::uint64_t first_value_first_part_;
    ::uint64_t first_value_second_part_;
    ::uint64_t first_value_third_part_;
    ::uint64_t first_value_fourth_part_;
    ::int32_t rice_parameter_;
    ::int32_t entries_count_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RiceDeltaEncoded128Bit final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit) */ {
 public:
  inline RiceDeltaEncoded128Bit() : RiceDeltaEncoded128Bit(nullptr) {}
  ~RiceDeltaEncoded128Bit() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RiceDeltaEncoded128Bit* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RiceDeltaEncoded128Bit));
  }
#endif

  template <typename = void>
  explicit constexpr RiceDeltaEncoded128Bit(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RiceDeltaEncoded128Bit(const RiceDeltaEncoded128Bit& from) : RiceDeltaEncoded128Bit(nullptr, from) {}
  inline RiceDeltaEncoded128Bit(RiceDeltaEncoded128Bit&& from) noexcept : RiceDeltaEncoded128Bit(nullptr, ::std::move(from)) {}
  inline RiceDeltaEncoded128Bit& operator=(const RiceDeltaEncoded128Bit& from) {
    CopyFrom(from);
    return *this;
  }
  inline RiceDeltaEncoded128Bit& operator=(RiceDeltaEncoded128Bit&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const RiceDeltaEncoded128Bit& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RiceDeltaEncoded128Bit>(&RiceDeltaEncoded128Bit_globals_);
  }
  static constexpr int kIndexInFileMessages = 9;
  friend void swap(RiceDeltaEncoded128Bit& a, RiceDeltaEncoded128Bit& b) { a.Swap(&b); }
  inline void Swap(RiceDeltaEncoded128Bit* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RiceDeltaEncoded128Bit* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RiceDeltaEncoded128Bit* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RiceDeltaEncoded128Bit>(arena);
  }
  void CopyFrom(const RiceDeltaEncoded128Bit& from);
  void MergeFrom(const RiceDeltaEncoded128Bit& from) { RiceDeltaEncoded128Bit::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RiceDeltaEncoded128Bit* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit"; }

  explicit RiceDeltaEncoded128Bit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RiceDeltaEncoded128Bit(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RiceDeltaEncoded128Bit& from);
  RiceDeltaEncoded128Bit(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RiceDeltaEncoded128Bit&& from) noexcept
      : RiceDeltaEncoded128Bit(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kEncodedDataFieldNumber = 5,
    kFirstValueHiFieldNumber = 1,
    kFirstValueLoFieldNumber = 2,
    kRiceParameterFieldNumber = 3,
    kEntriesCountFieldNumber = 4,
  };
  // bytes encoded_data = 5;
  void clear_encoded_data() ;
  [[nodiscard]] const ::std::string& encoded_data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_encoded_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_encoded_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_encoded_data();
  void set_allocated_encoded_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_encoded_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_encoded_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_encoded_data();

  public:
  // uint64 first_value_hi = 1;
  void clear_first_value_hi() ;
  [[nodiscard]] ::uint64_t first_value_hi() const;
  void set_first_value_hi(::uint64_t value);

  private:
  ::uint64_t _internal_first_value_hi() const;
  void _internal_set_first_value_hi(::uint64_t value);

  public:
  // fixed64 first_value_lo = 2;
  void clear_first_value_lo() ;
  [[nodiscard]] ::uint64_t first_value_lo() const;
  void set_first_value_lo(::uint64_t value);

  private:
  ::uint64_t _internal_first_value_lo() const;
  void _internal_set_first_value_lo(::uint64_t value);

  public:
  // int32 rice_parameter = 3;
  void clear_rice_parameter() ;
  [[nodiscard]] ::int32_t rice_parameter() const;
  void set_rice_parameter(::int32_t value);

  private:
  ::int32_t _internal_rice_parameter() const;
  void _internal_set_rice_parameter(::int32_t value);

  public:
  // int32 entries_count = 4;
  void clear_entries_count() ;
  [[nodiscard]] ::int32_t entries_count() const;
  void set_entries_count(::int32_t value);

  private:
  ::int32_t _internal_entries_count() const;
  void _internal_set_entries_count(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 5,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RiceDeltaEncoded128Bit& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr encoded_data_;
    ::uint64_t first_value_hi_;
    ::uint64_t first_value_lo_;
    ::int32_t rice_parameter_;
    ::int32_t entries_count_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ListHashListsRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.ListHashListsRequest) */ {
 public:
  inline ListHashListsRequest() : ListHashListsRequest(nullptr) {}
  ~ListHashListsRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ListHashListsRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ListHashListsRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ListHashListsRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ListHashListsRequest(const ListHashListsRequest& from) : ListHashListsRequest(nullptr, from) {}
  inline ListHashListsRequest(ListHashListsRequest&& from) noexcept : ListHashListsRequest(nullptr, ::std::move(from)) {}
  inline ListHashListsRequest& operator=(const ListHashListsRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListHashListsRequest& operator=(ListHashListsRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ListHashListsRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ListHashListsRequest>(&ListHashListsRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 15;
  friend void swap(ListHashListsRequest& a, ListHashListsRequest& b) { a.Swap(&b); }
  inline void Swap(ListHashListsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListHashListsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ListHashListsRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ListHashListsRequest>(arena);
  }
  void CopyFrom(const ListHashListsRequest& from);
  void MergeFrom(const ListHashListsRequest& from) { ListHashListsRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ListHashListsRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.ListHashListsRequest"; }

  explicit ListHashListsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ListHashListsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListHashListsRequest& from);
  ListHashListsRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListHashListsRequest&& from) noexcept
      : ListHashListsRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kPageTokenFieldNumber = 2,
    kPageSizeFieldNumber = 1,
  };
  // string page_token = 2;
  void clear_page_token() ;
  [[nodiscard]] const ::std::string& page_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_page_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_page_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_page_token();
  void set_allocated_page_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_page_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_page_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_page_token();

  public:
  // int32 page_size = 1;
  void clear_page_size() ;
  [[nodiscard]] ::int32_t page_size() const;
  void set_page_size(::int32_t value);

  private:
  ::int32_t _internal_page_size() const;
  void _internal_set_page_size(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.ListHashListsRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 63,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ListHashListsRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr page_token_;
    ::int32_t page_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED HashListMetadata final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.HashListMetadata) */ {
 public:
  inline HashListMetadata() : HashListMetadata(nullptr) {}
  ~HashListMetadata() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(HashListMetadata* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(HashListMetadata));
  }
#endif

  template <typename = void>
  explicit constexpr HashListMetadata(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline HashListMetadata(const HashListMetadata& from) : HashListMetadata(nullptr, from) {}
  inline HashListMetadata(HashListMetadata&& from) noexcept : HashListMetadata(nullptr, ::std::move(from)) {}
  inline HashListMetadata& operator=(const HashListMetadata& from) {
    CopyFrom(from);
    return *this;
  }
  inline HashListMetadata& operator=(HashListMetadata&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const HashListMetadata& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<HashListMetadata>(&HashListMetadata_globals_);
  }
  static constexpr int kIndexInFileMessages = 11;
  friend void swap(HashListMetadata& a, HashListMetadata& b) { a.Swap(&b); }
  inline void Swap(HashListMetadata* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(HashListMetadata* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] HashListMetadata* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<HashListMetadata>(arena);
  }
  void CopyFrom(const HashListMetadata& from);
  void MergeFrom(const HashListMetadata& from) { HashListMetadata::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(HashListMetadata* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.HashListMetadata"; }

  explicit HashListMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  HashListMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const HashListMetadata& from);
  HashListMetadata(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, HashListMetadata&& from) noexcept
      : HashListMetadata(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using HashLength = HashListMetadata_HashLength;
  static constexpr HashLength HASH_LENGTH_UNSPECIFIED = HashListMetadata_HashLength_HASH_LENGTH_UNSPECIFIED;
  static constexpr HashLength FOUR_BYTES = HashListMetadata_HashLength_FOUR_BYTES;
  static constexpr HashLength EIGHT_BYTES = HashListMetadata_HashLength_EIGHT_BYTES;
  static constexpr HashLength SIXTEEN_BYTES = HashListMetadata_HashLength_SIXTEEN_BYTES;
  static constexpr HashLength THIRTY_TWO_BYTES = HashListMetadata_HashLength_THIRTY_TWO_BYTES;
  [[nodiscard]] static inline bool HashLength_IsValid(int value) {
    return HashListMetadata_HashLength_IsValid(value);
  }
  static constexpr HashLength HashLength_MIN = HashListMetadata_HashLength_HashLength_MIN;
  static constexpr HashLength HashLength_MAX = HashListMetadata_HashLength_HashLength_MAX;
  static constexpr int HashLength_ARRAYSIZE = HashListMetadata_HashLength_HashLength_ARRAYSIZE;
  template <typename T>
  [[nodiscard]] static inline const ::std::string& HashLength_Name(T value) {
    return HashListMetadata_HashLength_Name(value);
  }
  [[nodiscard]] static inline bool HashLength_Parse(
      ::absl::string_view name, HashLength* PROTOBUF_NONNULL value) {
    return HashListMetadata_HashLength_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kThreatTypesFieldNumber = 1,
    kLikelySafeTypesFieldNumber = 2,
    kDescriptionFieldNumber = 4,
    kHashLengthFieldNumber = 6,
  };
  // repeated .mozilla.safebrowsing.v5.ThreatType threat_types = 1;
  [[nodiscard]] int threat_types_size()
      const;
  private:
  int _internal_threat_types_size() const;

  public:
  void clear_threat_types() ;
  public:
  [[nodiscard]] ::mozilla::safebrowsing::v5::ThreatType threat_types(int index) const;
  void set_threat_types(int index, ::mozilla::safebrowsing::v5::ThreatType value);
  void add_threat_types(::mozilla::safebrowsing::v5::ThreatType value);
  [[nodiscard]] const ::google::protobuf::RepeatedField<int>& threat_types()
      const;
  [[nodiscard]] ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_threat_types();

  private:
  const ::google::protobuf::RepeatedField<int>& _internal_threat_types() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_threat_types();

  public:
  // repeated .mozilla.safebrowsing.v5.LikelySafeType likely_safe_types = 2;
  [[nodiscard]] int likely_safe_types_size()
      const;
  private:
  int _internal_likely_safe_types_size() const;

  public:
  void clear_likely_safe_types() ;
  public:
  [[nodiscard]] ::mozilla::safebrowsing::v5::LikelySafeType likely_safe_types(int index) const;
  void set_likely_safe_types(int index, ::mozilla::safebrowsing::v5::LikelySafeType value);
  void add_likely_safe_types(::mozilla::safebrowsing::v5::LikelySafeType value);
  [[nodiscard]] const ::google::protobuf::RepeatedField<int>& likely_safe_types()
      const;
  [[nodiscard]] ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_likely_safe_types();

  private:
  const ::google::protobuf::RepeatedField<int>& _internal_likely_safe_types() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_likely_safe_types();

  public:
  // string description = 4;
  void clear_description() ;
  [[nodiscard]] const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // .mozilla.safebrowsing.v5.HashListMetadata.HashLength hash_length = 6;
  void clear_hash_length() ;
  [[nodiscard]] ::mozilla::safebrowsing::v5::HashListMetadata_HashLength hash_length() const;
  void set_hash_length(::mozilla::safebrowsing::v5::HashListMetadata_HashLength value);

  private:
  ::mozilla::safebrowsing::v5::HashListMetadata_HashLength _internal_hash_length() const;
  void _internal_set_hash_length(::mozilla::safebrowsing::v5::HashListMetadata_HashLength value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.HashListMetadata)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 4,
                          0, 60,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const HashListMetadata& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<int> threat_types_;
    ::google::protobuf::internal::CachedSize _threat_types_cached_byte_size_;
    ::google::protobuf::RepeatedField<int> likely_safe_types_;
    ::google::protobuf::internal::CachedSize _likely_safe_types_cached_byte_size_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    int hash_length_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED FullHash_FullHashDetail final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.FullHash.FullHashDetail) */ {
 public:
  inline FullHash_FullHashDetail() : FullHash_FullHashDetail(nullptr) {}
  ~FullHash_FullHashDetail() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(FullHash_FullHashDetail* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(FullHash_FullHashDetail));
  }
#endif

  template <typename = void>
  explicit constexpr FullHash_FullHashDetail(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline FullHash_FullHashDetail(const FullHash_FullHashDetail& from) : FullHash_FullHashDetail(nullptr, from) {}
  inline FullHash_FullHashDetail(FullHash_FullHashDetail&& from) noexcept : FullHash_FullHashDetail(nullptr, ::std::move(from)) {}
  inline FullHash_FullHashDetail& operator=(const FullHash_FullHashDetail& from) {
    CopyFrom(from);
    return *this;
  }
  inline FullHash_FullHashDetail& operator=(FullHash_FullHashDetail&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const FullHash_FullHashDetail& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<FullHash_FullHashDetail>(&FullHash_FullHashDetail_globals_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(FullHash_FullHashDetail& a, FullHash_FullHashDetail& b) { a.Swap(&b); }
  inline void Swap(FullHash_FullHashDetail* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FullHash_FullHashDetail* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] FullHash_FullHashDetail* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<FullHash_FullHashDetail>(arena);
  }
  void CopyFrom(const FullHash_FullHashDetail& from);
  void MergeFrom(const FullHash_FullHashDetail& from) { FullHash_FullHashDetail::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(FullHash_FullHashDetail* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.FullHash.FullHashDetail"; }

  explicit FullHash_FullHashDetail(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  FullHash_FullHashDetail(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FullHash_FullHashDetail& from);
  FullHash_FullHashDetail(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FullHash_FullHashDetail&& from) noexcept
      : FullHash_FullHashDetail(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kAttributesFieldNumber = 2,
    kThreatTypeFieldNumber = 1,
  };
  // repeated .mozilla.safebrowsing.v5.ThreatAttribute attributes = 2;
  [[nodiscard]] int attributes_size()
      const;
  private:
  int _internal_attributes_size() const;

  public:
  void clear_attributes() ;
  public:
  [[nodiscard]] ::mozilla::safebrowsing::v5::ThreatAttribute attributes(int index) const;
  void set_attributes(int index, ::mozilla::safebrowsing::v5::ThreatAttribute value);
  void add_attributes(::mozilla::safebrowsing::v5::ThreatAttribute value);
  [[nodiscard]] const ::google::protobuf::RepeatedField<int>& attributes()
      const;
  [[nodiscard]] ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_attributes();

  private:
  const ::google::protobuf::RepeatedField<int>& _internal_attributes() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_attributes();

  public:
  // .mozilla.safebrowsing.v5.ThreatType threat_type = 1;
  void clear_threat_type() ;
  [[nodiscard]] ::mozilla::safebrowsing::v5::ThreatType threat_type() const;
  void set_threat_type(::mozilla::safebrowsing::v5::ThreatType value);

  private:
  ::mozilla::safebrowsing::v5::ThreatType _internal_threat_type() const;
  void _internal_set_threat_type(::mozilla::safebrowsing::v5::ThreatType value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.FullHash.FullHashDetail)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const FullHash_FullHashDetail& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<int> attributes_;
    ::google::protobuf::internal::CachedSize _attributes_cached_byte_size_;
    int threat_type_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED Duration final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.Duration) */ {
 public:
  inline Duration() : Duration(nullptr) {}
  ~Duration() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(Duration* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(Duration));
  }
#endif

  template <typename = void>
  explicit constexpr Duration(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline Duration(const Duration& from) : Duration(nullptr, from) {}
  inline Duration(Duration&& from) noexcept : Duration(nullptr, ::std::move(from)) {}
  inline Duration& operator=(const Duration& from) {
    CopyFrom(from);
    return *this;
  }
  inline Duration& operator=(Duration&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const Duration& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<Duration>(&Duration_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(Duration& a, Duration& b) { a.Swap(&b); }
  inline void Swap(Duration* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Duration* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] Duration* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<Duration>(arena);
  }
  void CopyFrom(const Duration& from);
  void MergeFrom(const Duration& from) { Duration::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(Duration* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.Duration"; }

  explicit Duration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Duration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Duration& from);
  Duration(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Duration&& from) noexcept
      : Duration(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSecondsFieldNumber = 1,
    kNanosFieldNumber = 2,
  };
  // int64 seconds = 1;
  void clear_seconds() ;
  [[nodiscard]] ::int64_t seconds() const;
  void set_seconds(::int64_t value);

  private:
  ::int64_t _internal_seconds() const;
  void _internal_set_seconds(::int64_t value);

  public:
  // int32 nanos = 2;
  void clear_nanos() ;
  [[nodiscard]] ::int32_t nanos() const;
  void set_nanos(::int32_t value);

  private:
  ::int32_t _internal_nanos() const;
  void _internal_set_nanos(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.Duration)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const Duration& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int64_t seconds_;
    ::int32_t nanos_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED HashList final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.HashList) */ {
 public:
  inline HashList() : HashList(nullptr) {}
  ~HashList() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(HashList* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(HashList));
  }
#endif

  template <typename = void>
  explicit constexpr HashList(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline HashList(const HashList& from) : HashList(nullptr, from) {}
  inline HashList(HashList&& from) noexcept : HashList(nullptr, ::std::move(from)) {}
  inline HashList& operator=(const HashList& from) {
    CopyFrom(from);
    return *this;
  }
  inline HashList& operator=(HashList&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const HashList& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<HashList>(&HashList_globals_);
  }
  enum CompressedAdditionsCase {
    kAdditionsFourBytes = 4,
    kAdditionsEightBytes = 9,
    kAdditionsSixteenBytes = 10,
    kAdditionsThirtyTwoBytes = 11,
    COMPRESSED_ADDITIONS_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(HashList& a, HashList& b) { a.Swap(&b); }
  inline void Swap(HashList* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(HashList* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] HashList* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<HashList>(arena);
  }
  void CopyFrom(const HashList& from);
  void MergeFrom(const HashList& from) { HashList::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(HashList* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.HashList"; }

  explicit HashList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  HashList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const HashList& from);
  HashList(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, HashList&& from) noexcept
      : HashList(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kVersionFieldNumber = 2,
    kSha256ChecksumFieldNumber = 7,
    kCompressedRemovalsFieldNumber = 5,
    kMinimumWaitDurationFieldNumber = 6,
    kMetadataFieldNumber = 8,
    kPartialUpdateFieldNumber = 3,
    kAdditionsFourBytesFieldNumber = 4,
    kAdditionsEightBytesFieldNumber = 9,
    kAdditionsSixteenBytesFieldNumber = 10,
    kAdditionsThirtyTwoBytesFieldNumber = 11,
  };
  // string name = 1;
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // bytes version = 2;
  void clear_version() ;
  [[nodiscard]] const ::std::string& version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_version();
  void set_allocated_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_version();

  public:
  // bytes sha256_checksum = 7;
  void clear_sha256_checksum() ;
  [[nodiscard]] const ::std::string& sha256_checksum() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_sha256_checksum(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_sha256_checksum();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_sha256_checksum();
  void set_allocated_sha256_checksum(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_sha256_checksum() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_sha256_checksum(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_sha256_checksum();

  public:
  // .mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit compressed_removals = 5;
  [[nodiscard]] bool has_compressed_removals()
      const;
  void clear_compressed_removals() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit& compressed_removals() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE release_compressed_removals();
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NONNULL mutable_compressed_removals();
  void set_allocated_compressed_removals(::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_compressed_removals(::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE unsafe_arena_release_compressed_removals();

  private:
  const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit& _internal_compressed_removals() const;
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NONNULL _internal_mutable_compressed_removals();

  public:
  // .mozilla.safebrowsing.v5.Duration minimum_wait_duration = 6;
  [[nodiscard]] bool has_minimum_wait_duration()
      const;
  void clear_minimum_wait_duration() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::Duration& minimum_wait_duration() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE release_minimum_wait_duration();
  ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NONNULL mutable_minimum_wait_duration();
  void set_allocated_minimum_wait_duration(::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_minimum_wait_duration(::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE unsafe_arena_release_minimum_wait_duration();

  private:
  const ::mozilla::safebrowsing::v5::Duration& _internal_minimum_wait_duration() const;
  ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NONNULL _internal_mutable_minimum_wait_duration();

  public:
  // .mozilla.safebrowsing.v5.HashListMetadata metadata = 8;
  [[nodiscard]] bool has_metadata()
      const;
  void clear_metadata() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::HashListMetadata& metadata() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE release_metadata();
  ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NONNULL mutable_metadata();
  void set_allocated_metadata(::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_metadata(::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE unsafe_arena_release_metadata();

  private:
  const ::mozilla::safebrowsing::v5::HashListMetadata& _internal_metadata() const;
  ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NONNULL _internal_mutable_metadata();

  public:
  // bool partial_update = 3;
  void clear_partial_update() ;
  [[nodiscard]] bool partial_update() const;
  void set_partial_update(bool value);

  private:
  bool _internal_partial_update() const;
  void _internal_set_partial_update(bool value);

  public:
  // .mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit additions_four_bytes = 4;
  [[nodiscard]] bool has_additions_four_bytes()
      const;
  private:
  bool _internal_has_additions_four_bytes() const;

  public:
  void clear_additions_four_bytes() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit& additions_four_bytes() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE release_additions_four_bytes();
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NONNULL mutable_additions_four_bytes();
  void set_allocated_additions_four_bytes(::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_additions_four_bytes(::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE unsafe_arena_release_additions_four_bytes();

  private:
  const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit& _internal_additions_four_bytes() const;
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NONNULL _internal_mutable_additions_four_bytes();

  public:
  // .mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit additions_eight_bytes = 9;
  [[nodiscard]] bool has_additions_eight_bytes()
      const;
  private:
  bool _internal_has_additions_eight_bytes() const;

  public:
  void clear_additions_eight_bytes() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit& additions_eight_bytes() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NULLABLE release_additions_eight_bytes();
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NONNULL mutable_additions_eight_bytes();
  void set_allocated_additions_eight_bytes(::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_additions_eight_bytes(::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NULLABLE unsafe_arena_release_additions_eight_bytes();

  private:
  const ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit& _internal_additions_eight_bytes() const;
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NONNULL _internal_mutable_additions_eight_bytes();

  public:
  // .mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit additions_sixteen_bytes = 10;
  [[nodiscard]] bool has_additions_sixteen_bytes()
      const;
  private:
  bool _internal_has_additions_sixteen_bytes() const;

  public:
  void clear_additions_sixteen_bytes() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit& additions_sixteen_bytes() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NULLABLE release_additions_sixteen_bytes();
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NONNULL mutable_additions_sixteen_bytes();
  void set_allocated_additions_sixteen_bytes(::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_additions_sixteen_bytes(::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NULLABLE unsafe_arena_release_additions_sixteen_bytes();

  private:
  const ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit& _internal_additions_sixteen_bytes() const;
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NONNULL _internal_mutable_additions_sixteen_bytes();

  public:
  // .mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit additions_thirty_two_bytes = 11;
  [[nodiscard]] bool has_additions_thirty_two_bytes()
      const;
  private:
  bool _internal_has_additions_thirty_two_bytes() const;

  public:
  void clear_additions_thirty_two_bytes() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit& additions_thirty_two_bytes() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NULLABLE release_additions_thirty_two_bytes();
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NONNULL mutable_additions_thirty_two_bytes();
  void set_allocated_additions_thirty_two_bytes(::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_additions_thirty_two_bytes(::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NULLABLE unsafe_arena_release_additions_thirty_two_bytes();

  private:
  const ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit& _internal_additions_thirty_two_bytes() const;
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NONNULL _internal_mutable_additions_thirty_two_bytes();

  public:
  void clear_compressed_additions();
  CompressedAdditionsCase compressed_additions_case() const;
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.HashList)
 private:
  class _Internal;
  void set_has_additions_four_bytes();
  void set_has_additions_eight_bytes();
  void set_has_additions_sixteen_bytes();
  void set_has_additions_thirty_two_bytes();
  [[nodiscard]] inline bool has_compressed_additions() const;
  inline void clear_has_compressed_additions();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 11,
                          7, 53,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const HashList& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr version_;
    ::google::protobuf::internal::ArenaStringPtr sha256_checksum_;
    ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE compressed_removals_;
    ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE minimum_wait_duration_;
    ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE metadata_;
    bool partial_update_;
    union CompressedAdditionsUnion {
      constexpr CompressedAdditionsUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::MessageLite* PROTOBUF_NULLABLE additions_four_bytes_;
      ::google::protobuf::MessageLite* PROTOBUF_NULLABLE additions_eight_bytes_;
      ::google::protobuf::MessageLite* PROTOBUF_NULLABLE additions_sixteen_bytes_;
      ::google::protobuf::MessageLite* PROTOBUF_NULLABLE additions_thirty_two_bytes_;
    } compressed_additions_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED GetHashListRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.GetHashListRequest) */ {
 public:
  inline GetHashListRequest() : GetHashListRequest(nullptr) {}
  ~GetHashListRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GetHashListRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GetHashListRequest));
  }
#endif

  template <typename = void>
  explicit constexpr GetHashListRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline GetHashListRequest(const GetHashListRequest& from) : GetHashListRequest(nullptr, from) {}
  inline GetHashListRequest(GetHashListRequest&& from) noexcept : GetHashListRequest(nullptr, ::std::move(from)) {}
  inline GetHashListRequest& operator=(const GetHashListRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetHashListRequest& operator=(GetHashListRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const GetHashListRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<GetHashListRequest>(&GetHashListRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(GetHashListRequest& a, GetHashListRequest& b) { a.Swap(&b); }
  inline void Swap(GetHashListRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetHashListRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] GetHashListRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<GetHashListRequest>(arena);
  }
  void CopyFrom(const GetHashListRequest& from);
  void MergeFrom(const GetHashListRequest& from) { GetHashListRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GetHashListRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.GetHashListRequest"; }

  explicit GetHashListRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GetHashListRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GetHashListRequest& from);
  GetHashListRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GetHashListRequest&& from) noexcept
      : GetHashListRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kVersionFieldNumber = 2,
    kSizeConstraintsFieldNumber = 4,
  };
  // string name = 1;
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // bytes version = 2;
  void clear_version() ;
  [[nodiscard]] const ::std::string& version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_version();
  void set_allocated_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_version();

  public:
  // .mozilla.safebrowsing.v5.SizeConstraints size_constraints = 4;
  [[nodiscard]] bool has_size_constraints()
      const;
  void clear_size_constraints() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::SizeConstraints& size_constraints() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE release_size_constraints();
  ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NONNULL mutable_size_constraints();
  void set_allocated_size_constraints(::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_size_constraints(::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE unsafe_arena_release_size_constraints();

  private:
  const ::mozilla::safebrowsing::v5::SizeConstraints& _internal_size_constraints() const;
  ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NONNULL _internal_mutable_size_constraints();

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.GetHashListRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          1, 55,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetHashListRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr version_;
    ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE size_constraints_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED FullHash final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.FullHash) */ {
 public:
  inline FullHash() : FullHash(nullptr) {}
  ~FullHash() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(FullHash* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(FullHash));
  }
#endif

  template <typename = void>
  explicit constexpr FullHash(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline FullHash(const FullHash& from) : FullHash(nullptr, from) {}
  inline FullHash(FullHash&& from) noexcept : FullHash(nullptr, ::std::move(from)) {}
  inline FullHash& operator=(const FullHash& from) {
    CopyFrom(from);
    return *this;
  }
  inline FullHash& operator=(FullHash&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const FullHash& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<FullHash>(&FullHash_globals_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(FullHash& a, FullHash& b) { a.Swap(&b); }
  inline void Swap(FullHash* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FullHash* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] FullHash* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<FullHash>(arena);
  }
  void CopyFrom(const FullHash& from);
  void MergeFrom(const FullHash& from) { FullHash::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(FullHash* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.FullHash"; }

  explicit FullHash(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  FullHash(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FullHash& from);
  FullHash(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FullHash&& from) noexcept
      : FullHash(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------
  using FullHashDetail = FullHash_FullHashDetail;

  // accessors -------------------------------------------------------
  enum : int {
    kFullHashDetailsFieldNumber = 2,
    kFullHashFieldNumber = 1,
  };
  // repeated .mozilla.safebrowsing.v5.FullHash.FullHashDetail full_hash_details = 2;
  [[nodiscard]] int full_hash_details_size()
      const;
  private:
  int _internal_full_hash_details_size() const;

  public:
  void clear_full_hash_details() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::FullHash_FullHashDetail& full_hash_details(int index) const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::FullHash_FullHashDetail* PROTOBUF_NONNULL mutable_full_hash_details(int index);
  ::mozilla::safebrowsing::v5::FullHash_FullHashDetail* PROTOBUF_NONNULL add_full_hash_details();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash_FullHashDetail>&
  full_hash_details() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash_FullHashDetail>* PROTOBUF_NONNULL
  mutable_full_hash_details();

  private:
  const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash_FullHashDetail>& _internal_full_hash_details() const;
  ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash_FullHashDetail>* PROTOBUF_NONNULL _internal_mutable_full_hash_details();

  public:
  // bytes full_hash = 1;
  void clear_full_hash() ;
  [[nodiscard]] const ::std::string& full_hash() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_full_hash(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_full_hash();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_full_hash();
  void set_allocated_full_hash(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_full_hash() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_full_hash(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_full_hash();

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.FullHash)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const FullHash& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::mozilla::safebrowsing::v5::FullHash_FullHashDetail > full_hash_details_;
    ::google::protobuf::internal::ArenaStringPtr full_hash_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED BatchGetHashListsRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.BatchGetHashListsRequest) */ {
 public:
  inline BatchGetHashListsRequest() : BatchGetHashListsRequest(nullptr) {}
  ~BatchGetHashListsRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(BatchGetHashListsRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(BatchGetHashListsRequest));
  }
#endif

  template <typename = void>
  explicit constexpr BatchGetHashListsRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline BatchGetHashListsRequest(const BatchGetHashListsRequest& from) : BatchGetHashListsRequest(nullptr, from) {}
  inline BatchGetHashListsRequest(BatchGetHashListsRequest&& from) noexcept : BatchGetHashListsRequest(nullptr, ::std::move(from)) {}
  inline BatchGetHashListsRequest& operator=(const BatchGetHashListsRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline BatchGetHashListsRequest& operator=(BatchGetHashListsRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const BatchGetHashListsRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<BatchGetHashListsRequest>(&BatchGetHashListsRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 13;
  friend void swap(BatchGetHashListsRequest& a, BatchGetHashListsRequest& b) { a.Swap(&b); }
  inline void Swap(BatchGetHashListsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(BatchGetHashListsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] BatchGetHashListsRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<BatchGetHashListsRequest>(arena);
  }
  void CopyFrom(const BatchGetHashListsRequest& from);
  void MergeFrom(const BatchGetHashListsRequest& from) { BatchGetHashListsRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(BatchGetHashListsRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.BatchGetHashListsRequest"; }

  explicit BatchGetHashListsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  BatchGetHashListsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BatchGetHashListsRequest& from);
  BatchGetHashListsRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BatchGetHashListsRequest&& from) noexcept
      : BatchGetHashListsRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNamesFieldNumber = 1,
    kVersionFieldNumber = 2,
    kSizeConstraintsFieldNumber = 4,
  };
  // repeated string names = 1;
  [[nodiscard]] int names_size()
      const;
  private:
  int _internal_names_size() const;

  public:
  void clear_names() ;
  [[nodiscard]] const ::std::string& names(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_names(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_names(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_names();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_names(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      names() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_names();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_names() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_names();

  public:
  // repeated bytes version = 2;
  [[nodiscard]] int version_size()
      const;
  private:
  int _internal_version_size() const;

  public:
  void clear_version() ;
  [[nodiscard]] const ::std::string& version(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_version(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_version(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_version();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_version(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      version() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_version();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_version() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_version();

  public:
  // .mozilla.safebrowsing.v5.SizeConstraints size_constraints = 4;
  [[nodiscard]] bool has_size_constraints()
      const;
  void clear_size_constraints() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::SizeConstraints& size_constraints() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE release_size_constraints();
  ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NONNULL mutable_size_constraints();
  void set_allocated_size_constraints(::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_size_constraints(::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE unsafe_arena_release_size_constraints();

  private:
  const ::mozilla::safebrowsing::v5::SizeConstraints& _internal_size_constraints() const;
  ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NONNULL _internal_mutable_size_constraints();

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.BatchGetHashListsRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          1, 62,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const BatchGetHashListsRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> names_;
    ::google::protobuf::RepeatedPtrField<::std::string> version_;
    ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE size_constraints_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SearchHashesResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.SearchHashesResponse) */ {
 public:
  inline SearchHashesResponse() : SearchHashesResponse(nullptr) {}
  ~SearchHashesResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SearchHashesResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SearchHashesResponse));
  }
#endif

  template <typename = void>
  explicit constexpr SearchHashesResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline SearchHashesResponse(const SearchHashesResponse& from) : SearchHashesResponse(nullptr, from) {}
  inline SearchHashesResponse(SearchHashesResponse&& from) noexcept : SearchHashesResponse(nullptr, ::std::move(from)) {}
  inline SearchHashesResponse& operator=(const SearchHashesResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SearchHashesResponse& operator=(SearchHashesResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const SearchHashesResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SearchHashesResponse>(&SearchHashesResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(SearchHashesResponse& a, SearchHashesResponse& b) { a.Swap(&b); }
  inline void Swap(SearchHashesResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SearchHashesResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] SearchHashesResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<SearchHashesResponse>(arena);
  }
  void CopyFrom(const SearchHashesResponse& from);
  void MergeFrom(const SearchHashesResponse& from) { SearchHashesResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SearchHashesResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.SearchHashesResponse"; }

  explicit SearchHashesResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SearchHashesResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SearchHashesResponse& from);
  SearchHashesResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SearchHashesResponse&& from) noexcept
      : SearchHashesResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kFullHashesFieldNumber = 1,
    kCacheDurationFieldNumber = 2,
  };
  // repeated .mozilla.safebrowsing.v5.FullHash full_hashes = 1;
  [[nodiscard]] int full_hashes_size()
      const;
  private:
  int _internal_full_hashes_size() const;

  public:
  void clear_full_hashes() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::FullHash& full_hashes(int index) const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::FullHash* PROTOBUF_NONNULL mutable_full_hashes(int index);
  ::mozilla::safebrowsing::v5::FullHash* PROTOBUF_NONNULL add_full_hashes();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash>&
  full_hashes() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash>* PROTOBUF_NONNULL
  mutable_full_hashes();

  private:
  const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash>& _internal_full_hashes() const;
  ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash>* PROTOBUF_NONNULL _internal_mutable_full_hashes();

  public:
  // .mozilla.safebrowsing.v5.Duration cache_duration = 2;
  [[nodiscard]] bool has_cache_duration()
      const;
  void clear_cache_duration() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::Duration& cache_duration() const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE release_cache_duration();
  ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NONNULL mutable_cache_duration();
  void set_allocated_cache_duration(::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_cache_duration(::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE value);
  ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE unsafe_arena_release_cache_duration();

  private:
  const ::mozilla::safebrowsing::v5::Duration& _internal_cache_duration() const;
  ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NONNULL _internal_mutable_cache_duration();

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.SearchHashesResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          2, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SearchHashesResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::mozilla::safebrowsing::v5::FullHash > full_hashes_;
    ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE cache_duration_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ListHashListsResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.ListHashListsResponse) */ {
 public:
  inline ListHashListsResponse() : ListHashListsResponse(nullptr) {}
  ~ListHashListsResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ListHashListsResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ListHashListsResponse));
  }
#endif

  template <typename = void>
  explicit constexpr ListHashListsResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ListHashListsResponse(const ListHashListsResponse& from) : ListHashListsResponse(nullptr, from) {}
  inline ListHashListsResponse(ListHashListsResponse&& from) noexcept : ListHashListsResponse(nullptr, ::std::move(from)) {}
  inline ListHashListsResponse& operator=(const ListHashListsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListHashListsResponse& operator=(ListHashListsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const ListHashListsResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ListHashListsResponse>(&ListHashListsResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 16;
  friend void swap(ListHashListsResponse& a, ListHashListsResponse& b) { a.Swap(&b); }
  inline void Swap(ListHashListsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListHashListsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ListHashListsResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<ListHashListsResponse>(arena);
  }
  void CopyFrom(const ListHashListsResponse& from);
  void MergeFrom(const ListHashListsResponse& from) { ListHashListsResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ListHashListsResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.ListHashListsResponse"; }

  explicit ListHashListsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ListHashListsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListHashListsResponse& from);
  ListHashListsResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListHashListsResponse&& from) noexcept
      : ListHashListsResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kHashListsFieldNumber = 1,
    kNextPageTokenFieldNumber = 2,
  };
  // repeated .mozilla.safebrowsing.v5.HashList hash_lists = 1;
  [[nodiscard]] int hash_lists_size()
      const;
  private:
  int _internal_hash_lists_size() const;

  public:
  void clear_hash_lists() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::HashList& hash_lists(int index) const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::HashList* PROTOBUF_NONNULL mutable_hash_lists(int index);
  ::mozilla::safebrowsing::v5::HashList* PROTOBUF_NONNULL add_hash_lists();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>&
  hash_lists() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>* PROTOBUF_NONNULL
  mutable_hash_lists();

  private:
  const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>& _internal_hash_lists() const;
  ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>* PROTOBUF_NONNULL _internal_mutable_hash_lists();

  public:
  // string next_page_token = 2;
  void clear_next_page_token() ;
  [[nodiscard]] const ::std::string& next_page_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_next_page_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_next_page_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_next_page_token();
  void set_allocated_next_page_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_next_page_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_next_page_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_next_page_token();

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.ListHashListsResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 69,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ListHashListsResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::mozilla::safebrowsing::v5::HashList > hash_lists_;
    ::google::protobuf::internal::ArenaStringPtr next_page_token_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED BatchGetHashListsResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:mozilla.safebrowsing.v5.BatchGetHashListsResponse) */ {
 public:
  inline BatchGetHashListsResponse() : BatchGetHashListsResponse(nullptr) {}
  ~BatchGetHashListsResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(BatchGetHashListsResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(BatchGetHashListsResponse));
  }
#endif

  template <typename = void>
  explicit constexpr BatchGetHashListsResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline BatchGetHashListsResponse(const BatchGetHashListsResponse& from) : BatchGetHashListsResponse(nullptr, from) {}
  inline BatchGetHashListsResponse(BatchGetHashListsResponse&& from) noexcept : BatchGetHashListsResponse(nullptr, ::std::move(from)) {}
  inline BatchGetHashListsResponse& operator=(const BatchGetHashListsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline BatchGetHashListsResponse& operator=(BatchGetHashListsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  [[nodiscard]] inline ::std::string* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  [[nodiscard]] static const BatchGetHashListsResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<BatchGetHashListsResponse>(&BatchGetHashListsResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 14;
  friend void swap(BatchGetHashListsResponse& a, BatchGetHashListsResponse& b) { a.Swap(&b); }
  inline void Swap(BatchGetHashListsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(BatchGetHashListsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] BatchGetHashListsResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<BatchGetHashListsResponse>(arena);
  }
  void CopyFrom(const BatchGetHashListsResponse& from);
  void MergeFrom(const BatchGetHashListsResponse& from) { BatchGetHashListsResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(BatchGetHashListsResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "mozilla.safebrowsing.v5.BatchGetHashListsResponse"; }

  explicit BatchGetHashListsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  BatchGetHashListsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BatchGetHashListsResponse& from);
  BatchGetHashListsResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BatchGetHashListsResponse&& from) noexcept
      : BatchGetHashListsResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kHashListsFieldNumber = 1,
  };
  // repeated .mozilla.safebrowsing.v5.HashList hash_lists = 1;
  [[nodiscard]] int hash_lists_size()
      const;
  private:
  int _internal_hash_lists_size() const;

  public:
  void clear_hash_lists() ;
  [[nodiscard]] const ::mozilla::safebrowsing::v5::HashList& hash_lists(int index) const;
  [[nodiscard]] ::mozilla::safebrowsing::v5::HashList* PROTOBUF_NONNULL mutable_hash_lists(int index);
  ::mozilla::safebrowsing::v5::HashList* PROTOBUF_NONNULL add_hash_lists();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>&
  hash_lists() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>* PROTOBUF_NONNULL
  mutable_hash_lists();

  private:
  const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>& _internal_hash_lists() const;
  ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>* PROTOBUF_NONNULL _internal_mutable_hash_lists();

  public:
  // @@protoc_insertion_point(class_scope:mozilla.safebrowsing.v5.BatchGetHashListsResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const BatchGetHashListsResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::mozilla::safebrowsing::v5::HashList > hash_lists_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_safebrowsing_5fv5_2eproto;
};

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




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


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// SearchHashesRequest

// repeated bytes hash_prefixes = 1;
inline int SearchHashesRequest::_internal_hash_prefixes_size() const {
  return _internal_hash_prefixes().size();
}
inline int SearchHashesRequest::hash_prefixes_size() const {
  return _internal_hash_prefixes_size();
}
inline void SearchHashesRequest::clear_hash_prefixes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hash_prefixes_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL SearchHashesRequest::add_hash_prefixes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_hash_prefixes()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:mozilla.safebrowsing.v5.SearchHashesRequest.hash_prefixes)
  return _s;
}
inline const ::std::string& SearchHashesRequest::hash_prefixes(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.SearchHashesRequest.hash_prefixes)
  return _internal_hash_prefixes().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL SearchHashesRequest::mutable_hash_prefixes(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.SearchHashesRequest.hash_prefixes)
  return _internal_mutable_hash_prefixes()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void SearchHashesRequest::set_hash_prefixes(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_hash_prefixes()->Mutable(index),
      ::std::forward<Arg_>(value), args... , ::google::protobuf::internal::BytesTag{});
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.SearchHashesRequest.hash_prefixes)
}
template <typename Arg_, typename... Args_>
inline void SearchHashesRequest::add_hash_prefixes(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_hash_prefixes(), ::std::forward<Arg_>(value),
      args... , ::google::protobuf::internal::BytesTag{});
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.SearchHashesRequest.hash_prefixes)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& SearchHashesRequest::hash_prefixes()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.SearchHashesRequest.hash_prefixes)
  return _internal_hash_prefixes();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
SearchHashesRequest::mutable_hash_prefixes() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.SearchHashesRequest.hash_prefixes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_hash_prefixes();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
SearchHashesRequest::_internal_hash_prefixes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.hash_prefixes_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
SearchHashesRequest::_internal_mutable_hash_prefixes() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.hash_prefixes_;
}

// -------------------------------------------------------------------

// Duration

// int64 seconds = 1;
inline void Duration::clear_seconds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.seconds_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::int64_t Duration::seconds() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.Duration.seconds)
  return _internal_seconds();
}
inline void Duration::set_seconds(::int64_t value) {
  _internal_set_seconds(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.Duration.seconds)
}
inline ::int64_t Duration::_internal_seconds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.seconds_;
}
inline void Duration::_internal_set_seconds(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.seconds_ = value;
}

// int32 nanos = 2;
inline void Duration::clear_nanos() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.nanos_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int32_t Duration::nanos() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.Duration.nanos)
  return _internal_nanos();
}
inline void Duration::set_nanos(::int32_t value) {
  _internal_set_nanos(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.Duration.nanos)
}
inline ::int32_t Duration::_internal_nanos() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.nanos_;
}
inline void Duration::_internal_set_nanos(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.nanos_ = value;
}

// -------------------------------------------------------------------

// SearchHashesResponse

// repeated .mozilla.safebrowsing.v5.FullHash full_hashes = 1;
inline int SearchHashesResponse::_internal_full_hashes_size() const {
  return _internal_full_hashes().size();
}
inline int SearchHashesResponse::full_hashes_size() const {
  return _internal_full_hashes_size();
}
inline void SearchHashesResponse::clear_full_hashes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.full_hashes_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::mozilla::safebrowsing::v5::FullHash& SearchHashesResponse::full_hashes(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.SearchHashesResponse.full_hashes)
  return _internal_full_hashes().Get(index);
}
inline ::mozilla::safebrowsing::v5::FullHash* PROTOBUF_NONNULL SearchHashesResponse::mutable_full_hashes(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.SearchHashesResponse.full_hashes)
  return _internal_mutable_full_hashes()->Mutable(index);
}
inline ::mozilla::safebrowsing::v5::FullHash* PROTOBUF_NONNULL SearchHashesResponse::add_full_hashes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::mozilla::safebrowsing::v5::FullHash* _add =
      _internal_mutable_full_hashes()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.SearchHashesResponse.full_hashes)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash>& SearchHashesResponse::full_hashes() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.SearchHashesResponse.full_hashes)
  return _internal_full_hashes();
}
inline ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash>* PROTOBUF_NONNULL
SearchHashesResponse::mutable_full_hashes() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.SearchHashesResponse.full_hashes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_full_hashes();
}
inline const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash>&
SearchHashesResponse::_internal_full_hashes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.full_hashes_;
}
inline ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash>* PROTOBUF_NONNULL
SearchHashesResponse::_internal_mutable_full_hashes() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.full_hashes_;
}

// .mozilla.safebrowsing.v5.Duration cache_duration = 2;
inline bool SearchHashesResponse::has_cache_duration() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.cache_duration_ != nullptr);
  return value;
}
inline void SearchHashesResponse::clear_cache_duration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cache_duration_ != nullptr) _impl_.cache_duration_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::mozilla::safebrowsing::v5::Duration& SearchHashesResponse::_internal_cache_duration() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::mozilla::safebrowsing::v5::Duration* p = _impl_.cache_duration_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::Duration>(&::mozilla::safebrowsing::v5::Duration_globals_);
}
inline const ::mozilla::safebrowsing::v5::Duration& SearchHashesResponse::cache_duration() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.SearchHashesResponse.cache_duration)
  return _internal_cache_duration();
}
inline void SearchHashesResponse::unsafe_arena_set_allocated_cache_duration(
    ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cache_duration_);
  }
  _impl_.cache_duration_ = reinterpret_cast<::mozilla::safebrowsing::v5::Duration*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.SearchHashesResponse.cache_duration)
}
inline ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE SearchHashesResponse::release_cache_duration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::mozilla::safebrowsing::v5::Duration* released = _impl_.cache_duration_;
  _impl_.cache_duration_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE SearchHashesResponse::unsafe_arena_release_cache_duration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.SearchHashesResponse.cache_duration)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::mozilla::safebrowsing::v5::Duration* temp = _impl_.cache_duration_;
  _impl_.cache_duration_ = nullptr;
  return temp;
}
inline ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NONNULL SearchHashesResponse::_internal_mutable_cache_duration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cache_duration_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::Duration>(GetArena());
    _impl_.cache_duration_ = reinterpret_cast<::mozilla::safebrowsing::v5::Duration*>(p);
  }
  return _impl_.cache_duration_;
}
inline ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NONNULL SearchHashesResponse::mutable_cache_duration()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::mozilla::safebrowsing::v5::Duration* _msg = _internal_mutable_cache_duration();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.SearchHashesResponse.cache_duration)
  return _msg;
}
inline void SearchHashesResponse::set_allocated_cache_duration(::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cache_duration_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.cache_duration_ = reinterpret_cast<::mozilla::safebrowsing::v5::Duration*>(value);
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.SearchHashesResponse.cache_duration)
}

// -------------------------------------------------------------------

// FullHash_FullHashDetail

// .mozilla.safebrowsing.v5.ThreatType threat_type = 1;
inline void FullHash_FullHashDetail::clear_threat_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.threat_type_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::mozilla::safebrowsing::v5::ThreatType FullHash_FullHashDetail::threat_type() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.FullHash.FullHashDetail.threat_type)
  return _internal_threat_type();
}
inline void FullHash_FullHashDetail::set_threat_type(::mozilla::safebrowsing::v5::ThreatType value) {
  _internal_set_threat_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.FullHash.FullHashDetail.threat_type)
}
inline ::mozilla::safebrowsing::v5::ThreatType FullHash_FullHashDetail::_internal_threat_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::mozilla::safebrowsing::v5::ThreatType>(_impl_.threat_type_);
}
inline void FullHash_FullHashDetail::_internal_set_threat_type(::mozilla::safebrowsing::v5::ThreatType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.threat_type_ = value;
}

// repeated .mozilla.safebrowsing.v5.ThreatAttribute attributes = 2;
inline int FullHash_FullHashDetail::_internal_attributes_size() const {
  return _internal_attributes().size();
}
inline int FullHash_FullHashDetail::attributes_size() const {
  return _internal_attributes_size();
}
inline void FullHash_FullHashDetail::clear_attributes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attributes_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::mozilla::safebrowsing::v5::ThreatAttribute FullHash_FullHashDetail::attributes(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.FullHash.FullHashDetail.attributes)
  return static_cast<::mozilla::safebrowsing::v5::ThreatAttribute>(_internal_attributes().Get(index));
}
inline void FullHash_FullHashDetail::set_attributes(int index, ::mozilla::safebrowsing::v5::ThreatAttribute value) {
  _internal_mutable_attributes()->Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.FullHash.FullHashDetail.attributes)
}
inline void FullHash_FullHashDetail::add_attributes(::mozilla::safebrowsing::v5::ThreatAttribute value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_attributes()
      ->InternalAddWithArena<const ::google::protobuf::MessageLite*>(
          internal_visibility(), this, value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.FullHash.FullHashDetail.attributes)
}
inline const ::google::protobuf::RepeatedField<int>& FullHash_FullHashDetail::attributes() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.FullHash.FullHashDetail.attributes)
  return _internal_attributes();
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL FullHash_FullHashDetail::mutable_attributes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.FullHash.FullHashDetail.attributes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attributes();
}
inline const ::google::protobuf::RepeatedField<int>& FullHash_FullHashDetail::_internal_attributes()
    const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attributes_;
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
FullHash_FullHashDetail::_internal_mutable_attributes() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attributes_;
}

// -------------------------------------------------------------------

// FullHash

// bytes full_hash = 1;
inline void FullHash::clear_full_hash() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.full_hash_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& FullHash::full_hash() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.FullHash.full_hash)
  return _internal_full_hash();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void FullHash::set_full_hash(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.full_hash_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.FullHash.full_hash)
}
inline ::std::string* PROTOBUF_NONNULL FullHash::mutable_full_hash()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_full_hash();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.FullHash.full_hash)
  return _s;
}
inline const ::std::string& FullHash::_internal_full_hash() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.full_hash_.Get();
}
inline void FullHash::_internal_set_full_hash(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.full_hash_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL FullHash::_internal_mutable_full_hash() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.full_hash_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE FullHash::release_full_hash() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.FullHash.full_hash)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.full_hash_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.full_hash_.Set("", GetArena());
  }
  return released;
}
inline void FullHash::set_allocated_full_hash(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.full_hash_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.full_hash_.IsDefault()) {
    _impl_.full_hash_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.FullHash.full_hash)
}

// repeated .mozilla.safebrowsing.v5.FullHash.FullHashDetail full_hash_details = 2;
inline int FullHash::_internal_full_hash_details_size() const {
  return _internal_full_hash_details().size();
}
inline int FullHash::full_hash_details_size() const {
  return _internal_full_hash_details_size();
}
inline void FullHash::clear_full_hash_details() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.full_hash_details_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::mozilla::safebrowsing::v5::FullHash_FullHashDetail& FullHash::full_hash_details(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.FullHash.full_hash_details)
  return _internal_full_hash_details().Get(index);
}
inline ::mozilla::safebrowsing::v5::FullHash_FullHashDetail* PROTOBUF_NONNULL FullHash::mutable_full_hash_details(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.FullHash.full_hash_details)
  return _internal_mutable_full_hash_details()->Mutable(index);
}
inline ::mozilla::safebrowsing::v5::FullHash_FullHashDetail* PROTOBUF_NONNULL FullHash::add_full_hash_details()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::mozilla::safebrowsing::v5::FullHash_FullHashDetail* _add =
      _internal_mutable_full_hash_details()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.FullHash.full_hash_details)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash_FullHashDetail>& FullHash::full_hash_details() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.FullHash.full_hash_details)
  return _internal_full_hash_details();
}
inline ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash_FullHashDetail>* PROTOBUF_NONNULL
FullHash::mutable_full_hash_details() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.FullHash.full_hash_details)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_full_hash_details();
}
inline const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash_FullHashDetail>&
FullHash::_internal_full_hash_details() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.full_hash_details_;
}
inline ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::FullHash_FullHashDetail>* PROTOBUF_NONNULL
FullHash::_internal_mutable_full_hash_details() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.full_hash_details_;
}

// -------------------------------------------------------------------

// GetHashListRequest

// string name = 1;
inline void GetHashListRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& GetHashListRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.GetHashListRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GetHashListRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.GetHashListRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL GetHashListRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.GetHashListRequest.name)
  return _s;
}
inline const ::std::string& GetHashListRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void GetHashListRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GetHashListRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GetHashListRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.GetHashListRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void GetHashListRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.GetHashListRequest.name)
}

// bytes version = 2;
inline void GetHashListRequest::clear_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& GetHashListRequest::version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.GetHashListRequest.version)
  return _internal_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GetHashListRequest::set_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.version_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.GetHashListRequest.version)
}
inline ::std::string* PROTOBUF_NONNULL GetHashListRequest::mutable_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.GetHashListRequest.version)
  return _s;
}
inline const ::std::string& GetHashListRequest::_internal_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.version_.Get();
}
inline void GetHashListRequest::_internal_set_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GetHashListRequest::_internal_mutable_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GetHashListRequest::release_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.GetHashListRequest.version)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.version_.Set("", GetArena());
  }
  return released;
}
inline void GetHashListRequest::set_allocated_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.GetHashListRequest.version)
}

// .mozilla.safebrowsing.v5.SizeConstraints size_constraints = 4;
inline bool GetHashListRequest::has_size_constraints() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.size_constraints_ != nullptr);
  return value;
}
inline void GetHashListRequest::clear_size_constraints() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.size_constraints_ != nullptr) _impl_.size_constraints_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::mozilla::safebrowsing::v5::SizeConstraints& GetHashListRequest::_internal_size_constraints() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::mozilla::safebrowsing::v5::SizeConstraints* p = _impl_.size_constraints_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::SizeConstraints>(&::mozilla::safebrowsing::v5::SizeConstraints_globals_);
}
inline const ::mozilla::safebrowsing::v5::SizeConstraints& GetHashListRequest::size_constraints() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.GetHashListRequest.size_constraints)
  return _internal_size_constraints();
}
inline void GetHashListRequest::unsafe_arena_set_allocated_size_constraints(
    ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.size_constraints_);
  }
  _impl_.size_constraints_ = reinterpret_cast<::mozilla::safebrowsing::v5::SizeConstraints*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.GetHashListRequest.size_constraints)
}
inline ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE GetHashListRequest::release_size_constraints() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::mozilla::safebrowsing::v5::SizeConstraints* released = _impl_.size_constraints_;
  _impl_.size_constraints_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE GetHashListRequest::unsafe_arena_release_size_constraints() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.GetHashListRequest.size_constraints)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::mozilla::safebrowsing::v5::SizeConstraints* temp = _impl_.size_constraints_;
  _impl_.size_constraints_ = nullptr;
  return temp;
}
inline ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NONNULL GetHashListRequest::_internal_mutable_size_constraints() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.size_constraints_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::SizeConstraints>(GetArena());
    _impl_.size_constraints_ = reinterpret_cast<::mozilla::safebrowsing::v5::SizeConstraints*>(p);
  }
  return _impl_.size_constraints_;
}
inline ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NONNULL GetHashListRequest::mutable_size_constraints()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::mozilla::safebrowsing::v5::SizeConstraints* _msg = _internal_mutable_size_constraints();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.GetHashListRequest.size_constraints)
  return _msg;
}
inline void GetHashListRequest::set_allocated_size_constraints(::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.size_constraints_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.size_constraints_ = reinterpret_cast<::mozilla::safebrowsing::v5::SizeConstraints*>(value);
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.GetHashListRequest.size_constraints)
}

// -------------------------------------------------------------------

// SizeConstraints

// int32 max_update_entries = 1;
inline void SizeConstraints::clear_max_update_entries() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_update_entries_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::int32_t SizeConstraints::max_update_entries() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.SizeConstraints.max_update_entries)
  return _internal_max_update_entries();
}
inline void SizeConstraints::set_max_update_entries(::int32_t value) {
  _internal_set_max_update_entries(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.SizeConstraints.max_update_entries)
}
inline ::int32_t SizeConstraints::_internal_max_update_entries() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.max_update_entries_;
}
inline void SizeConstraints::_internal_set_max_update_entries(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_update_entries_ = value;
}

// int32 max_database_entries = 2;
inline void SizeConstraints::clear_max_database_entries() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_database_entries_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int32_t SizeConstraints::max_database_entries() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.SizeConstraints.max_database_entries)
  return _internal_max_database_entries();
}
inline void SizeConstraints::set_max_database_entries(::int32_t value) {
  _internal_set_max_database_entries(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.SizeConstraints.max_database_entries)
}
inline ::int32_t SizeConstraints::_internal_max_database_entries() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.max_database_entries_;
}
inline void SizeConstraints::_internal_set_max_database_entries(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_database_entries_ = value;
}

// -------------------------------------------------------------------

// RiceDeltaEncoded32Bit

// uint32 first_value = 1;
inline void RiceDeltaEncoded32Bit::clear_first_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint32_t RiceDeltaEncoded32Bit::first_value() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.first_value)
  return _internal_first_value();
}
inline void RiceDeltaEncoded32Bit::set_first_value(::uint32_t value) {
  _internal_set_first_value(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.first_value)
}
inline ::uint32_t RiceDeltaEncoded32Bit::_internal_first_value() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.first_value_;
}
inline void RiceDeltaEncoded32Bit::_internal_set_first_value(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_ = value;
}

// int32 rice_parameter = 2;
inline void RiceDeltaEncoded32Bit::clear_rice_parameter() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rice_parameter_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::int32_t RiceDeltaEncoded32Bit::rice_parameter() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.rice_parameter)
  return _internal_rice_parameter();
}
inline void RiceDeltaEncoded32Bit::set_rice_parameter(::int32_t value) {
  _internal_set_rice_parameter(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.rice_parameter)
}
inline ::int32_t RiceDeltaEncoded32Bit::_internal_rice_parameter() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rice_parameter_;
}
inline void RiceDeltaEncoded32Bit::_internal_set_rice_parameter(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rice_parameter_ = value;
}

// int32 entries_count = 3;
inline void RiceDeltaEncoded32Bit::clear_entries_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entries_count_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::int32_t RiceDeltaEncoded32Bit::entries_count() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.entries_count)
  return _internal_entries_count();
}
inline void RiceDeltaEncoded32Bit::set_entries_count(::int32_t value) {
  _internal_set_entries_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.entries_count)
}
inline ::int32_t RiceDeltaEncoded32Bit::_internal_entries_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.entries_count_;
}
inline void RiceDeltaEncoded32Bit::_internal_set_entries_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entries_count_ = value;
}

// bytes encoded_data = 4;
inline void RiceDeltaEncoded32Bit::clear_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoded_data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& RiceDeltaEncoded32Bit::encoded_data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.encoded_data)
  return _internal_encoded_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RiceDeltaEncoded32Bit::set_encoded_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.encoded_data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.encoded_data)
}
inline ::std::string* PROTOBUF_NONNULL RiceDeltaEncoded32Bit::mutable_encoded_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_encoded_data();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.encoded_data)
  return _s;
}
inline const ::std::string& RiceDeltaEncoded32Bit::_internal_encoded_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.encoded_data_.Get();
}
inline void RiceDeltaEncoded32Bit::_internal_set_encoded_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoded_data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RiceDeltaEncoded32Bit::_internal_mutable_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.encoded_data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RiceDeltaEncoded32Bit::release_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.encoded_data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.encoded_data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.encoded_data_.Set("", GetArena());
  }
  return released;
}
inline void RiceDeltaEncoded32Bit::set_allocated_encoded_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.encoded_data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.encoded_data_.IsDefault()) {
    _impl_.encoded_data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit.encoded_data)
}

// -------------------------------------------------------------------

// RiceDeltaEncoded64Bit

// uint64 first_value = 1;
inline void RiceDeltaEncoded64Bit::clear_first_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint64_t RiceDeltaEncoded64Bit::first_value() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.first_value)
  return _internal_first_value();
}
inline void RiceDeltaEncoded64Bit::set_first_value(::uint64_t value) {
  _internal_set_first_value(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.first_value)
}
inline ::uint64_t RiceDeltaEncoded64Bit::_internal_first_value() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.first_value_;
}
inline void RiceDeltaEncoded64Bit::_internal_set_first_value(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_ = value;
}

// int32 rice_parameter = 2;
inline void RiceDeltaEncoded64Bit::clear_rice_parameter() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rice_parameter_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::int32_t RiceDeltaEncoded64Bit::rice_parameter() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.rice_parameter)
  return _internal_rice_parameter();
}
inline void RiceDeltaEncoded64Bit::set_rice_parameter(::int32_t value) {
  _internal_set_rice_parameter(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.rice_parameter)
}
inline ::int32_t RiceDeltaEncoded64Bit::_internal_rice_parameter() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rice_parameter_;
}
inline void RiceDeltaEncoded64Bit::_internal_set_rice_parameter(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rice_parameter_ = value;
}

// int32 entries_count = 3;
inline void RiceDeltaEncoded64Bit::clear_entries_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entries_count_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::int32_t RiceDeltaEncoded64Bit::entries_count() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.entries_count)
  return _internal_entries_count();
}
inline void RiceDeltaEncoded64Bit::set_entries_count(::int32_t value) {
  _internal_set_entries_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.entries_count)
}
inline ::int32_t RiceDeltaEncoded64Bit::_internal_entries_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.entries_count_;
}
inline void RiceDeltaEncoded64Bit::_internal_set_entries_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entries_count_ = value;
}

// bytes encoded_data = 4;
inline void RiceDeltaEncoded64Bit::clear_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoded_data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& RiceDeltaEncoded64Bit::encoded_data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.encoded_data)
  return _internal_encoded_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RiceDeltaEncoded64Bit::set_encoded_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.encoded_data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.encoded_data)
}
inline ::std::string* PROTOBUF_NONNULL RiceDeltaEncoded64Bit::mutable_encoded_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_encoded_data();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.encoded_data)
  return _s;
}
inline const ::std::string& RiceDeltaEncoded64Bit::_internal_encoded_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.encoded_data_.Get();
}
inline void RiceDeltaEncoded64Bit::_internal_set_encoded_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoded_data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RiceDeltaEncoded64Bit::_internal_mutable_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.encoded_data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RiceDeltaEncoded64Bit::release_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.encoded_data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.encoded_data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.encoded_data_.Set("", GetArena());
  }
  return released;
}
inline void RiceDeltaEncoded64Bit::set_allocated_encoded_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.encoded_data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.encoded_data_.IsDefault()) {
    _impl_.encoded_data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit.encoded_data)
}

// -------------------------------------------------------------------

// RiceDeltaEncoded128Bit

// uint64 first_value_hi = 1;
inline void RiceDeltaEncoded128Bit::clear_first_value_hi() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_hi_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint64_t RiceDeltaEncoded128Bit::first_value_hi() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.first_value_hi)
  return _internal_first_value_hi();
}
inline void RiceDeltaEncoded128Bit::set_first_value_hi(::uint64_t value) {
  _internal_set_first_value_hi(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.first_value_hi)
}
inline ::uint64_t RiceDeltaEncoded128Bit::_internal_first_value_hi() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.first_value_hi_;
}
inline void RiceDeltaEncoded128Bit::_internal_set_first_value_hi(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_hi_ = value;
}

// fixed64 first_value_lo = 2;
inline void RiceDeltaEncoded128Bit::clear_first_value_lo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_lo_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::uint64_t RiceDeltaEncoded128Bit::first_value_lo() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.first_value_lo)
  return _internal_first_value_lo();
}
inline void RiceDeltaEncoded128Bit::set_first_value_lo(::uint64_t value) {
  _internal_set_first_value_lo(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.first_value_lo)
}
inline ::uint64_t RiceDeltaEncoded128Bit::_internal_first_value_lo() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.first_value_lo_;
}
inline void RiceDeltaEncoded128Bit::_internal_set_first_value_lo(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_lo_ = value;
}

// int32 rice_parameter = 3;
inline void RiceDeltaEncoded128Bit::clear_rice_parameter() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rice_parameter_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::int32_t RiceDeltaEncoded128Bit::rice_parameter() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.rice_parameter)
  return _internal_rice_parameter();
}
inline void RiceDeltaEncoded128Bit::set_rice_parameter(::int32_t value) {
  _internal_set_rice_parameter(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.rice_parameter)
}
inline ::int32_t RiceDeltaEncoded128Bit::_internal_rice_parameter() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rice_parameter_;
}
inline void RiceDeltaEncoded128Bit::_internal_set_rice_parameter(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rice_parameter_ = value;
}

// int32 entries_count = 4;
inline void RiceDeltaEncoded128Bit::clear_entries_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entries_count_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline ::int32_t RiceDeltaEncoded128Bit::entries_count() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.entries_count)
  return _internal_entries_count();
}
inline void RiceDeltaEncoded128Bit::set_entries_count(::int32_t value) {
  _internal_set_entries_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.entries_count)
}
inline ::int32_t RiceDeltaEncoded128Bit::_internal_entries_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.entries_count_;
}
inline void RiceDeltaEncoded128Bit::_internal_set_entries_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entries_count_ = value;
}

// bytes encoded_data = 5;
inline void RiceDeltaEncoded128Bit::clear_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoded_data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& RiceDeltaEncoded128Bit::encoded_data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.encoded_data)
  return _internal_encoded_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RiceDeltaEncoded128Bit::set_encoded_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.encoded_data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.encoded_data)
}
inline ::std::string* PROTOBUF_NONNULL RiceDeltaEncoded128Bit::mutable_encoded_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_encoded_data();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.encoded_data)
  return _s;
}
inline const ::std::string& RiceDeltaEncoded128Bit::_internal_encoded_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.encoded_data_.Get();
}
inline void RiceDeltaEncoded128Bit::_internal_set_encoded_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoded_data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RiceDeltaEncoded128Bit::_internal_mutable_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.encoded_data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RiceDeltaEncoded128Bit::release_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.encoded_data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.encoded_data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.encoded_data_.Set("", GetArena());
  }
  return released;
}
inline void RiceDeltaEncoded128Bit::set_allocated_encoded_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.encoded_data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.encoded_data_.IsDefault()) {
    _impl_.encoded_data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit.encoded_data)
}

// -------------------------------------------------------------------

// RiceDeltaEncoded256Bit

// uint64 first_value_first_part = 1;
inline void RiceDeltaEncoded256Bit::clear_first_value_first_part() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_first_part_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::uint64_t RiceDeltaEncoded256Bit::first_value_first_part() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.first_value_first_part)
  return _internal_first_value_first_part();
}
inline void RiceDeltaEncoded256Bit::set_first_value_first_part(::uint64_t value) {
  _internal_set_first_value_first_part(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.first_value_first_part)
}
inline ::uint64_t RiceDeltaEncoded256Bit::_internal_first_value_first_part() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.first_value_first_part_;
}
inline void RiceDeltaEncoded256Bit::_internal_set_first_value_first_part(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_first_part_ = value;
}

// fixed64 first_value_second_part = 2;
inline void RiceDeltaEncoded256Bit::clear_first_value_second_part() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_second_part_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::uint64_t RiceDeltaEncoded256Bit::first_value_second_part() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.first_value_second_part)
  return _internal_first_value_second_part();
}
inline void RiceDeltaEncoded256Bit::set_first_value_second_part(::uint64_t value) {
  _internal_set_first_value_second_part(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.first_value_second_part)
}
inline ::uint64_t RiceDeltaEncoded256Bit::_internal_first_value_second_part() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.first_value_second_part_;
}
inline void RiceDeltaEncoded256Bit::_internal_set_first_value_second_part(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_second_part_ = value;
}

// fixed64 first_value_third_part = 3;
inline void RiceDeltaEncoded256Bit::clear_first_value_third_part() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_third_part_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::uint64_t RiceDeltaEncoded256Bit::first_value_third_part() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.first_value_third_part)
  return _internal_first_value_third_part();
}
inline void RiceDeltaEncoded256Bit::set_first_value_third_part(::uint64_t value) {
  _internal_set_first_value_third_part(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.first_value_third_part)
}
inline ::uint64_t RiceDeltaEncoded256Bit::_internal_first_value_third_part() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.first_value_third_part_;
}
inline void RiceDeltaEncoded256Bit::_internal_set_first_value_third_part(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_third_part_ = value;
}

// fixed64 first_value_fourth_part = 4;
inline void RiceDeltaEncoded256Bit::clear_first_value_fourth_part() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_fourth_part_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline ::uint64_t RiceDeltaEncoded256Bit::first_value_fourth_part() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.first_value_fourth_part)
  return _internal_first_value_fourth_part();
}
inline void RiceDeltaEncoded256Bit::set_first_value_fourth_part(::uint64_t value) {
  _internal_set_first_value_fourth_part(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.first_value_fourth_part)
}
inline ::uint64_t RiceDeltaEncoded256Bit::_internal_first_value_fourth_part() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.first_value_fourth_part_;
}
inline void RiceDeltaEncoded256Bit::_internal_set_first_value_fourth_part(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.first_value_fourth_part_ = value;
}

// int32 rice_parameter = 5;
inline void RiceDeltaEncoded256Bit::clear_rice_parameter() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rice_parameter_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline ::int32_t RiceDeltaEncoded256Bit::rice_parameter() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.rice_parameter)
  return _internal_rice_parameter();
}
inline void RiceDeltaEncoded256Bit::set_rice_parameter(::int32_t value) {
  _internal_set_rice_parameter(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.rice_parameter)
}
inline ::int32_t RiceDeltaEncoded256Bit::_internal_rice_parameter() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rice_parameter_;
}
inline void RiceDeltaEncoded256Bit::_internal_set_rice_parameter(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rice_parameter_ = value;
}

// int32 entries_count = 6;
inline void RiceDeltaEncoded256Bit::clear_entries_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entries_count_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline ::int32_t RiceDeltaEncoded256Bit::entries_count() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.entries_count)
  return _internal_entries_count();
}
inline void RiceDeltaEncoded256Bit::set_entries_count(::int32_t value) {
  _internal_set_entries_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.entries_count)
}
inline ::int32_t RiceDeltaEncoded256Bit::_internal_entries_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.entries_count_;
}
inline void RiceDeltaEncoded256Bit::_internal_set_entries_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entries_count_ = value;
}

// bytes encoded_data = 7;
inline void RiceDeltaEncoded256Bit::clear_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoded_data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& RiceDeltaEncoded256Bit::encoded_data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.encoded_data)
  return _internal_encoded_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RiceDeltaEncoded256Bit::set_encoded_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.encoded_data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.encoded_data)
}
inline ::std::string* PROTOBUF_NONNULL RiceDeltaEncoded256Bit::mutable_encoded_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_encoded_data();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.encoded_data)
  return _s;
}
inline const ::std::string& RiceDeltaEncoded256Bit::_internal_encoded_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.encoded_data_.Get();
}
inline void RiceDeltaEncoded256Bit::_internal_set_encoded_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoded_data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RiceDeltaEncoded256Bit::_internal_mutable_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.encoded_data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RiceDeltaEncoded256Bit::release_encoded_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.encoded_data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.encoded_data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.encoded_data_.Set("", GetArena());
  }
  return released;
}
inline void RiceDeltaEncoded256Bit::set_allocated_encoded_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.encoded_data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.encoded_data_.IsDefault()) {
    _impl_.encoded_data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit.encoded_data)
}

// -------------------------------------------------------------------

// HashListMetadata

// repeated .mozilla.safebrowsing.v5.ThreatType threat_types = 1;
inline int HashListMetadata::_internal_threat_types_size() const {
  return _internal_threat_types().size();
}
inline int HashListMetadata::threat_types_size() const {
  return _internal_threat_types_size();
}
inline void HashListMetadata::clear_threat_types() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.threat_types_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::mozilla::safebrowsing::v5::ThreatType HashListMetadata::threat_types(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashListMetadata.threat_types)
  return static_cast<::mozilla::safebrowsing::v5::ThreatType>(_internal_threat_types().Get(index));
}
inline void HashListMetadata::set_threat_types(int index, ::mozilla::safebrowsing::v5::ThreatType value) {
  _internal_mutable_threat_types()->Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.HashListMetadata.threat_types)
}
inline void HashListMetadata::add_threat_types(::mozilla::safebrowsing::v5::ThreatType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_threat_types()
      ->InternalAddWithArena<const ::google::protobuf::MessageLite*>(
          internal_visibility(), this, value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.HashListMetadata.threat_types)
}
inline const ::google::protobuf::RepeatedField<int>& HashListMetadata::threat_types() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.HashListMetadata.threat_types)
  return _internal_threat_types();
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL HashListMetadata::mutable_threat_types()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.HashListMetadata.threat_types)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_threat_types();
}
inline const ::google::protobuf::RepeatedField<int>& HashListMetadata::_internal_threat_types()
    const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.threat_types_;
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
HashListMetadata::_internal_mutable_threat_types() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.threat_types_;
}

// repeated .mozilla.safebrowsing.v5.LikelySafeType likely_safe_types = 2;
inline int HashListMetadata::_internal_likely_safe_types_size() const {
  return _internal_likely_safe_types().size();
}
inline int HashListMetadata::likely_safe_types_size() const {
  return _internal_likely_safe_types_size();
}
inline void HashListMetadata::clear_likely_safe_types() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.likely_safe_types_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::mozilla::safebrowsing::v5::LikelySafeType HashListMetadata::likely_safe_types(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashListMetadata.likely_safe_types)
  return static_cast<::mozilla::safebrowsing::v5::LikelySafeType>(_internal_likely_safe_types().Get(index));
}
inline void HashListMetadata::set_likely_safe_types(int index, ::mozilla::safebrowsing::v5::LikelySafeType value) {
  _internal_mutable_likely_safe_types()->Set(index, value);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.HashListMetadata.likely_safe_types)
}
inline void HashListMetadata::add_likely_safe_types(::mozilla::safebrowsing::v5::LikelySafeType value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_likely_safe_types()
      ->InternalAddWithArena<const ::google::protobuf::MessageLite*>(
          internal_visibility(), this, value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.HashListMetadata.likely_safe_types)
}
inline const ::google::protobuf::RepeatedField<int>& HashListMetadata::likely_safe_types() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.HashListMetadata.likely_safe_types)
  return _internal_likely_safe_types();
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL HashListMetadata::mutable_likely_safe_types()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.HashListMetadata.likely_safe_types)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_likely_safe_types();
}
inline const ::google::protobuf::RepeatedField<int>& HashListMetadata::_internal_likely_safe_types()
    const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.likely_safe_types_;
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
HashListMetadata::_internal_mutable_likely_safe_types() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.likely_safe_types_;
}

// string description = 4;
inline void HashListMetadata::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& HashListMetadata::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashListMetadata.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void HashListMetadata::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.HashListMetadata.description)
}
inline ::std::string* PROTOBUF_NONNULL HashListMetadata::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashListMetadata.description)
  return _s;
}
inline const ::std::string& HashListMetadata::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void HashListMetadata::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL HashListMetadata::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE HashListMetadata::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashListMetadata.description)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void HashListMetadata::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.HashListMetadata.description)
}

// .mozilla.safebrowsing.v5.HashListMetadata.HashLength hash_length = 6;
inline void HashListMetadata::clear_hash_length() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hash_length_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::mozilla::safebrowsing::v5::HashListMetadata_HashLength HashListMetadata::hash_length() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashListMetadata.hash_length)
  return _internal_hash_length();
}
inline void HashListMetadata::set_hash_length(::mozilla::safebrowsing::v5::HashListMetadata_HashLength value) {
  _internal_set_hash_length(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.HashListMetadata.hash_length)
}
inline ::mozilla::safebrowsing::v5::HashListMetadata_HashLength HashListMetadata::_internal_hash_length() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::mozilla::safebrowsing::v5::HashListMetadata_HashLength>(_impl_.hash_length_);
}
inline void HashListMetadata::_internal_set_hash_length(::mozilla::safebrowsing::v5::HashListMetadata_HashLength value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hash_length_ = value;
}

// -------------------------------------------------------------------

// HashList

// .mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit additions_four_bytes = 4;
inline bool HashList::has_additions_four_bytes() const {
  return compressed_additions_case() == kAdditionsFourBytes;
}
inline bool HashList::_internal_has_additions_four_bytes() const {
  return compressed_additions_case() == kAdditionsFourBytes;
}
inline void HashList::set_has_additions_four_bytes() {
  _impl_._oneof_case_[0] = kAdditionsFourBytes;
}
inline void HashList::clear_additions_four_bytes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (compressed_additions_case() == kAdditionsFourBytes) {
    if (GetArena() == nullptr) {
      delete _impl_.compressed_additions_.additions_four_bytes_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.compressed_additions_.additions_four_bytes_ != nullptr) {
        _impl_.compressed_additions_.additions_four_bytes_->Clear();
      }
    }
    clear_has_compressed_additions();
  }
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE HashList::release_additions_four_bytes() {
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.additions_four_bytes)
  if (compressed_additions_case() == kAdditionsFourBytes) {
    clear_has_compressed_additions();
    auto* temp = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit*>(_impl_.compressed_additions_.additions_four_bytes_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.compressed_additions_.additions_four_bytes_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit& HashList::_internal_additions_four_bytes() const {
  return compressed_additions_case() == kAdditionsFourBytes ? static_cast<const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit&>(*reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit*>(_impl_.compressed_additions_.additions_four_bytes_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit>(&::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit_globals_);
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit& HashList::additions_four_bytes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.additions_four_bytes)
  return _internal_additions_four_bytes();
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE HashList::unsafe_arena_release_additions_four_bytes() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mozilla.safebrowsing.v5.HashList.additions_four_bytes)
  if (compressed_additions_case() == kAdditionsFourBytes) {
    clear_has_compressed_additions();
    auto* temp = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit*>(_impl_.compressed_additions_.additions_four_bytes_);
    _impl_.compressed_additions_.additions_four_bytes_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void HashList::unsafe_arena_set_allocated_additions_four_bytes(
    ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_compressed_additions();
  if (value) {
    set_has_additions_four_bytes();
    _impl_.compressed_additions_.additions_four_bytes_ = reinterpret_cast<::google::protobuf::MessageLite*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.HashList.additions_four_bytes)
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NONNULL HashList::_internal_mutable_additions_four_bytes() {
  if (compressed_additions_case() != kAdditionsFourBytes) {
    clear_compressed_additions();
    set_has_additions_four_bytes();
    _impl_.compressed_additions_.additions_four_bytes_ = reinterpret_cast<::google::protobuf::MessageLite*>(
        ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit>(GetArena()));
  }
  return reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit*>(_impl_.compressed_additions_.additions_four_bytes_);
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NONNULL HashList::mutable_additions_four_bytes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* _msg = _internal_mutable_additions_four_bytes();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.additions_four_bytes)
  return _msg;
}

// .mozilla.safebrowsing.v5.RiceDeltaEncoded64Bit additions_eight_bytes = 9;
inline bool HashList::has_additions_eight_bytes() const {
  return compressed_additions_case() == kAdditionsEightBytes;
}
inline bool HashList::_internal_has_additions_eight_bytes() const {
  return compressed_additions_case() == kAdditionsEightBytes;
}
inline void HashList::set_has_additions_eight_bytes() {
  _impl_._oneof_case_[0] = kAdditionsEightBytes;
}
inline void HashList::clear_additions_eight_bytes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (compressed_additions_case() == kAdditionsEightBytes) {
    if (GetArena() == nullptr) {
      delete _impl_.compressed_additions_.additions_eight_bytes_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.compressed_additions_.additions_eight_bytes_ != nullptr) {
        _impl_.compressed_additions_.additions_eight_bytes_->Clear();
      }
    }
    clear_has_compressed_additions();
  }
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NULLABLE HashList::release_additions_eight_bytes() {
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.additions_eight_bytes)
  if (compressed_additions_case() == kAdditionsEightBytes) {
    clear_has_compressed_additions();
    auto* temp = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit*>(_impl_.compressed_additions_.additions_eight_bytes_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.compressed_additions_.additions_eight_bytes_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit& HashList::_internal_additions_eight_bytes() const {
  return compressed_additions_case() == kAdditionsEightBytes ? static_cast<const ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit&>(*reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit*>(_impl_.compressed_additions_.additions_eight_bytes_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit>(&::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit_globals_);
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit& HashList::additions_eight_bytes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.additions_eight_bytes)
  return _internal_additions_eight_bytes();
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NULLABLE HashList::unsafe_arena_release_additions_eight_bytes() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mozilla.safebrowsing.v5.HashList.additions_eight_bytes)
  if (compressed_additions_case() == kAdditionsEightBytes) {
    clear_has_compressed_additions();
    auto* temp = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit*>(_impl_.compressed_additions_.additions_eight_bytes_);
    _impl_.compressed_additions_.additions_eight_bytes_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void HashList::unsafe_arena_set_allocated_additions_eight_bytes(
    ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_compressed_additions();
  if (value) {
    set_has_additions_eight_bytes();
    _impl_.compressed_additions_.additions_eight_bytes_ = reinterpret_cast<::google::protobuf::MessageLite*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.HashList.additions_eight_bytes)
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NONNULL HashList::_internal_mutable_additions_eight_bytes() {
  if (compressed_additions_case() != kAdditionsEightBytes) {
    clear_compressed_additions();
    set_has_additions_eight_bytes();
    _impl_.compressed_additions_.additions_eight_bytes_ = reinterpret_cast<::google::protobuf::MessageLite*>(
        ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit>(GetArena()));
  }
  return reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit*>(_impl_.compressed_additions_.additions_eight_bytes_);
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* PROTOBUF_NONNULL HashList::mutable_additions_eight_bytes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded64Bit* _msg = _internal_mutable_additions_eight_bytes();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.additions_eight_bytes)
  return _msg;
}

// .mozilla.safebrowsing.v5.RiceDeltaEncoded128Bit additions_sixteen_bytes = 10;
inline bool HashList::has_additions_sixteen_bytes() const {
  return compressed_additions_case() == kAdditionsSixteenBytes;
}
inline bool HashList::_internal_has_additions_sixteen_bytes() const {
  return compressed_additions_case() == kAdditionsSixteenBytes;
}
inline void HashList::set_has_additions_sixteen_bytes() {
  _impl_._oneof_case_[0] = kAdditionsSixteenBytes;
}
inline void HashList::clear_additions_sixteen_bytes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (compressed_additions_case() == kAdditionsSixteenBytes) {
    if (GetArena() == nullptr) {
      delete _impl_.compressed_additions_.additions_sixteen_bytes_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.compressed_additions_.additions_sixteen_bytes_ != nullptr) {
        _impl_.compressed_additions_.additions_sixteen_bytes_->Clear();
      }
    }
    clear_has_compressed_additions();
  }
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NULLABLE HashList::release_additions_sixteen_bytes() {
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.additions_sixteen_bytes)
  if (compressed_additions_case() == kAdditionsSixteenBytes) {
    clear_has_compressed_additions();
    auto* temp = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit*>(_impl_.compressed_additions_.additions_sixteen_bytes_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.compressed_additions_.additions_sixteen_bytes_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit& HashList::_internal_additions_sixteen_bytes() const {
  return compressed_additions_case() == kAdditionsSixteenBytes ? static_cast<const ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit&>(*reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit*>(_impl_.compressed_additions_.additions_sixteen_bytes_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit>(&::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit_globals_);
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit& HashList::additions_sixteen_bytes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.additions_sixteen_bytes)
  return _internal_additions_sixteen_bytes();
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NULLABLE HashList::unsafe_arena_release_additions_sixteen_bytes() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mozilla.safebrowsing.v5.HashList.additions_sixteen_bytes)
  if (compressed_additions_case() == kAdditionsSixteenBytes) {
    clear_has_compressed_additions();
    auto* temp = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit*>(_impl_.compressed_additions_.additions_sixteen_bytes_);
    _impl_.compressed_additions_.additions_sixteen_bytes_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void HashList::unsafe_arena_set_allocated_additions_sixteen_bytes(
    ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_compressed_additions();
  if (value) {
    set_has_additions_sixteen_bytes();
    _impl_.compressed_additions_.additions_sixteen_bytes_ = reinterpret_cast<::google::protobuf::MessageLite*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.HashList.additions_sixteen_bytes)
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NONNULL HashList::_internal_mutable_additions_sixteen_bytes() {
  if (compressed_additions_case() != kAdditionsSixteenBytes) {
    clear_compressed_additions();
    set_has_additions_sixteen_bytes();
    _impl_.compressed_additions_.additions_sixteen_bytes_ = reinterpret_cast<::google::protobuf::MessageLite*>(
        ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit>(GetArena()));
  }
  return reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit*>(_impl_.compressed_additions_.additions_sixteen_bytes_);
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* PROTOBUF_NONNULL HashList::mutable_additions_sixteen_bytes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded128Bit* _msg = _internal_mutable_additions_sixteen_bytes();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.additions_sixteen_bytes)
  return _msg;
}

// .mozilla.safebrowsing.v5.RiceDeltaEncoded256Bit additions_thirty_two_bytes = 11;
inline bool HashList::has_additions_thirty_two_bytes() const {
  return compressed_additions_case() == kAdditionsThirtyTwoBytes;
}
inline bool HashList::_internal_has_additions_thirty_two_bytes() const {
  return compressed_additions_case() == kAdditionsThirtyTwoBytes;
}
inline void HashList::set_has_additions_thirty_two_bytes() {
  _impl_._oneof_case_[0] = kAdditionsThirtyTwoBytes;
}
inline void HashList::clear_additions_thirty_two_bytes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (compressed_additions_case() == kAdditionsThirtyTwoBytes) {
    if (GetArena() == nullptr) {
      delete _impl_.compressed_additions_.additions_thirty_two_bytes_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.compressed_additions_.additions_thirty_two_bytes_ != nullptr) {
        _impl_.compressed_additions_.additions_thirty_two_bytes_->Clear();
      }
    }
    clear_has_compressed_additions();
  }
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NULLABLE HashList::release_additions_thirty_two_bytes() {
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.additions_thirty_two_bytes)
  if (compressed_additions_case() == kAdditionsThirtyTwoBytes) {
    clear_has_compressed_additions();
    auto* temp = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit*>(_impl_.compressed_additions_.additions_thirty_two_bytes_);
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.compressed_additions_.additions_thirty_two_bytes_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit& HashList::_internal_additions_thirty_two_bytes() const {
  return compressed_additions_case() == kAdditionsThirtyTwoBytes ? static_cast<const ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit&>(*reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit*>(_impl_.compressed_additions_.additions_thirty_two_bytes_))
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit>(&::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit_globals_);
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit& HashList::additions_thirty_two_bytes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.additions_thirty_two_bytes)
  return _internal_additions_thirty_two_bytes();
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NULLABLE HashList::unsafe_arena_release_additions_thirty_two_bytes() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mozilla.safebrowsing.v5.HashList.additions_thirty_two_bytes)
  if (compressed_additions_case() == kAdditionsThirtyTwoBytes) {
    clear_has_compressed_additions();
    auto* temp = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit*>(_impl_.compressed_additions_.additions_thirty_two_bytes_);
    _impl_.compressed_additions_.additions_thirty_two_bytes_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void HashList::unsafe_arena_set_allocated_additions_thirty_two_bytes(
    ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_compressed_additions();
  if (value) {
    set_has_additions_thirty_two_bytes();
    _impl_.compressed_additions_.additions_thirty_two_bytes_ = reinterpret_cast<::google::protobuf::MessageLite*>(value);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.HashList.additions_thirty_two_bytes)
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NONNULL HashList::_internal_mutable_additions_thirty_two_bytes() {
  if (compressed_additions_case() != kAdditionsThirtyTwoBytes) {
    clear_compressed_additions();
    set_has_additions_thirty_two_bytes();
    _impl_.compressed_additions_.additions_thirty_two_bytes_ = reinterpret_cast<::google::protobuf::MessageLite*>(
        ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit>(GetArena()));
  }
  return reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit*>(_impl_.compressed_additions_.additions_thirty_two_bytes_);
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* PROTOBUF_NONNULL HashList::mutable_additions_thirty_two_bytes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded256Bit* _msg = _internal_mutable_additions_thirty_two_bytes();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.additions_thirty_two_bytes)
  return _msg;
}

// string name = 1;
inline void HashList::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& HashList::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void HashList::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.HashList.name)
}
inline ::std::string* PROTOBUF_NONNULL HashList::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.name)
  return _s;
}
inline const ::std::string& HashList::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void HashList::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL HashList::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE HashList::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void HashList::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.HashList.name)
}

// bytes version = 2;
inline void HashList::clear_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& HashList::version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.version)
  return _internal_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void HashList::set_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.version_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.HashList.version)
}
inline ::std::string* PROTOBUF_NONNULL HashList::mutable_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.version)
  return _s;
}
inline const ::std::string& HashList::_internal_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.version_.Get();
}
inline void HashList::_internal_set_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL HashList::_internal_mutable_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE HashList::release_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.version)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.version_.Set("", GetArena());
  }
  return released;
}
inline void HashList::set_allocated_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.HashList.version)
}

// bool partial_update = 3;
inline void HashList::clear_partial_update() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.partial_update_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline bool HashList::partial_update() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.partial_update)
  return _internal_partial_update();
}
inline void HashList::set_partial_update(bool value) {
  _internal_set_partial_update(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.HashList.partial_update)
}
inline bool HashList::_internal_partial_update() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.partial_update_;
}
inline void HashList::_internal_set_partial_update(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.partial_update_ = value;
}

// .mozilla.safebrowsing.v5.RiceDeltaEncoded32Bit compressed_removals = 5;
inline bool HashList::has_compressed_removals() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.compressed_removals_ != nullptr);
  return value;
}
inline void HashList::clear_compressed_removals() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.compressed_removals_ != nullptr) _impl_.compressed_removals_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit& HashList::_internal_compressed_removals() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* p = _impl_.compressed_removals_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit>(&::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit_globals_);
}
inline const ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit& HashList::compressed_removals() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.compressed_removals)
  return _internal_compressed_removals();
}
inline void HashList::unsafe_arena_set_allocated_compressed_removals(
    ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.compressed_removals_);
  }
  _impl_.compressed_removals_ = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.HashList.compressed_removals)
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE HashList::release_compressed_removals() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* released = _impl_.compressed_removals_;
  _impl_.compressed_removals_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE HashList::unsafe_arena_release_compressed_removals() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.compressed_removals)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* temp = _impl_.compressed_removals_;
  _impl_.compressed_removals_ = nullptr;
  return temp;
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NONNULL HashList::_internal_mutable_compressed_removals() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.compressed_removals_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit>(GetArena());
    _impl_.compressed_removals_ = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit*>(p);
  }
  return _impl_.compressed_removals_;
}
inline ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NONNULL HashList::mutable_compressed_removals()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* _msg = _internal_mutable_compressed_removals();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.compressed_removals)
  return _msg;
}
inline void HashList::set_allocated_compressed_removals(::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.compressed_removals_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.compressed_removals_ = reinterpret_cast<::mozilla::safebrowsing::v5::RiceDeltaEncoded32Bit*>(value);
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.HashList.compressed_removals)
}

// .mozilla.safebrowsing.v5.Duration minimum_wait_duration = 6;
inline bool HashList::has_minimum_wait_duration() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.minimum_wait_duration_ != nullptr);
  return value;
}
inline void HashList::clear_minimum_wait_duration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.minimum_wait_duration_ != nullptr) _impl_.minimum_wait_duration_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::mozilla::safebrowsing::v5::Duration& HashList::_internal_minimum_wait_duration() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::mozilla::safebrowsing::v5::Duration* p = _impl_.minimum_wait_duration_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::Duration>(&::mozilla::safebrowsing::v5::Duration_globals_);
}
inline const ::mozilla::safebrowsing::v5::Duration& HashList::minimum_wait_duration() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.minimum_wait_duration)
  return _internal_minimum_wait_duration();
}
inline void HashList::unsafe_arena_set_allocated_minimum_wait_duration(
    ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.minimum_wait_duration_);
  }
  _impl_.minimum_wait_duration_ = reinterpret_cast<::mozilla::safebrowsing::v5::Duration*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.HashList.minimum_wait_duration)
}
inline ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE HashList::release_minimum_wait_duration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::mozilla::safebrowsing::v5::Duration* released = _impl_.minimum_wait_duration_;
  _impl_.minimum_wait_duration_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE HashList::unsafe_arena_release_minimum_wait_duration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.minimum_wait_duration)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::mozilla::safebrowsing::v5::Duration* temp = _impl_.minimum_wait_duration_;
  _impl_.minimum_wait_duration_ = nullptr;
  return temp;
}
inline ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NONNULL HashList::_internal_mutable_minimum_wait_duration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.minimum_wait_duration_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::Duration>(GetArena());
    _impl_.minimum_wait_duration_ = reinterpret_cast<::mozilla::safebrowsing::v5::Duration*>(p);
  }
  return _impl_.minimum_wait_duration_;
}
inline ::mozilla::safebrowsing::v5::Duration* PROTOBUF_NONNULL HashList::mutable_minimum_wait_duration()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::mozilla::safebrowsing::v5::Duration* _msg = _internal_mutable_minimum_wait_duration();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.minimum_wait_duration)
  return _msg;
}
inline void HashList::set_allocated_minimum_wait_duration(::mozilla::safebrowsing::v5::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.minimum_wait_duration_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.minimum_wait_duration_ = reinterpret_cast<::mozilla::safebrowsing::v5::Duration*>(value);
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.HashList.minimum_wait_duration)
}

// bytes sha256_checksum = 7;
inline void HashList::clear_sha256_checksum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sha256_checksum_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& HashList::sha256_checksum() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.sha256_checksum)
  return _internal_sha256_checksum();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void HashList::set_sha256_checksum(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.sha256_checksum_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.HashList.sha256_checksum)
}
inline ::std::string* PROTOBUF_NONNULL HashList::mutable_sha256_checksum()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_sha256_checksum();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.sha256_checksum)
  return _s;
}
inline const ::std::string& HashList::_internal_sha256_checksum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.sha256_checksum_.Get();
}
inline void HashList::_internal_set_sha256_checksum(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sha256_checksum_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL HashList::_internal_mutable_sha256_checksum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.sha256_checksum_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE HashList::release_sha256_checksum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.sha256_checksum)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.sha256_checksum_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.sha256_checksum_.Set("", GetArena());
  }
  return released;
}
inline void HashList::set_allocated_sha256_checksum(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.sha256_checksum_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.sha256_checksum_.IsDefault()) {
    _impl_.sha256_checksum_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.HashList.sha256_checksum)
}

// .mozilla.safebrowsing.v5.HashListMetadata metadata = 8;
inline bool HashList::has_metadata() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  PROTOBUF_ASSUME(!value || _impl_.metadata_ != nullptr);
  return value;
}
inline void HashList::clear_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.metadata_ != nullptr) _impl_.metadata_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline const ::mozilla::safebrowsing::v5::HashListMetadata& HashList::_internal_metadata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::mozilla::safebrowsing::v5::HashListMetadata* p = _impl_.metadata_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::HashListMetadata>(&::mozilla::safebrowsing::v5::HashListMetadata_globals_);
}
inline const ::mozilla::safebrowsing::v5::HashListMetadata& HashList::metadata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.HashList.metadata)
  return _internal_metadata();
}
inline void HashList::unsafe_arena_set_allocated_metadata(
    ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.metadata_);
  }
  _impl_.metadata_ = reinterpret_cast<::mozilla::safebrowsing::v5::HashListMetadata*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.HashList.metadata)
}
inline ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE HashList::release_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::mozilla::safebrowsing::v5::HashListMetadata* released = _impl_.metadata_;
  _impl_.metadata_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE HashList::unsafe_arena_release_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.HashList.metadata)

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::mozilla::safebrowsing::v5::HashListMetadata* temp = _impl_.metadata_;
  _impl_.metadata_ = nullptr;
  return temp;
}
inline ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NONNULL HashList::_internal_mutable_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.metadata_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::HashListMetadata>(GetArena());
    _impl_.metadata_ = reinterpret_cast<::mozilla::safebrowsing::v5::HashListMetadata*>(p);
  }
  return _impl_.metadata_;
}
inline ::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NONNULL HashList::mutable_metadata()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::mozilla::safebrowsing::v5::HashListMetadata* _msg = _internal_mutable_metadata();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.HashList.metadata)
  return _msg;
}
inline void HashList::set_allocated_metadata(::mozilla::safebrowsing::v5::HashListMetadata* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.metadata_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }

  _impl_.metadata_ = reinterpret_cast<::mozilla::safebrowsing::v5::HashListMetadata*>(value);
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.HashList.metadata)
}

inline bool HashList::has_compressed_additions() const {
  return compressed_additions_case() != COMPRESSED_ADDITIONS_NOT_SET;
}
inline void HashList::clear_has_compressed_additions() {
  _impl_._oneof_case_[0] = COMPRESSED_ADDITIONS_NOT_SET;
}
inline HashList::CompressedAdditionsCase HashList::compressed_additions_case() const {
  return HashList::CompressedAdditionsCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// BatchGetHashListsRequest

// repeated string names = 1;
inline int BatchGetHashListsRequest::_internal_names_size() const {
  return _internal_names().size();
}
inline int BatchGetHashListsRequest::names_size() const {
  return _internal_names_size();
}
inline void BatchGetHashListsRequest::clear_names() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.names_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL BatchGetHashListsRequest::add_names()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_names()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:mozilla.safebrowsing.v5.BatchGetHashListsRequest.names)
  return _s;
}
inline const ::std::string& BatchGetHashListsRequest::names(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.BatchGetHashListsRequest.names)
  return _internal_names().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL BatchGetHashListsRequest::mutable_names(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.BatchGetHashListsRequest.names)
  return _internal_mutable_names()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void BatchGetHashListsRequest::set_names(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_names()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.BatchGetHashListsRequest.names)
}
template <typename Arg_, typename... Args_>
inline void BatchGetHashListsRequest::add_names(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_names(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.BatchGetHashListsRequest.names)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& BatchGetHashListsRequest::names()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.BatchGetHashListsRequest.names)
  return _internal_names();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
BatchGetHashListsRequest::mutable_names() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.BatchGetHashListsRequest.names)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_names();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
BatchGetHashListsRequest::_internal_names() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.names_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
BatchGetHashListsRequest::_internal_mutable_names() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.names_;
}

// repeated bytes version = 2;
inline int BatchGetHashListsRequest::_internal_version_size() const {
  return _internal_version().size();
}
inline int BatchGetHashListsRequest::version_size() const {
  return _internal_version_size();
}
inline void BatchGetHashListsRequest::clear_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::std::string* PROTOBUF_NONNULL BatchGetHashListsRequest::add_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_version()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add_mutable:mozilla.safebrowsing.v5.BatchGetHashListsRequest.version)
  return _s;
}
inline const ::std::string& BatchGetHashListsRequest::version(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.BatchGetHashListsRequest.version)
  return _internal_version().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL BatchGetHashListsRequest::mutable_version(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.BatchGetHashListsRequest.version)
  return _internal_mutable_version()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void BatchGetHashListsRequest::set_version(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_version()->Mutable(index),
      ::std::forward<Arg_>(value), args... , ::google::protobuf::internal::BytesTag{});
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.BatchGetHashListsRequest.version)
}
template <typename Arg_, typename... Args_>
inline void BatchGetHashListsRequest::add_version(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_version(), ::std::forward<Arg_>(value),
      args... , ::google::protobuf::internal::BytesTag{});
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.BatchGetHashListsRequest.version)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& BatchGetHashListsRequest::version()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.BatchGetHashListsRequest.version)
  return _internal_version();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
BatchGetHashListsRequest::mutable_version() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.BatchGetHashListsRequest.version)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_version();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
BatchGetHashListsRequest::_internal_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.version_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
BatchGetHashListsRequest::_internal_mutable_version() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.version_;
}

// .mozilla.safebrowsing.v5.SizeConstraints size_constraints = 4;
inline bool BatchGetHashListsRequest::has_size_constraints() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.size_constraints_ != nullptr);
  return value;
}
inline void BatchGetHashListsRequest::clear_size_constraints() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.size_constraints_ != nullptr) _impl_.size_constraints_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::mozilla::safebrowsing::v5::SizeConstraints& BatchGetHashListsRequest::_internal_size_constraints() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::mozilla::safebrowsing::v5::SizeConstraints* p = _impl_.size_constraints_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::mozilla::safebrowsing::v5::SizeConstraints>(&::mozilla::safebrowsing::v5::SizeConstraints_globals_);
}
inline const ::mozilla::safebrowsing::v5::SizeConstraints& BatchGetHashListsRequest::size_constraints() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.BatchGetHashListsRequest.size_constraints)
  return _internal_size_constraints();
}
inline void BatchGetHashListsRequest::unsafe_arena_set_allocated_size_constraints(
    ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.size_constraints_);
  }
  _impl_.size_constraints_ = reinterpret_cast<::mozilla::safebrowsing::v5::SizeConstraints*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mozilla.safebrowsing.v5.BatchGetHashListsRequest.size_constraints)
}
inline ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE BatchGetHashListsRequest::release_size_constraints() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::mozilla::safebrowsing::v5::SizeConstraints* released = _impl_.size_constraints_;
  _impl_.size_constraints_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE BatchGetHashListsRequest::unsafe_arena_release_size_constraints() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.BatchGetHashListsRequest.size_constraints)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::mozilla::safebrowsing::v5::SizeConstraints* temp = _impl_.size_constraints_;
  _impl_.size_constraints_ = nullptr;
  return temp;
}
inline ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NONNULL BatchGetHashListsRequest::_internal_mutable_size_constraints() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.size_constraints_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::mozilla::safebrowsing::v5::SizeConstraints>(GetArena());
    _impl_.size_constraints_ = reinterpret_cast<::mozilla::safebrowsing::v5::SizeConstraints*>(p);
  }
  return _impl_.size_constraints_;
}
inline ::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NONNULL BatchGetHashListsRequest::mutable_size_constraints()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::mozilla::safebrowsing::v5::SizeConstraints* _msg = _internal_mutable_size_constraints();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.BatchGetHashListsRequest.size_constraints)
  return _msg;
}
inline void BatchGetHashListsRequest::set_allocated_size_constraints(::mozilla::safebrowsing::v5::SizeConstraints* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.size_constraints_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.size_constraints_ = reinterpret_cast<::mozilla::safebrowsing::v5::SizeConstraints*>(value);
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.BatchGetHashListsRequest.size_constraints)
}

// -------------------------------------------------------------------

// BatchGetHashListsResponse

// repeated .mozilla.safebrowsing.v5.HashList hash_lists = 1;
inline int BatchGetHashListsResponse::_internal_hash_lists_size() const {
  return _internal_hash_lists().size();
}
inline int BatchGetHashListsResponse::hash_lists_size() const {
  return _internal_hash_lists_size();
}
inline void BatchGetHashListsResponse::clear_hash_lists() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hash_lists_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::mozilla::safebrowsing::v5::HashList& BatchGetHashListsResponse::hash_lists(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.BatchGetHashListsResponse.hash_lists)
  return _internal_hash_lists().Get(index);
}
inline ::mozilla::safebrowsing::v5::HashList* PROTOBUF_NONNULL BatchGetHashListsResponse::mutable_hash_lists(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.BatchGetHashListsResponse.hash_lists)
  return _internal_mutable_hash_lists()->Mutable(index);
}
inline ::mozilla::safebrowsing::v5::HashList* PROTOBUF_NONNULL BatchGetHashListsResponse::add_hash_lists()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::mozilla::safebrowsing::v5::HashList* _add =
      _internal_mutable_hash_lists()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.BatchGetHashListsResponse.hash_lists)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>& BatchGetHashListsResponse::hash_lists() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.BatchGetHashListsResponse.hash_lists)
  return _internal_hash_lists();
}
inline ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>* PROTOBUF_NONNULL
BatchGetHashListsResponse::mutable_hash_lists() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.BatchGetHashListsResponse.hash_lists)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_hash_lists();
}
inline const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>&
BatchGetHashListsResponse::_internal_hash_lists() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.hash_lists_;
}
inline ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>* PROTOBUF_NONNULL
BatchGetHashListsResponse::_internal_mutable_hash_lists() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.hash_lists_;
}

// -------------------------------------------------------------------

// ListHashListsRequest

// int32 page_size = 1;
inline void ListHashListsRequest::clear_page_size() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_size_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int32_t ListHashListsRequest::page_size() const {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.ListHashListsRequest.page_size)
  return _internal_page_size();
}
inline void ListHashListsRequest::set_page_size(::int32_t value) {
  _internal_set_page_size(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.ListHashListsRequest.page_size)
}
inline ::int32_t ListHashListsRequest::_internal_page_size() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.page_size_;
}
inline void ListHashListsRequest::_internal_set_page_size(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_size_ = value;
}

// string page_token = 2;
inline void ListHashListsRequest::clear_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ListHashListsRequest::page_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.ListHashListsRequest.page_token)
  return _internal_page_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ListHashListsRequest::set_page_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.page_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.ListHashListsRequest.page_token)
}
inline ::std::string* PROTOBUF_NONNULL ListHashListsRequest::mutable_page_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_page_token();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.ListHashListsRequest.page_token)
  return _s;
}
inline const ::std::string& ListHashListsRequest::_internal_page_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.page_token_.Get();
}
inline void ListHashListsRequest::_internal_set_page_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ListHashListsRequest::_internal_mutable_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.page_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ListHashListsRequest::release_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.ListHashListsRequest.page_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.page_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.page_token_.Set("", GetArena());
  }
  return released;
}
inline void ListHashListsRequest::set_allocated_page_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.page_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.page_token_.IsDefault()) {
    _impl_.page_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.ListHashListsRequest.page_token)
}

// -------------------------------------------------------------------

// ListHashListsResponse

// repeated .mozilla.safebrowsing.v5.HashList hash_lists = 1;
inline int ListHashListsResponse::_internal_hash_lists_size() const {
  return _internal_hash_lists().size();
}
inline int ListHashListsResponse::hash_lists_size() const {
  return _internal_hash_lists_size();
}
inline void ListHashListsResponse::clear_hash_lists() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hash_lists_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::mozilla::safebrowsing::v5::HashList& ListHashListsResponse::hash_lists(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.ListHashListsResponse.hash_lists)
  return _internal_hash_lists().Get(index);
}
inline ::mozilla::safebrowsing::v5::HashList* PROTOBUF_NONNULL ListHashListsResponse::mutable_hash_lists(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.ListHashListsResponse.hash_lists)
  return _internal_mutable_hash_lists()->Mutable(index);
}
inline ::mozilla::safebrowsing::v5::HashList* PROTOBUF_NONNULL ListHashListsResponse::add_hash_lists()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::mozilla::safebrowsing::v5::HashList* _add =
      _internal_mutable_hash_lists()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:mozilla.safebrowsing.v5.ListHashListsResponse.hash_lists)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>& ListHashListsResponse::hash_lists() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:mozilla.safebrowsing.v5.ListHashListsResponse.hash_lists)
  return _internal_hash_lists();
}
inline ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>* PROTOBUF_NONNULL
ListHashListsResponse::mutable_hash_lists() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:mozilla.safebrowsing.v5.ListHashListsResponse.hash_lists)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_hash_lists();
}
inline const ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>&
ListHashListsResponse::_internal_hash_lists() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.hash_lists_;
}
inline ::google::protobuf::RepeatedPtrField<::mozilla::safebrowsing::v5::HashList>* PROTOBUF_NONNULL
ListHashListsResponse::_internal_mutable_hash_lists() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.hash_lists_;
}

// string next_page_token = 2;
inline void ListHashListsResponse::clear_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.next_page_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ListHashListsResponse::next_page_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:mozilla.safebrowsing.v5.ListHashListsResponse.next_page_token)
  return _internal_next_page_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ListHashListsResponse::set_next_page_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.next_page_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:mozilla.safebrowsing.v5.ListHashListsResponse.next_page_token)
}
inline ::std::string* PROTOBUF_NONNULL ListHashListsResponse::mutable_next_page_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_next_page_token();
  // @@protoc_insertion_point(field_mutable:mozilla.safebrowsing.v5.ListHashListsResponse.next_page_token)
  return _s;
}
inline const ::std::string& ListHashListsResponse::_internal_next_page_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.next_page_token_.Get();
}
inline void ListHashListsResponse::_internal_set_next_page_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.next_page_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ListHashListsResponse::_internal_mutable_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.next_page_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ListHashListsResponse::release_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:mozilla.safebrowsing.v5.ListHashListsResponse.next_page_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.next_page_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.next_page_token_.Set("", GetArena());
  }
  return released;
}
inline void ListHashListsResponse::set_allocated_next_page_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.next_page_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.next_page_token_.IsDefault()) {
    _impl_.next_page_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.safebrowsing.v5.ListHashListsResponse.next_page_token)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v5
}  // namespace safebrowsing
}  // namespace mozilla


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::mozilla::safebrowsing::v5::HashListMetadata_HashLength> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::mozilla::safebrowsing::v5::HashListMetadata_HashLength> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::mozilla::safebrowsing::v5::HashListMetadata_HashLength_Parse;
  static constexpr auto kNameFunc = ::mozilla::safebrowsing::v5::HashListMetadata_HashLength_Name<int>;
};
template <>
struct is_proto_enum<::mozilla::safebrowsing::v5::ThreatType> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::mozilla::safebrowsing::v5::ThreatType> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::mozilla::safebrowsing::v5::ThreatType_Parse;
  static constexpr auto kNameFunc = ::mozilla::safebrowsing::v5::ThreatType_Name<int>;
};
template <>
struct is_proto_enum<::mozilla::safebrowsing::v5::LikelySafeType> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::mozilla::safebrowsing::v5::LikelySafeType> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::mozilla::safebrowsing::v5::LikelySafeType_Parse;
  static constexpr auto kNameFunc = ::mozilla::safebrowsing::v5::LikelySafeType_Name<int>;
};
template <>
struct is_proto_enum<::mozilla::safebrowsing::v5::ThreatAttribute> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::mozilla::safebrowsing::v5::ThreatAttribute> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::mozilla::safebrowsing::v5::ThreatAttribute_Parse;
  static constexpr auto kNameFunc = ::mozilla::safebrowsing::v5::ThreatAttribute_Name<int>;
};

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // safebrowsing_5fv5_2eproto_2epb_2eh
