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

#include "components/reporting/proto/synced/metric_data.pb.h"

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

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

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


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

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

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

constexpr WebsiteOpenedData::ParseTableT_ WebsiteOpenedData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::WebsiteOpenedData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string url = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_.url_)}},
      // optional int32 render_process_host_id = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_.render_process_host_id_)}},
      // optional int32 render_frame_routing_id = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_.render_frame_routing_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string url = 1;
      {PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 render_process_host_id = 2;
      {PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_.render_process_host_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 render_frame_routing_id = 3;
      {PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_.render_frame_routing_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr WebsiteClosedData::ParseTableT_ WebsiteClosedData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::WebsiteClosedData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string url = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_.url_)}},
      // optional int32 render_process_host_id = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_.render_process_host_id_)}},
      // optional int32 render_frame_routing_id = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_.render_frame_routing_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string url = 1;
      {PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 render_process_host_id = 2;
      {PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_.render_process_host_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 render_frame_routing_id = 3;
      {PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_.render_frame_routing_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr UserStatusTelemetry::ParseTableT_ UserStatusTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(UserStatusTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::UserStatusTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .reporting.UserStatusTelemetry.DeviceActivityState device_activity_state = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 0, 3,
        PROTOBUF_FIELD_OFFSET(UserStatusTelemetry, _impl_.device_activity_state_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.UserStatusTelemetry.DeviceActivityState device_activity_state = 1;
      {PROTOBUF_FIELD_OFFSET(UserStatusTelemetry, _impl_.device_activity_state_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 3},
    }},
    {{
    }},
  };
}


inline constexpr UserStatusTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        device_activity_state_{static_cast< ::reporting::UserStatusTelemetry_DeviceActivityState >(0)} {}

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

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

constexpr UsbTelemetry::ParseTableT_ UsbTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::UsbTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string firmware_version = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 3, 0,
        PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.firmware_version_)}},
      // optional string vendor = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.vendor_)}},
      // optional string name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.name_)}},
      // optional int32 vid = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.vid_)}},
      // optional int32 pid = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.pid_)}},
      // repeated string categories = 5;
      {::_pbi::TcParser::FastBR1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.categories_)}},
      // optional int32 class_id = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 6, 0,
        PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.class_id_)}},
      // optional int32 subclass_id = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 7, 0,
        PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.subclass_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string vendor = 1;
      {PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.vendor_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string name = 2;
      {PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 vid = 3;
      {PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.vid_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 pid = 4;
      {PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.pid_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated string categories = 5;
      {PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.categories_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional int32 class_id = 6;
      {PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.class_id_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 subclass_id = 7;
      {PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.subclass_id_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string firmware_version = 8;
      {PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.firmware_version_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr UsbTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        categories_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::UsbTelemetry,
            PROTOBUF_FIELD_OFFSET(::reporting::UsbTelemetry, _impl_.categories_)>()
         }
        ,
        vendor_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        firmware_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        vid_{0},
        pid_{0},
        class_id_{0},
        subclass_id_{0} {}

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

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

constexpr TouchScreenDevice::ParseTableT_ TouchScreenDevice::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::TouchScreenDevice>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string display_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_.display_name_)}},
      // optional int32 touch_points = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_.touch_points_)}},
      // optional bool has_stylus = 3;
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_.has_stylus_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string display_name = 1;
      {PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 touch_points = 2;
      {PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_.touch_points_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional bool has_stylus = 3;
      {PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_.has_stylus_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr TouchScreenDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        display_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        touch_points_{0},
        has_stylus_{false} {}

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

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

constexpr TotalMemoryEncryptionInfo::ParseTableT_ TotalMemoryEncryptionInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::TotalMemoryEncryptionInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .reporting.MemoryEncryptionAlgorithm encryption_algorithm = 4;
      {::_pbi::TcParser::FastEr0S1,
       {32, 2, 3,
        PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_.encryption_algorithm_)}},
      // optional .reporting.MemoryEncryptionState encryption_state = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 1, 4,
        PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_.encryption_state_)}},
      // optional int64 max_keys = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 0, 0,
        PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_.max_keys_)}},
      // optional int64 key_length = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_.key_length_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.MemoryEncryptionState encryption_state = 1;
      {PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_.encryption_state_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional int64 max_keys = 2;
      {PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_.max_keys_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 key_length = 3;
      {PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_.key_length_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional .reporting.MemoryEncryptionAlgorithm encryption_algorithm = 4;
      {PROTOBUF_FIELD_OFFSET(TotalMemoryEncryptionInfo, _impl_.encryption_algorithm_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 4},
        {0, 3},
    }},
    {{
    }},
  };
}


inline constexpr TotalMemoryEncryptionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        max_keys_{::int64_t{0}},
        encryption_state_{static_cast< ::reporting::MemoryEncryptionState >(0)},
        encryption_algorithm_{static_cast< ::reporting::MemoryEncryptionAlgorithm >(0)},
        key_length_{::int64_t{0}} {}

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

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

constexpr ThunderboltInfo::ParseTableT_ ThunderboltInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ThunderboltInfo, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::ThunderboltInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .reporting.ThunderboltSecurityLevel security_level = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 0, 6,
        PROTOBUF_FIELD_OFFSET(ThunderboltInfo, _impl_.security_level_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.ThunderboltSecurityLevel security_level = 1;
      {PROTOBUF_FIELD_OFFSET(ThunderboltInfo, _impl_.security_level_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 6},
    }},
    {{
    }},
  };
}


inline constexpr ThunderboltInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        security_level_{static_cast< ::reporting::ThunderboltSecurityLevel >(0)} {}

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

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

constexpr SignalStrengthEventData::ParseTableT_ SignalStrengthEventData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SignalStrengthEventData, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::SignalStrengthEventData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int32 signal_strength_dbm = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(SignalStrengthEventData, _impl_.signal_strength_dbm_)}},
      // optional string guid = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SignalStrengthEventData, _impl_.guid_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string guid = 1;
      {PROTOBUF_FIELD_OFFSET(SignalStrengthEventData, _impl_.guid_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 signal_strength_dbm = 2;
      {PROTOBUF_FIELD_OFFSET(SignalStrengthEventData, _impl_.signal_strength_dbm_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr RuntimeCountersTelemetry::ParseTableT_ RuntimeCountersTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::RuntimeCountersTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int64 counter_enter_poweroff = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.counter_enter_poweroff_)}},
      // optional int64 uptime_runtime_seconds = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.uptime_runtime_seconds_)}},
      // optional int64 counter_enter_sleep = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.counter_enter_sleep_)}},
      // optional int64 counter_enter_hibernation = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.counter_enter_hibernation_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 uptime_runtime_seconds = 1;
      {PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.uptime_runtime_seconds_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 counter_enter_sleep = 2;
      {PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.counter_enter_sleep_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 counter_enter_hibernation = 3;
      {PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.counter_enter_hibernation_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 counter_enter_poweroff = 4;
      {PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.counter_enter_poweroff_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr RuntimeCountersTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        uptime_runtime_seconds_{::int64_t{0}},
        counter_enter_sleep_{::int64_t{0}},
        counter_enter_hibernation_{::int64_t{0}},
        counter_enter_poweroff_{::int64_t{0}} {}

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

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

constexpr PrivacyScreenInfo::ParseTableT_ PrivacyScreenInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PrivacyScreenInfo, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::PrivacyScreenInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional bool supported = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PrivacyScreenInfo, _impl_.supported_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional bool supported = 1;
      {PROTOBUF_FIELD_OFFSET(PrivacyScreenInfo, _impl_.supported_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr NetworkTelemetry::ParseTableT_ NetworkTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      19, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294443136,  // skipmap
      offsetof(ParseTableT_, field_entries),
      18,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::NetworkTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string guid = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.guid_)}},
      // optional .reporting.NetworkConnectionState connection_state = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 6, 5,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.connection_state_)}},
      // optional int32 signal_strength = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 7, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.signal_strength_)}},
      // optional string device_path = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.device_path_)}},
      // optional string ip_address = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.ip_address_)}},
      // optional string gateway = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.gateway_)}},
      // optional .reporting.NetworkType type = 7;
      {::_pbi::TcParser::FastEr0S1,
       {56, 9, 5,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.type_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 tx_bit_rate_mbps = 9;
      {::_pbi::TcParser::FastV64S1,
       {72, 8, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.tx_bit_rate_mbps_)}},
      // optional int64 rx_bit_rate_mbps = 10;
      {::_pbi::TcParser::FastV64S1,
       {80, 11, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.rx_bit_rate_mbps_)}},
      // optional int32 tx_power_dbm = 11;
      {::_pbi::TcParser::FastV32S1,
       {88, 10, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.tx_power_dbm_)}},
      // optional bool encryption_on = 12;
      {::_pbi::TcParser::FastV8S1,
       {96, 13, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.encryption_on_)}},
      // optional int64 link_quality = 13;
      {::_pbi::TcParser::FastV64S1,
       {104, 12, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.link_quality_)}},
      // optional bool power_management_enabled = 14;
      {::_pbi::TcParser::FastV8S1,
       {112, 14, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.power_management_enabled_)}},
      // optional int32 signal_strength_dbm = 15;
      {::_pbi::TcParser::FastV32S1,
       {120, 16, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.signal_strength_dbm_)}},
      // repeated string ipv6_address = 16;
      {::_pbi::TcParser::FastBR2,
       {386, 0, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.ipv6_address_)}},
      // optional string ipv6_gateway = 17;
      {::_pbi::TcParser::FastBS2,
       {394, 5, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.ipv6_gateway_)}},
      // optional bool is_metered = 18;
      {::_pbi::TcParser::FastV8S2,
       {400, 15, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.is_metered_)}},
      // optional int32 link_down_speed_kbps = 19;
      {::_pbi::TcParser::FastV32S2,
       {408, 17, 0,
        PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.link_down_speed_kbps_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string guid = 1;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.guid_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .reporting.NetworkConnectionState connection_state = 2;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.connection_state_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional int32 signal_strength = 3;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.signal_strength_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string device_path = 4;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.device_path_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string ip_address = 5;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.ip_address_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string gateway = 6;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.gateway_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .reporting.NetworkType type = 7;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.type_), _Internal::kHasBitsOffset + 9, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional int64 tx_bit_rate_mbps = 9;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.tx_bit_rate_mbps_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 rx_bit_rate_mbps = 10;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.rx_bit_rate_mbps_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int32 tx_power_dbm = 11;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.tx_power_dbm_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional bool encryption_on = 12;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.encryption_on_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional int64 link_quality = 13;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.link_quality_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool power_management_enabled = 14;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.power_management_enabled_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional int32 signal_strength_dbm = 15;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.signal_strength_dbm_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated string ipv6_address = 16;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.ipv6_address_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional string ipv6_gateway = 17;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.ipv6_gateway_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bool is_metered = 18;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.is_metered_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional int32 link_down_speed_kbps = 19;
      {PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.link_down_speed_kbps_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        {0, 5},
        {0, 5},
    }},
    {{
    }},
  };
}


inline constexpr NetworkTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        ipv6_address_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::NetworkTelemetry,
            PROTOBUF_FIELD_OFFSET(::reporting::NetworkTelemetry, _impl_.ipv6_address_)>()
         }
        ,
        guid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        device_path_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ip_address_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        gateway_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ipv6_gateway_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        connection_state_{static_cast< ::reporting::NetworkConnectionState >(0)},
        signal_strength_{0},
        tx_bit_rate_mbps_{::int64_t{0}},
        type_{static_cast< ::reporting::NetworkType >(0)},
        tx_power_dbm_{0},
        rx_bit_rate_mbps_{::int64_t{0}},
        link_quality_{::int64_t{0}},
        encryption_on_{false},
        power_management_enabled_{false},
        is_metered_{false},
        signal_strength_dbm_{0},
        link_down_speed_kbps_{0} {}

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

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

constexpr NetworkInterface::ParseTableT_ NetworkInterface::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::NetworkInterface>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated string eids = 8;
      {::_pbi::TcParser::FastBR1,
       {66, 0, 0,
        PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.eids_)}},
      // optional .reporting.NetworkDeviceType type = 1;
      {::_pbi::TcParser::FastEvS1,
       {8, 7, 0,
        PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.type_)}},
      // optional string mac_address = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.mac_address_)}},
      // optional string meid = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.meid_)}},
      // optional string imei = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.imei_)}},
      // optional string device_path = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 4, 0,
        PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.device_path_)}},
      // optional string iccid = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 5, 0,
        PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.iccid_)}},
      // optional string mdn = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 6, 0,
        PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.mdn_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.NetworkDeviceType type = 1;
      {PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.type_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // optional string mac_address = 2;
      {PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.mac_address_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string meid = 3;
      {PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.meid_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string imei = 4;
      {PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.imei_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string device_path = 5;
      {PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.device_path_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string iccid = 6;
      {PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.iccid_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string mdn = 7;
      {PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.mdn_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string eids = 8;
      {PROTOBUF_FIELD_OFFSET(NetworkInterface, _impl_.eids_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    }},
    {{
        {::_pbi::FieldAuxEnumData{}, ::reporting::NetworkDeviceType_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr NetworkInterface::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        eids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::NetworkInterface,
            PROTOBUF_FIELD_OFFSET(::reporting::NetworkInterface, _impl_.eids_)>()
         }
        ,
        mac_address_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        meid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        imei_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        device_path_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        iccid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        mdn_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_{static_cast< ::reporting::NetworkDeviceType >(0)} {}

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

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

constexpr NetworkConnectionStateChangeEventData::ParseTableT_ NetworkConnectionStateChangeEventData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NetworkConnectionStateChangeEventData, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::NetworkConnectionStateChangeEventData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .reporting.NetworkConnectionState connection_state = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 5,
        PROTOBUF_FIELD_OFFSET(NetworkConnectionStateChangeEventData, _impl_.connection_state_)}},
      // optional string guid = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(NetworkConnectionStateChangeEventData, _impl_.guid_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string guid = 1;
      {PROTOBUF_FIELD_OFFSET(NetworkConnectionStateChangeEventData, _impl_.guid_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .reporting.NetworkConnectionState connection_state = 2;
      {PROTOBUF_FIELD_OFFSET(NetworkConnectionStateChangeEventData, _impl_.connection_state_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 5},
    }},
    {{
    }},
  };
}


inline constexpr NetworkConnectionStateChangeEventData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        guid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        connection_state_{static_cast< ::reporting::NetworkConnectionState >(0)} {}

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

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

constexpr KioskVisionView::ParseTableT_ KioskVisionView::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(KioskVisionView, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::KioskVisionView>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int64 end_time_sec = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionView, _impl_.end_time_sec_)}},
      // optional int64 start_time_sec = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionView, _impl_.start_time_sec_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 start_time_sec = 1;
      {PROTOBUF_FIELD_OFFSET(KioskVisionView, _impl_.start_time_sec_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 end_time_sec = 2;
      {PROTOBUF_FIELD_OFFSET(KioskVisionView, _impl_.end_time_sec_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr KioskVisionStatusReport::ParseTableT_ KioskVisionStatusReport::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(KioskVisionStatusReport, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::KioskVisionStatusReport>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .reporting.KioskVisionStatusReport.KioskVisionState state = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 2, 2,
        PROTOBUF_FIELD_OFFSET(KioskVisionStatusReport, _impl_.state_)}},
      // optional int64 time_stamp_sec = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 0, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionStatusReport, _impl_.time_stamp_sec_)}},
      // optional int64 state_change_time_stamp_sec = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 1, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionStatusReport, _impl_.state_change_time_stamp_sec_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.KioskVisionStatusReport.KioskVisionState state = 1;
      {PROTOBUF_FIELD_OFFSET(KioskVisionStatusReport, _impl_.state_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional int64 time_stamp_sec = 2;
      {PROTOBUF_FIELD_OFFSET(KioskVisionStatusReport, _impl_.time_stamp_sec_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 state_change_time_stamp_sec = 3;
      {PROTOBUF_FIELD_OFFSET(KioskVisionStatusReport, _impl_.state_change_time_stamp_sec_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    {{
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr KioskVisionStatusReport::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        time_stamp_sec_{::int64_t{0}},
        state_change_time_stamp_sec_{::int64_t{0}},
        state_{static_cast< ::reporting::KioskVisionStatusReport_KioskVisionState >(0)} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST KioskVisionStatusReportGlobalsTypeInternal KioskVisionStatusReport_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* KioskVisionStatusReport_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return KioskVisionStatusReport_globals_.GetClassData();
#else
  return KioskVisionStatusReport_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class KioskHeartbeatTelemetry::_Internal {
 public:
};

constexpr KioskHeartbeatTelemetry::ParseTableT_ KioskHeartbeatTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(KioskHeartbeatTelemetry,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::KioskHeartbeatTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

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

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

constexpr KeylockerInfo::ParseTableT_ KeylockerInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(KeylockerInfo, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::KeylockerInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional bool configured = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(KeylockerInfo, _impl_.configured_)}},
      // optional bool supported = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(KeylockerInfo, _impl_.supported_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional bool supported = 1;
      {PROTOBUF_FIELD_OFFSET(KeylockerInfo, _impl_.supported_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool configured = 2;
      {PROTOBUF_FIELD_OFFSET(KeylockerInfo, _impl_.configured_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr HttpsLatencyRoutineData::ParseTableT_ HttpsLatencyRoutineData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(HttpsLatencyRoutineData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::HttpsLatencyRoutineData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .reporting.RoutineVerdict verdict = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 0, 3,
        PROTOBUF_FIELD_OFFSET(HttpsLatencyRoutineData, _impl_.verdict_)}},
      // optional .reporting.HttpsLatencyProblem problem = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 4,
        PROTOBUF_FIELD_OFFSET(HttpsLatencyRoutineData, _impl_.problem_)}},
      // optional int64 latency_ms = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(HttpsLatencyRoutineData, _impl_.latency_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.RoutineVerdict verdict = 1;
      {PROTOBUF_FIELD_OFFSET(HttpsLatencyRoutineData, _impl_.verdict_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .reporting.HttpsLatencyProblem problem = 2;
      {PROTOBUF_FIELD_OFFSET(HttpsLatencyRoutineData, _impl_.problem_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional int64 latency_ms = 3;
      {PROTOBUF_FIELD_OFFSET(HttpsLatencyRoutineData, _impl_.latency_ms_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    {{
        {0, 3},
        {0, 4},
    }},
    {{
    }},
  };
}


inline constexpr HttpsLatencyRoutineData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        verdict_{static_cast< ::reporting::RoutineVerdict >(0)},
        problem_{static_cast< ::reporting::HttpsLatencyProblem >(0)},
        latency_ms_{::int64_t{0}} {}

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

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

constexpr EventData::ParseTableT_ EventData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EventData, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::EventData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .reporting.MetricEventType type = 1;
      {::_pbi::TcParser::FastEvS1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(EventData, _impl_.type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.MetricEventType type = 1;
      {PROTOBUF_FIELD_OFFSET(EventData, _impl_.type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    }},
    {{
        {::_pbi::FieldAuxEnumData{}, ::reporting::MetricEventType_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr EventData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        type_{static_cast< ::reporting::MetricEventType >(0)} {}

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

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

constexpr DisplayStatus::ParseTableT_ DisplayStatus::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::DisplayStatus>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string display_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.display_name_)}},
      // optional int32 resolution_horizontal = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.resolution_horizontal_)}},
      // optional int32 resolution_vertical = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.resolution_vertical_)}},
      // optional int64 refresh_rate = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.refresh_rate_)}},
      // optional bool is_internal = 5;
      {::_pbi::TcParser::FastV8S1,
       {40, 5, 0,
        PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.is_internal_)}},
      // optional uint32 serial_number = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 6, 0,
        PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.serial_number_)}},
      // optional string edid_version = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 1, 0,
        PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.edid_version_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string display_name = 1;
      {PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 resolution_horizontal = 2;
      {PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.resolution_horizontal_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 resolution_vertical = 3;
      {PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.resolution_vertical_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int64 refresh_rate = 4;
      {PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.refresh_rate_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool is_internal = 5;
      {PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.is_internal_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional uint32 serial_number = 6;
      {PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.serial_number_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional string edid_version = 7;
      {PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.edid_version_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr DisplayStatus::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        display_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        edid_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        resolution_horizontal_{0},
        resolution_vertical_{0},
        refresh_rate_{::int64_t{0}},
        is_internal_{false},
        serial_number_{0u} {}

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

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

constexpr DisplayDevice::ParseTableT_ DisplayDevice::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_._has_bits_),
      0, // no _extensions_
      9, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966784,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::DisplayDevice>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string display_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.display_name_)}},
      // optional int32 display_width = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.display_width_)}},
      // optional int32 display_height = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.display_height_)}},
      // optional bool is_internal = 4;
      {::_pbi::TcParser::FastV8S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.is_internal_)}},
      // optional string manufacturer = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 1, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.manufacturer_)}},
      // optional int32 model_id = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 6, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.model_id_)}},
      // optional int32 manufacture_year = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 7, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.manufacture_year_)}},
      // optional uint32 serial_number = 8;
      {::_pbi::TcParser::FastV32S1,
       {64, 8, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.serial_number_)}},
      // optional string edid_version = 9;
      {::_pbi::TcParser::FastBS1,
       {74, 2, 0,
        PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.edid_version_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string display_name = 1;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.display_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 display_width = 2;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.display_width_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 display_height = 3;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.display_height_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional bool is_internal = 4;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.is_internal_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional string manufacturer = 5;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.manufacturer_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 model_id = 6;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.model_id_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 manufacture_year = 7;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.manufacture_year_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional uint32 serial_number = 8;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.serial_number_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional string edid_version = 9;
      {PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.edid_version_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr DisplayDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        display_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        manufacturer_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        edid_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        display_width_{0},
        display_height_{0},
        is_internal_{false},
        model_id_{0},
        manufacture_year_{0},
        serial_number_{0u} {}

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

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

constexpr BootPerformanceTelemetry::ParseTableT_ BootPerformanceTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::BootPerformanceTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 boot_up_seconds = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.boot_up_seconds_)}},
      // optional int64 boot_up_timestamp_seconds = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.boot_up_timestamp_seconds_)}},
      // optional int64 shutdown_seconds = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.shutdown_seconds_)}},
      // optional int64 shutdown_timestamp_seconds = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.shutdown_timestamp_seconds_)}},
      // optional string shutdown_reason = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.shutdown_reason_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 boot_up_seconds = 1;
      {PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.boot_up_seconds_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 boot_up_timestamp_seconds = 2;
      {PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.boot_up_timestamp_seconds_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 shutdown_seconds = 3;
      {PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.shutdown_seconds_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 shutdown_timestamp_seconds = 4;
      {PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.shutdown_timestamp_seconds_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional string shutdown_reason = 5;
      {PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.shutdown_reason_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr BootPerformanceTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        shutdown_reason_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        boot_up_seconds_{::int64_t{0}},
        boot_up_timestamp_seconds_{::int64_t{0}},
        shutdown_seconds_{::int64_t{0}},
        shutdown_timestamp_seconds_{::int64_t{0}} {}

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

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

constexpr BandwidthData::ParseTableT_ BandwidthData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BandwidthData, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::BandwidthData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int64 upload_speed_kbps = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(BandwidthData, _impl_.upload_speed_kbps_)}},
      // optional int64 download_speed_kbps = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BandwidthData, _impl_.download_speed_kbps_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 download_speed_kbps = 1;
      {PROTOBUF_FIELD_OFFSET(BandwidthData, _impl_.download_speed_kbps_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 upload_speed_kbps = 2;
      {PROTOBUF_FIELD_OFFSET(BandwidthData, _impl_.upload_speed_kbps_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr AudioTelemetry::ParseTableT_ AudioTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::AudioTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool output_mute = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.output_mute_)}},
      // optional bool input_mute = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.input_mute_)}},
      // optional int32 output_volume = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.output_volume_)}},
      // optional string output_device_name = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.output_device_name_)}},
      // optional int32 input_gain = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 5, 0,
        PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.input_gain_)}},
      // optional string input_device_name = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 1, 0,
        PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.input_device_name_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional bool output_mute = 1;
      {PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.output_mute_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool input_mute = 2;
      {PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.input_mute_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional int32 output_volume = 3;
      {PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.output_volume_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string output_device_name = 4;
      {PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.output_device_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 input_gain = 5;
      {PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.input_gain_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string input_device_name = 6;
      {PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.input_device_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr AudioTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        output_device_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        input_device_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        output_mute_{false},
        input_mute_{false},
        output_volume_{0},
        input_gain_{0} {}

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

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

constexpr AppUsageData_AppUsage::ParseTableT_ AppUsageData_AppUsage::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::AppUsageData_AppUsage>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string app_instance_id = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.app_instance_id_)}},
      // optional int64 running_time_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.running_time_ms_)}},
      // optional string app_id = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.app_id_)}},
      // optional .apps.ApplicationType app_type = 3;
      {::_pbi::TcParser::FastEvS1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.app_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 running_time_ms = 1;
      {PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.running_time_ms_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional string app_id = 2;
      {PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.app_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .apps.ApplicationType app_type = 3;
      {PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.app_type_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // optional string app_instance_id = 4;
      {PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.app_instance_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        {::_pbi::FieldAuxEnumData{}, ::apps::ApplicationType_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr AppUsageData_AppUsage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        app_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        app_instance_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        running_time_ms_{::int64_t{0}},
        app_type_{static_cast< ::apps::ApplicationType >(0)} {}

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

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

constexpr AppUninstallData::ParseTableT_ AppUninstallData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::AppUninstallData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .apps.ApplicationUninstallSource app_uninstall_source = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 1, 4,
        PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_.app_uninstall_source_)}},
      // optional string app_id = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_.app_id_)}},
      // optional .apps.ApplicationType app_type = 3;
      {::_pbi::TcParser::FastEvS1,
       {24, 2, 1,
        PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_.app_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .apps.ApplicationUninstallSource app_uninstall_source = 1;
      {PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_.app_uninstall_source_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string app_id = 2;
      {PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_.app_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .apps.ApplicationType app_type = 3;
      {PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_.app_type_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    }},
    {{
        {0, 4},
        {::_pbi::FieldAuxEnumData{}, ::apps::ApplicationType_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr AppUninstallData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        app_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        app_uninstall_source_{static_cast< ::apps::ApplicationUninstallSource >(0)},
        app_type_{static_cast< ::apps::ApplicationType >(0)} {}

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

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

constexpr AppLaunchData::ParseTableT_ AppLaunchData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::AppLaunchData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .apps.ApplicationLaunchSource app_launch_source = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 1, 44,
        PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_.app_launch_source_)}},
      // optional string app_id = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_.app_id_)}},
      // optional .apps.ApplicationType app_type = 3;
      {::_pbi::TcParser::FastEvS1,
       {24, 2, 1,
        PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_.app_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .apps.ApplicationLaunchSource app_launch_source = 1;
      {PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_.app_launch_source_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string app_id = 2;
      {PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_.app_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .apps.ApplicationType app_type = 3;
      {PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_.app_type_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    }},
    {{
        {0, 44},
        {::_pbi::FieldAuxEnumData{}, ::apps::ApplicationType_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr AppLaunchData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        app_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        app_launch_source_{static_cast< ::apps::ApplicationLaunchSource >(0)},
        app_type_{static_cast< ::apps::ApplicationType >(0)} {}

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

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

constexpr AppInstallData::ParseTableT_ AppInstallData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::AppInstallData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .apps.ApplicationInstallSource app_install_source = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 1, 5,
        PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_install_source_)}},
      // optional .apps.ApplicationInstallReason app_install_reason = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 2, 9,
        PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_install_reason_)}},
      // optional .apps.ApplicationInstallTime app_install_time = 3;
      {::_pbi::TcParser::FastEr0S1,
       {24, 3, 2,
        PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_install_time_)}},
      // optional string app_id = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_id_)}},
      // optional .apps.ApplicationType app_type = 5;
      {::_pbi::TcParser::FastEvS1,
       {40, 4, 3,
        PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_type_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .apps.ApplicationInstallSource app_install_source = 1;
      {PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_install_source_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .apps.ApplicationInstallReason app_install_reason = 2;
      {PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_install_reason_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .apps.ApplicationInstallTime app_install_time = 3;
      {PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_install_time_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string app_id = 4;
      {PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .apps.ApplicationType app_type = 5;
      {PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_type_), _Internal::kHasBitsOffset + 4, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    }},
    {{
        {0, 5},
        {0, 9},
        {0, 2},
        {::_pbi::FieldAuxEnumData{}, ::apps::ApplicationType_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr AppInstallData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        app_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        app_install_source_{static_cast< ::apps::ApplicationInstallSource >(0)},
        app_install_reason_{static_cast< ::apps::ApplicationInstallReason >(0)},
        app_install_time_{static_cast< ::apps::ApplicationInstallTime >(0)},
        app_type_{static_cast< ::apps::ApplicationType >(0)} {}

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

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

constexpr WebsiteUsageData::ParseTableT_ WebsiteUsageData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WebsiteUsageData, _impl_._has_bits_),
      0, // no _extensions_
      3, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967291,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::WebsiteUsageData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .reporting.WebsiteUsageData.WebsiteUsage website_usage = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(WebsiteUsageData, _impl_.website_usage_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .reporting.WebsiteUsageData.WebsiteUsage website_usage = 3;
      {PROTOBUF_FIELD_OFFSET(WebsiteUsageData, _impl_.website_usage_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::WebsiteUsageData_WebsiteUsage>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::WebsiteUsageData_WebsiteUsage_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr TouchScreenInfo::ParseTableT_ TouchScreenInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TouchScreenInfo, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::TouchScreenInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .reporting.TouchScreenDevice touch_screen_devices = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(TouchScreenInfo, _impl_.touch_screen_devices_)}},
      // optional string library_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(TouchScreenInfo, _impl_.library_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string library_name = 1;
      {PROTOBUF_FIELD_OFFSET(TouchScreenInfo, _impl_.library_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .reporting.TouchScreenDevice touch_screen_devices = 2;
      {PROTOBUF_FIELD_OFFSET(TouchScreenInfo, _impl_.touch_screen_devices_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::TouchScreenDevice>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::TouchScreenDevice_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TouchScreenInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        touch_screen_devices_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::TouchScreenInfo,
            PROTOBUF_FIELD_OFFSET(::reporting::TouchScreenInfo, _impl_.touch_screen_devices_)>()
         }
        ,
        library_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

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

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

constexpr PeripheralsTelemetry::ParseTableT_ PeripheralsTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PeripheralsTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::PeripheralsTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .reporting.UsbTelemetry usb_telemetry = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PeripheralsTelemetry, _impl_.usb_telemetry_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .reporting.UsbTelemetry usb_telemetry = 1;
      {PROTOBUF_FIELD_OFFSET(PeripheralsTelemetry, _impl_.usb_telemetry_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::UsbTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::UsbTelemetry_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr NetworksTelemetry::ParseTableT_ NetworksTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      5,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::NetworksTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .reporting.NetworkTelemetry network_telemetry = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.network_telemetry_)}},
      // optional .reporting.HttpsLatencyRoutineData https_latency_data = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.https_latency_data_)}},
      // optional .reporting.BandwidthData bandwidth_data = 3;
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.bandwidth_data_)}},
      // optional .reporting.NetworkConnectionStateChangeEventData network_connection_change_event_data = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 3, 3,
        PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.network_connection_change_event_data_)}},
      // optional .reporting.SignalStrengthEventData signal_strength_event_data = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 4, 4,
        PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.signal_strength_event_data_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .reporting.NetworkTelemetry network_telemetry = 1;
      {PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.network_telemetry_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.HttpsLatencyRoutineData https_latency_data = 2;
      {PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.https_latency_data_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.BandwidthData bandwidth_data = 3;
      {PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.bandwidth_data_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.NetworkConnectionStateChangeEventData network_connection_change_event_data = 4;
      {PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.network_connection_change_event_data_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.SignalStrengthEventData signal_strength_event_data = 5;
      {PROTOBUF_FIELD_OFFSET(NetworksTelemetry, _impl_.signal_strength_event_data_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::NetworkTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::NetworkTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::HttpsLatencyRoutineData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::HttpsLatencyRoutineData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::BandwidthData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::BandwidthData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::NetworkConnectionStateChangeEventData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::NetworkConnectionStateChangeEventData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::SignalStrengthEventData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::SignalStrengthEventData_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr NetworksTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        network_telemetry_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::NetworksTelemetry,
            PROTOBUF_FIELD_OFFSET(::reporting::NetworksTelemetry, _impl_.network_telemetry_)>()
         }
        ,
        https_latency_data_{nullptr},
        bandwidth_data_{nullptr},
        network_connection_change_event_data_{nullptr},
        signal_strength_event_data_{nullptr} {}

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

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

constexpr NetworksInfo::ParseTableT_ NetworksInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NetworksInfo, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::NetworksInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .reporting.NetworkInterface network_interfaces = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(NetworksInfo, _impl_.network_interfaces_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .reporting.NetworkInterface network_interfaces = 1;
      {PROTOBUF_FIELD_OFFSET(NetworksInfo, _impl_.network_interfaces_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::NetworkInterface>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::NetworkInterface_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr MemoryInfo::ParseTableT_ MemoryInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MemoryInfo, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::MemoryInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .reporting.TotalMemoryEncryptionInfo tme_info = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(MemoryInfo, _impl_.tme_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.TotalMemoryEncryptionInfo tme_info = 1;
      {PROTOBUF_FIELD_OFFSET(MemoryInfo, _impl_.tme_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::TotalMemoryEncryptionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::TotalMemoryEncryptionInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr KioskVisionAudience::ParseTableT_ KioskVisionAudience::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(KioskVisionAudience, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::KioskVisionAudience>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 presence_start_date_sec = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionAudience, _impl_.presence_start_date_sec_)}},
      // optional int64 presence_end_date_sec = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionAudience, _impl_.presence_end_date_sec_)}},
      // repeated .reporting.KioskVisionView views = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionAudience, _impl_.views_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 presence_start_date_sec = 1;
      {PROTOBUF_FIELD_OFFSET(KioskVisionAudience, _impl_.presence_start_date_sec_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 presence_end_date_sec = 2;
      {PROTOBUF_FIELD_OFFSET(KioskVisionAudience, _impl_.presence_end_date_sec_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // repeated .reporting.KioskVisionView views = 3;
      {PROTOBUF_FIELD_OFFSET(KioskVisionAudience, _impl_.views_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::KioskVisionView>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::KioskVisionView_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr KioskVisionAudience::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        views_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::KioskVisionAudience,
            PROTOBUF_FIELD_OFFSET(::reporting::KioskVisionAudience, _impl_.views_)>()
         }
        ,
        presence_start_date_sec_{::int64_t{0}},
        presence_end_date_sec_{::int64_t{0}} {}

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

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

constexpr FatalCrashTelemetry::ParseTableT_ FatalCrashTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::FatalCrashTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string event_based_log_id = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 2, 0,
        PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.event_based_log_id_)}},
      // optional .reporting.FatalCrashTelemetry.CrashType type = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 4, 3,
        PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.type_)}},
      // optional .reporting.FatalCrashTelemetry.SessionType session_type = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 5, 10,
        PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.session_type_)}},
      // optional int64 timestamp_us = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 6, 0,
        PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.timestamp_us_)}},
      // optional .reporting.SessionAffiliatedUser affiliated_user = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.affiliated_user_)}},
      // optional string crash_report_id = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.crash_report_id_)}},
      // optional string local_id = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 1, 0,
        PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.local_id_)}},
      // optional bool been_reported_without_crash_report_id = 7;
      {::_pbi::TcParser::FastV8S1,
       {56, 7, 0,
        PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.been_reported_without_crash_report_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.FatalCrashTelemetry.CrashType type = 1;
      {PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.type_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .reporting.FatalCrashTelemetry.SessionType session_type = 2;
      {PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.session_type_), _Internal::kHasBitsOffset + 5, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional int64 timestamp_us = 3;
      {PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.timestamp_us_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional .reporting.SessionAffiliatedUser affiliated_user = 4;
      {PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.affiliated_user_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string crash_report_id = 5;
      {PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.crash_report_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string local_id = 6;
      {PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.local_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bool been_reported_without_crash_report_id = 7;
      {PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.been_reported_without_crash_report_id_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional string event_based_log_id = 8;
      {PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.event_based_log_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::SessionAffiliatedUser>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::SessionAffiliatedUser_globals_},
        #endif
        {0, 3},
        {0, 10},
    }},
    {{
    }},
  };
}


inline constexpr FatalCrashTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        crash_report_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        local_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        event_based_log_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        affiliated_user_{nullptr},
        type_{static_cast< ::reporting::FatalCrashTelemetry_CrashType >(0)},
        session_type_{static_cast< ::reporting::FatalCrashTelemetry_SessionType >(0)},
        timestamp_us_{::int64_t{0}},
        been_reported_without_crash_report_id_{false} {}

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

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

constexpr DisplaysTelemetry::ParseTableT_ DisplaysTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DisplaysTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::DisplaysTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .reporting.DisplayStatus display_status = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DisplaysTelemetry, _impl_.display_status_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .reporting.DisplayStatus display_status = 1;
      {PROTOBUF_FIELD_OFFSET(DisplaysTelemetry, _impl_.display_status_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::DisplayStatus>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::DisplayStatus_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr DisplayInfo::ParseTableT_ DisplayInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DisplayInfo, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::DisplayInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .reporting.DisplayDevice display_device = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DisplayInfo, _impl_.display_device_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .reporting.DisplayDevice display_device = 1;
      {PROTOBUF_FIELD_OFFSET(DisplayInfo, _impl_.display_device_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::DisplayDevice>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::DisplayDevice_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr CpuInfo::ParseTableT_ CpuInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CpuInfo, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::CpuInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .reporting.KeylockerInfo keylocker_info = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(CpuInfo, _impl_.keylocker_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.KeylockerInfo keylocker_info = 1;
      {PROTOBUF_FIELD_OFFSET(CpuInfo, _impl_.keylocker_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::KeylockerInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::KeylockerInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr BusDeviceInfo::ParseTableT_ BusDeviceInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BusDeviceInfo, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::BusDeviceInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .reporting.ThunderboltInfo thunderbolt_info = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(BusDeviceInfo, _impl_.thunderbolt_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .reporting.ThunderboltInfo thunderbolt_info = 1;
      {PROTOBUF_FIELD_OFFSET(BusDeviceInfo, _impl_.thunderbolt_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::ThunderboltInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::ThunderboltInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr AppUsageData::ParseTableT_ AppUsageData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AppUsageData, _impl_._has_bits_),
      0, // no _extensions_
      2, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967293,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::AppUsageData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .reporting.AppUsageData.AppUsage app_usage = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AppUsageData, _impl_.app_usage_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .reporting.AppUsageData.AppUsage app_usage = 2;
      {PROTOBUF_FIELD_OFFSET(AppUsageData, _impl_.app_usage_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::AppUsageData_AppUsage>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::AppUsageData_AppUsage_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AppUsageDataGlobalsTypeInternal AppUsageData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AppUsageData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AppUsageData_globals_.GetClassData();
#else
  return AppUsageData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class WebsiteTelemetry::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::reporting::WebsiteTelemetry, _impl_._oneof_case_);
};

constexpr WebsiteTelemetry::ParseTableT_ WebsiteTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WebsiteTelemetry,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      3, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::WebsiteTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .reporting.WebsiteOpenedData website_opened_data = 1;
      {PROTOBUF_FIELD_OFFSET(WebsiteTelemetry, _impl_.website_metric_data_.website_opened_data_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .reporting.WebsiteClosedData website_closed_data = 2;
      {PROTOBUF_FIELD_OFFSET(WebsiteTelemetry, _impl_.website_metric_data_.website_closed_data_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .reporting.WebsiteUsageData website_usage_data = 3;
      {PROTOBUF_FIELD_OFFSET(WebsiteTelemetry, _impl_.website_metric_data_.website_usage_data_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::WebsiteOpenedData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::WebsiteOpenedData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::WebsiteClosedData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::WebsiteClosedData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::WebsiteUsageData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::WebsiteUsageData_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr KioskVisionTelemetry::ParseTableT_ KioskVisionTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::KioskVisionTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 start_date_sec = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.start_date_sec_)}},
      // optional int64 end_date_sec = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.end_date_sec_)}},
      // optional int32 view_count = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.view_count_)}},
      // optional int32 pass_count = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.pass_count_)}},
      // repeated .reporting.KioskVisionAudience audience = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.audience_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 start_date_sec = 1;
      {PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.start_date_sec_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int64 end_date_sec = 2;
      {PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.end_date_sec_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional int32 view_count = 3;
      {PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.view_count_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 pass_count = 4;
      {PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.pass_count_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .reporting.KioskVisionAudience audience = 5;
      {PROTOBUF_FIELD_OFFSET(KioskVisionTelemetry, _impl_.audience_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::KioskVisionAudience>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::KioskVisionAudience_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr KioskVisionTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        audience_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::KioskVisionTelemetry,
            PROTOBUF_FIELD_OFFSET(::reporting::KioskVisionTelemetry, _impl_.audience_)>()
         }
        ,
        start_date_sec_{::int64_t{0}},
        end_date_sec_{::int64_t{0}},
        view_count_{0},
        pass_count_{0} {}

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

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

constexpr InfoData::ParseTableT_ InfoData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(InfoData, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      7,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::InfoData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .reporting.CpuInfo cpu_info = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(InfoData, _impl_.cpu_info_)}},
      // optional .reporting.BusDeviceInfo bus_device_info = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(InfoData, _impl_.bus_device_info_)}},
      // optional .reporting.MemoryInfo memory_info = 3;
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(InfoData, _impl_.memory_info_)}},
      // optional .reporting.NetworksInfo networks_info = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 3, 3,
        PROTOBUF_FIELD_OFFSET(InfoData, _impl_.networks_info_)}},
      // optional .reporting.TouchScreenInfo touch_screen_info = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 4, 4,
        PROTOBUF_FIELD_OFFSET(InfoData, _impl_.touch_screen_info_)}},
      // optional .reporting.PrivacyScreenInfo privacy_screen_info = 6;
      {::_pbi::TcParser::FastMtS1,
       {50, 5, 5,
        PROTOBUF_FIELD_OFFSET(InfoData, _impl_.privacy_screen_info_)}},
      // optional .reporting.DisplayInfo display_info = 7;
      {::_pbi::TcParser::FastMtS1,
       {58, 6, 6,
        PROTOBUF_FIELD_OFFSET(InfoData, _impl_.display_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.CpuInfo cpu_info = 1;
      {PROTOBUF_FIELD_OFFSET(InfoData, _impl_.cpu_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.BusDeviceInfo bus_device_info = 2;
      {PROTOBUF_FIELD_OFFSET(InfoData, _impl_.bus_device_info_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.MemoryInfo memory_info = 3;
      {PROTOBUF_FIELD_OFFSET(InfoData, _impl_.memory_info_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.NetworksInfo networks_info = 4;
      {PROTOBUF_FIELD_OFFSET(InfoData, _impl_.networks_info_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.TouchScreenInfo touch_screen_info = 5;
      {PROTOBUF_FIELD_OFFSET(InfoData, _impl_.touch_screen_info_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.PrivacyScreenInfo privacy_screen_info = 6;
      {PROTOBUF_FIELD_OFFSET(InfoData, _impl_.privacy_screen_info_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.DisplayInfo display_info = 7;
      {PROTOBUF_FIELD_OFFSET(InfoData, _impl_.display_info_), _Internal::kHasBitsOffset + 6, 6, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::CpuInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::CpuInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::BusDeviceInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::BusDeviceInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::MemoryInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::MemoryInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::NetworksInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::NetworksInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::TouchScreenInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::TouchScreenInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::PrivacyScreenInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::PrivacyScreenInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::DisplayInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::DisplayInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr InfoData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        cpu_info_{nullptr},
        bus_device_info_{nullptr},
        memory_info_{nullptr},
        networks_info_{nullptr},
        touch_screen_info_{nullptr},
        privacy_screen_info_{nullptr},
        display_info_{nullptr} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST InfoDataGlobalsTypeInternal InfoData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* InfoData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return InfoData_globals_.GetClassData();
#else
  return InfoData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class AppTelemetry::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::reporting::AppTelemetry, _impl_._oneof_case_);
};

constexpr AppTelemetry::ParseTableT_ AppTelemetry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AppTelemetry,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      6, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967235,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::AppTelemetry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .reporting.AppInstallData app_install_data = 3;
      {PROTOBUF_FIELD_OFFSET(AppTelemetry, _impl_.app_metric_data_.app_install_data_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .reporting.AppUninstallData app_uninstall_data = 4;
      {PROTOBUF_FIELD_OFFSET(AppTelemetry, _impl_.app_metric_data_.app_uninstall_data_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .reporting.AppLaunchData app_launch_data = 5;
      {PROTOBUF_FIELD_OFFSET(AppTelemetry, _impl_.app_metric_data_.app_launch_data_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .reporting.AppUsageData app_usage_data = 6;
      {PROTOBUF_FIELD_OFFSET(AppTelemetry, _impl_.app_metric_data_.app_usage_data_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::AppInstallData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::AppInstallData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::AppUninstallData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::AppUninstallData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::AppLaunchData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::AppLaunchData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::AppUsageData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::AppUsageData_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr TelemetryData::ParseTableT_ TelemetryData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_._has_bits_),
      0, // no _extensions_
      14, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294950912,  // skipmap
      offsetof(ParseTableT_, field_entries),
      14,  // num_field_entries
      13,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::TelemetryData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .reporting.NetworksTelemetry networks_telemetry = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.networks_telemetry_)}},
      // optional .reporting.AudioTelemetry audio_telemetry = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.audio_telemetry_)}},
      // optional .reporting.PeripheralsTelemetry peripherals_telemetry = 3;
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.peripherals_telemetry_)}},
      // optional .reporting.BootPerformanceTelemetry boot_performance_telemetry = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 3, 3,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.boot_performance_telemetry_)}},
      // optional .reporting.UserStatusTelemetry user_status_telemetry = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 4, 4,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.user_status_telemetry_)}},
      // optional .reporting.DisplaysTelemetry displays_telemetry = 6;
      {::_pbi::TcParser::FastMtS1,
       {50, 5, 5,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.displays_telemetry_)}},
      // optional .reporting.AppTelemetry app_telemetry = 7;
      {::_pbi::TcParser::FastMtS1,
       {58, 6, 6,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.app_telemetry_)}},
      // optional bool is_event_driven = 8;
      {::_pbi::TcParser::FastV8S1,
       {64, 13, 0,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.is_event_driven_)}},
      // optional .reporting.FatalCrashTelemetry fatal_crash_telemetry = 9;
      {::_pbi::TcParser::FastMtS1,
       {74, 7, 7,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.fatal_crash_telemetry_)}},
      // optional .reporting.RuntimeCountersTelemetry runtime_counters_telemetry = 10;
      {::_pbi::TcParser::FastMtS1,
       {82, 8, 8,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.runtime_counters_telemetry_)}},
      // optional .reporting.WebsiteTelemetry website_telemetry = 11;
      {::_pbi::TcParser::FastMtS1,
       {90, 9, 9,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.website_telemetry_)}},
      // optional .reporting.KioskHeartbeatTelemetry heartbeat_telemetry = 12;
      {::_pbi::TcParser::FastMtS1,
       {98, 10, 10,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.heartbeat_telemetry_)}},
      // optional .reporting.KioskVisionTelemetry kiosk_vision_telemetry = 13;
      {::_pbi::TcParser::FastMtS1,
       {106, 11, 11,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.kiosk_vision_telemetry_)}},
      // optional .reporting.KioskVisionStatusReport kiosk_vision_status = 14;
      {::_pbi::TcParser::FastMtS1,
       {114, 12, 12,
        PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.kiosk_vision_status_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .reporting.NetworksTelemetry networks_telemetry = 1;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.networks_telemetry_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.AudioTelemetry audio_telemetry = 2;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.audio_telemetry_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.PeripheralsTelemetry peripherals_telemetry = 3;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.peripherals_telemetry_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.BootPerformanceTelemetry boot_performance_telemetry = 4;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.boot_performance_telemetry_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.UserStatusTelemetry user_status_telemetry = 5;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.user_status_telemetry_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.DisplaysTelemetry displays_telemetry = 6;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.displays_telemetry_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.AppTelemetry app_telemetry = 7;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.app_telemetry_), _Internal::kHasBitsOffset + 6, 6, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional bool is_event_driven = 8;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.is_event_driven_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .reporting.FatalCrashTelemetry fatal_crash_telemetry = 9;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.fatal_crash_telemetry_), _Internal::kHasBitsOffset + 7, 7, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.RuntimeCountersTelemetry runtime_counters_telemetry = 10;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.runtime_counters_telemetry_), _Internal::kHasBitsOffset + 8, 8, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.WebsiteTelemetry website_telemetry = 11;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.website_telemetry_), _Internal::kHasBitsOffset + 9, 9, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.KioskHeartbeatTelemetry heartbeat_telemetry = 12;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.heartbeat_telemetry_), _Internal::kHasBitsOffset + 10, 10, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.KioskVisionTelemetry kiosk_vision_telemetry = 13;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.kiosk_vision_telemetry_), _Internal::kHasBitsOffset + 11, 11, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.KioskVisionStatusReport kiosk_vision_status = 14;
      {PROTOBUF_FIELD_OFFSET(TelemetryData, _impl_.kiosk_vision_status_), _Internal::kHasBitsOffset + 12, 12, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::NetworksTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::NetworksTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::AudioTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::AudioTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::PeripheralsTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::PeripheralsTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::BootPerformanceTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::BootPerformanceTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::UserStatusTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::UserStatusTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::DisplaysTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::DisplaysTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::AppTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::AppTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::FatalCrashTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::FatalCrashTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::RuntimeCountersTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::RuntimeCountersTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::WebsiteTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::WebsiteTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::KioskHeartbeatTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::KioskHeartbeatTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::KioskVisionTelemetry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::KioskVisionTelemetry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::KioskVisionStatusReport>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::KioskVisionStatusReport_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TelemetryData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        networks_telemetry_{nullptr},
        audio_telemetry_{nullptr},
        peripherals_telemetry_{nullptr},
        boot_performance_telemetry_{nullptr},
        user_status_telemetry_{nullptr},
        displays_telemetry_{nullptr},
        app_telemetry_{nullptr},
        fatal_crash_telemetry_{nullptr},
        runtime_counters_telemetry_{nullptr},
        website_telemetry_{nullptr},
        heartbeat_telemetry_{nullptr},
        kiosk_vision_telemetry_{nullptr},
        kiosk_vision_status_{nullptr},
        is_event_driven_{false} {}

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

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

constexpr MetricData::ParseTableT_ MetricData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MetricData, _impl_._has_bits_),
      0, // no _extensions_
      4, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::reporting::MetricData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .reporting.EventData event_data = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 0, 2,
        PROTOBUF_FIELD_OFFSET(MetricData, _impl_.event_data_)}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(MetricData, _impl_.timestamp_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(MetricData, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .reporting.InfoData info_data = 2;
      {PROTOBUF_FIELD_OFFSET(MetricData, _impl_.metric_type_.info_data_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .reporting.TelemetryData telemetry_data = 3;
      {PROTOBUF_FIELD_OFFSET(MetricData, _impl_.metric_type_.telemetry_data_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .reporting.EventData event_data = 4;
      {PROTOBUF_FIELD_OFFSET(MetricData, _impl_.event_data_), _Internal::kHasBitsOffset + 0, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::InfoData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::InfoData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::TelemetryData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::TelemetryData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::reporting::EventData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::reporting::EventData_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr MetricData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        event_data_{nullptr},
        timestamp_ms_{::int64_t{0}},
        metric_type_{},
        _oneof_case_{} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST MetricDataGlobalsTypeInternal MetricData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* MetricData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return MetricData_globals_.GetClassData();
#else
  return MetricData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace reporting
namespace reporting {
PROTOBUF_CONSTINIT const uint32_t UserStatusTelemetry_DeviceActivityState_internal_data_[] = {
    262144u, 0u, };
static const char UserStatusTelemetry_DeviceActivityState_names[] = {
    "ACTIVE"
    "DEVICE_ACTIVITY_STATE_UNKNOWN"
    "IDLE"
    "LOCKED"
};

static const ::google::protobuf::internal::EnumEntry UserStatusTelemetry_DeviceActivityState_entries[] = {
    {{&UserStatusTelemetry_DeviceActivityState_names[0], 6}, 1},
    {{&UserStatusTelemetry_DeviceActivityState_names[6], 29}, 0},
    {{&UserStatusTelemetry_DeviceActivityState_names[35], 4}, 2},
    {{&UserStatusTelemetry_DeviceActivityState_names[39], 6}, 3},
};

static const int UserStatusTelemetry_DeviceActivityState_entries_by_number[] = {
    1,  // 0 -> DEVICE_ACTIVITY_STATE_UNKNOWN
    0,  // 1 -> ACTIVE
    2,  // 2 -> IDLE
    3,  // 3 -> LOCKED
};

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

const ::std::string& UserStatusTelemetry_DeviceActivityState_Name(UserStatusTelemetry_DeviceActivityState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      UserStatusTelemetry_DeviceActivityState_entries, UserStatusTelemetry_DeviceActivityState_entries_by_number, 4,
      UserStatusTelemetry_DeviceActivityState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(UserStatusTelemetry_DeviceActivityState_entries,
                                  UserStatusTelemetry_DeviceActivityState_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : UserStatusTelemetry_DeviceActivityState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t KioskVisionStatusReport_KioskVisionState_internal_data_[] = {
    196608u, 0u, };
static const char KioskVisionStatusReport_KioskVisionState_names[] = {
    "KIOSK_VISION_STATE_ACTIVE"
    "KIOSK_VISION_STATE_CAMERA_NOT_FOUND"
    "KIOSK_VISION_STATE_UNKNOWN_ERROR"
};

static const ::google::protobuf::internal::EnumEntry KioskVisionStatusReport_KioskVisionState_entries[] = {
    {{&KioskVisionStatusReport_KioskVisionState_names[0], 25}, 0},
    {{&KioskVisionStatusReport_KioskVisionState_names[25], 35}, 2},
    {{&KioskVisionStatusReport_KioskVisionState_names[60], 32}, 1},
};

static const int KioskVisionStatusReport_KioskVisionState_entries_by_number[] = {
    0,  // 0 -> KIOSK_VISION_STATE_ACTIVE
    2,  // 1 -> KIOSK_VISION_STATE_UNKNOWN_ERROR
    1,  // 2 -> KIOSK_VISION_STATE_CAMERA_NOT_FOUND
};

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

const ::std::string& KioskVisionStatusReport_KioskVisionState_Name(KioskVisionStatusReport_KioskVisionState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      KioskVisionStatusReport_KioskVisionState_entries, KioskVisionStatusReport_KioskVisionState_entries_by_number, 3,
      KioskVisionStatusReport_KioskVisionState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(KioskVisionStatusReport_KioskVisionState_entries,
                                  KioskVisionStatusReport_KioskVisionState_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : KioskVisionStatusReport_KioskVisionState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t FatalCrashTelemetry_CrashType_internal_data_[] = {
    262144u, 0u, };
static const char FatalCrashTelemetry_CrashType_names[] = {
    "CRASH_TYPE_CHROME"
    "CRASH_TYPE_EMBEDDED_CONTROLLER"
    "CRASH_TYPE_KERNEL"
    "CRASH_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry FatalCrashTelemetry_CrashType_entries[] = {
    {{&FatalCrashTelemetry_CrashType_names[0], 17}, 3},
    {{&FatalCrashTelemetry_CrashType_names[17], 30}, 2},
    {{&FatalCrashTelemetry_CrashType_names[47], 17}, 1},
    {{&FatalCrashTelemetry_CrashType_names[64], 22}, 0},
};

static const int FatalCrashTelemetry_CrashType_entries_by_number[] = {
    3,  // 0 -> CRASH_TYPE_UNSPECIFIED
    2,  // 1 -> CRASH_TYPE_KERNEL
    1,  // 2 -> CRASH_TYPE_EMBEDDED_CONTROLLER
    0,  // 3 -> CRASH_TYPE_CHROME
};

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

const ::std::string& FatalCrashTelemetry_CrashType_Name(FatalCrashTelemetry_CrashType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      FatalCrashTelemetry_CrashType_entries, FatalCrashTelemetry_CrashType_entries_by_number, 4,
      FatalCrashTelemetry_CrashType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(FatalCrashTelemetry_CrashType_entries,
                                  FatalCrashTelemetry_CrashType_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : FatalCrashTelemetry_CrashType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t FatalCrashTelemetry_SessionType_internal_data_[] = {
    720896u, 0u, };
static const char FatalCrashTelemetry_SessionType_names[] = {
    "SESSION_TYPE_ACTIVE_DIRECTORY"
    "SESSION_TYPE_ARC_KIOSK_APP"
    "SESSION_TYPE_CHILD"
    "SESSION_TYPE_GUEST"
    "SESSION_TYPE_KIOSK_APP"
    "SESSION_TYPE_KIOSK_ARCVM_APP"
    "SESSION_TYPE_KIOSK_IWA"
    "SESSION_TYPE_PUBLIC_ACCOUNT"
    "SESSION_TYPE_REGULAR"
    "SESSION_TYPE_UNSPECIFIED"
    "SESSION_TYPE_WEB_KIOSK_APP"
};

static const ::google::protobuf::internal::EnumEntry FatalCrashTelemetry_SessionType_entries[] = {
    {{&FatalCrashTelemetry_SessionType_names[0], 29}, 8},
    {{&FatalCrashTelemetry_SessionType_names[29], 26}, 4},
    {{&FatalCrashTelemetry_SessionType_names[55], 18}, 2},
    {{&FatalCrashTelemetry_SessionType_names[73], 18}, 6},
    {{&FatalCrashTelemetry_SessionType_names[91], 22}, 3},
    {{&FatalCrashTelemetry_SessionType_names[113], 28}, 10},
    {{&FatalCrashTelemetry_SessionType_names[141], 22}, 9},
    {{&FatalCrashTelemetry_SessionType_names[163], 27}, 7},
    {{&FatalCrashTelemetry_SessionType_names[190], 20}, 1},
    {{&FatalCrashTelemetry_SessionType_names[210], 24}, 0},
    {{&FatalCrashTelemetry_SessionType_names[234], 26}, 5},
};

static const int FatalCrashTelemetry_SessionType_entries_by_number[] = {
    9,  // 0 -> SESSION_TYPE_UNSPECIFIED
    8,  // 1 -> SESSION_TYPE_REGULAR
    2,  // 2 -> SESSION_TYPE_CHILD
    4,  // 3 -> SESSION_TYPE_KIOSK_APP
    1,  // 4 -> SESSION_TYPE_ARC_KIOSK_APP
    10,  // 5 -> SESSION_TYPE_WEB_KIOSK_APP
    3,  // 6 -> SESSION_TYPE_GUEST
    7,  // 7 -> SESSION_TYPE_PUBLIC_ACCOUNT
    0,  // 8 -> SESSION_TYPE_ACTIVE_DIRECTORY
    6,  // 9 -> SESSION_TYPE_KIOSK_IWA
    5,  // 10 -> SESSION_TYPE_KIOSK_ARCVM_APP
};

bool FatalCrashTelemetry_SessionType_Parse(::absl::string_view name,
                                  FatalCrashTelemetry_SessionType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      FatalCrashTelemetry_SessionType_entries, 11, name, &int_value);
  if (success) {
    *value = static_cast<FatalCrashTelemetry_SessionType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    FatalCrashTelemetry_SessionType_strings[11] = {};

const ::std::string& FatalCrashTelemetry_SessionType_Name(FatalCrashTelemetry_SessionType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      FatalCrashTelemetry_SessionType_entries, FatalCrashTelemetry_SessionType_entries_by_number, 11,
      FatalCrashTelemetry_SessionType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(FatalCrashTelemetry_SessionType_entries,
                                  FatalCrashTelemetry_SessionType_entries_by_number,
                                  11, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : FatalCrashTelemetry_SessionType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t RoutineVerdict_internal_data_[] = {
    262144u, 0u, };
static const char RoutineVerdict_names[] = {
    "NOT_RUN"
    "NO_PROBLEM"
    "PROBLEM"
    "ROUTINE_VERDICT_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry RoutineVerdict_entries[] = {
    {{&RoutineVerdict_names[0], 7}, 3},
    {{&RoutineVerdict_names[7], 10}, 1},
    {{&RoutineVerdict_names[17], 7}, 2},
    {{&RoutineVerdict_names[24], 27}, 0},
};

static const int RoutineVerdict_entries_by_number[] = {
    3,  // 0 -> ROUTINE_VERDICT_UNSPECIFIED
    1,  // 1 -> NO_PROBLEM
    2,  // 2 -> PROBLEM
    0,  // 3 -> NOT_RUN
};

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

const ::std::string& RoutineVerdict_Name(RoutineVerdict value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      RoutineVerdict_entries, RoutineVerdict_entries_by_number, 4,
      RoutineVerdict_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(RoutineVerdict_entries,
                                  RoutineVerdict_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : RoutineVerdict_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t HttpsLatencyProblem_internal_data_[] = {
    327680u, 0u, };
static const char HttpsLatencyProblem_names[] = {
    "FAILED_DNS_RESOLUTIONS"
    "FAILED_HTTPS_REQUESTS"
    "HIGH_LATENCY"
    "HTTPS_LATENCY_PROBLEM_UNSPECIFIED"
    "VERY_HIGH_LATENCY"
};

static const ::google::protobuf::internal::EnumEntry HttpsLatencyProblem_entries[] = {
    {{&HttpsLatencyProblem_names[0], 22}, 1},
    {{&HttpsLatencyProblem_names[22], 21}, 2},
    {{&HttpsLatencyProblem_names[43], 12}, 3},
    {{&HttpsLatencyProblem_names[55], 33}, 0},
    {{&HttpsLatencyProblem_names[88], 17}, 4},
};

static const int HttpsLatencyProblem_entries_by_number[] = {
    3,  // 0 -> HTTPS_LATENCY_PROBLEM_UNSPECIFIED
    0,  // 1 -> FAILED_DNS_RESOLUTIONS
    1,  // 2 -> FAILED_HTTPS_REQUESTS
    2,  // 3 -> HIGH_LATENCY
    4,  // 4 -> VERY_HIGH_LATENCY
};

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

const ::std::string& HttpsLatencyProblem_Name(HttpsLatencyProblem value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      HttpsLatencyProblem_entries, HttpsLatencyProblem_entries_by_number, 5,
      HttpsLatencyProblem_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(HttpsLatencyProblem_entries,
                                  HttpsLatencyProblem_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : HttpsLatencyProblem_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t NetworkConnectionState_internal_data_[] = {
    393216u, 0u, };
static const char NetworkConnectionState_names[] = {
    "CONNECTED"
    "CONNECTING"
    "NETWORK_CONNECTION_STATE_UNSPECIFIED"
    "NOT_CONNECTED"
    "ONLINE"
    "PORTAL"
};

static const ::google::protobuf::internal::EnumEntry NetworkConnectionState_entries[] = {
    {{&NetworkConnectionState_names[0], 9}, 2},
    {{&NetworkConnectionState_names[9], 10}, 4},
    {{&NetworkConnectionState_names[19], 36}, 0},
    {{&NetworkConnectionState_names[55], 13}, 5},
    {{&NetworkConnectionState_names[68], 6}, 1},
    {{&NetworkConnectionState_names[74], 6}, 3},
};

static const int NetworkConnectionState_entries_by_number[] = {
    2,  // 0 -> NETWORK_CONNECTION_STATE_UNSPECIFIED
    4,  // 1 -> ONLINE
    0,  // 2 -> CONNECTED
    5,  // 3 -> PORTAL
    1,  // 4 -> CONNECTING
    3,  // 5 -> NOT_CONNECTED
};

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

const ::std::string& NetworkConnectionState_Name(NetworkConnectionState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      NetworkConnectionState_entries, NetworkConnectionState_entries_by_number, 6,
      NetworkConnectionState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(NetworkConnectionState_entries,
                                  NetworkConnectionState_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : NetworkConnectionState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t NetworkType_internal_data_[] = {
    393216u, 0u, };
static const char NetworkType_names[] = {
    "CELLULAR"
    "ETHERNET"
    "NETWORK_TYPE_UNSPECIFIED"
    "TETHER"
    "VPN"
    "WIFI"
};

static const ::google::protobuf::internal::EnumEntry NetworkType_entries[] = {
    {{&NetworkType_names[0], 8}, 1},
    {{&NetworkType_names[8], 8}, 2},
    {{&NetworkType_names[16], 24}, 0},
    {{&NetworkType_names[40], 6}, 3},
    {{&NetworkType_names[46], 3}, 4},
    {{&NetworkType_names[49], 4}, 5},
};

static const int NetworkType_entries_by_number[] = {
    2,  // 0 -> NETWORK_TYPE_UNSPECIFIED
    0,  // 1 -> CELLULAR
    1,  // 2 -> ETHERNET
    3,  // 3 -> TETHER
    4,  // 4 -> VPN
    5,  // 5 -> WIFI
};

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

const ::std::string& NetworkType_Name(NetworkType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      NetworkType_entries, NetworkType_entries_by_number, 6,
      NetworkType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(NetworkType_entries,
                                  NetworkType_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : NetworkType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ThunderboltSecurityLevel_internal_data_[] = {
    458752u, 0u, };
static const char ThunderboltSecurityLevel_names[] = {
    "THUNDERBOLT_SECURITY_DP_ONLY_LEVEL"
    "THUNDERBOLT_SECURITY_NONE_LEVEL"
    "THUNDERBOLT_SECURITY_NO_PCIE_LEVEL"
    "THUNDERBOLT_SECURITY_SECURE_LEVEL"
    "THUNDERBOLT_SECURITY_USB_ONLY_LEVEL"
    "THUNDERBOLT_SECURITY_USER_LEVEL"
    "UNSPECIFIED_THUNDERBOLT_SECURITY_LEVEL"
};

static const ::google::protobuf::internal::EnumEntry ThunderboltSecurityLevel_entries[] = {
    {{&ThunderboltSecurityLevel_names[0], 34}, 4},
    {{&ThunderboltSecurityLevel_names[34], 31}, 1},
    {{&ThunderboltSecurityLevel_names[65], 34}, 6},
    {{&ThunderboltSecurityLevel_names[99], 33}, 3},
    {{&ThunderboltSecurityLevel_names[132], 35}, 5},
    {{&ThunderboltSecurityLevel_names[167], 31}, 2},
    {{&ThunderboltSecurityLevel_names[198], 38}, 0},
};

static const int ThunderboltSecurityLevel_entries_by_number[] = {
    6,  // 0 -> UNSPECIFIED_THUNDERBOLT_SECURITY_LEVEL
    1,  // 1 -> THUNDERBOLT_SECURITY_NONE_LEVEL
    5,  // 2 -> THUNDERBOLT_SECURITY_USER_LEVEL
    3,  // 3 -> THUNDERBOLT_SECURITY_SECURE_LEVEL
    0,  // 4 -> THUNDERBOLT_SECURITY_DP_ONLY_LEVEL
    4,  // 5 -> THUNDERBOLT_SECURITY_USB_ONLY_LEVEL
    2,  // 6 -> THUNDERBOLT_SECURITY_NO_PCIE_LEVEL
};

bool ThunderboltSecurityLevel_Parse(::absl::string_view name,
                                  ThunderboltSecurityLevel* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ThunderboltSecurityLevel_entries, 7, name, &int_value);
  if (success) {
    *value = static_cast<ThunderboltSecurityLevel>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ThunderboltSecurityLevel_strings[7] = {};

const ::std::string& ThunderboltSecurityLevel_Name(ThunderboltSecurityLevel value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ThunderboltSecurityLevel_entries, ThunderboltSecurityLevel_entries_by_number, 7,
      ThunderboltSecurityLevel_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ThunderboltSecurityLevel_entries,
                                  ThunderboltSecurityLevel_entries_by_number,
                                  7, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ThunderboltSecurityLevel_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t MemoryEncryptionState_internal_data_[] = {
    327680u, 0u, };
static const char MemoryEncryptionState_names[] = {
    "MEMORY_ENCRYPTION_STATE_DISABLED"
    "MEMORY_ENCRYPTION_STATE_MKTME"
    "MEMORY_ENCRYPTION_STATE_TME"
    "MEMORY_ENCRYPTION_STATE_UNKNOWN"
    "UNSPECIFIED_MEMORY_ENCRYPTION_STATE"
};

static const ::google::protobuf::internal::EnumEntry MemoryEncryptionState_entries[] = {
    {{&MemoryEncryptionState_names[0], 32}, 2},
    {{&MemoryEncryptionState_names[32], 29}, 4},
    {{&MemoryEncryptionState_names[61], 27}, 3},
    {{&MemoryEncryptionState_names[88], 31}, 1},
    {{&MemoryEncryptionState_names[119], 35}, 0},
};

static const int MemoryEncryptionState_entries_by_number[] = {
    4,  // 0 -> UNSPECIFIED_MEMORY_ENCRYPTION_STATE
    3,  // 1 -> MEMORY_ENCRYPTION_STATE_UNKNOWN
    0,  // 2 -> MEMORY_ENCRYPTION_STATE_DISABLED
    2,  // 3 -> MEMORY_ENCRYPTION_STATE_TME
    1,  // 4 -> MEMORY_ENCRYPTION_STATE_MKTME
};

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

const ::std::string& MemoryEncryptionState_Name(MemoryEncryptionState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      MemoryEncryptionState_entries, MemoryEncryptionState_entries_by_number, 5,
      MemoryEncryptionState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(MemoryEncryptionState_entries,
                                  MemoryEncryptionState_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : MemoryEncryptionState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t MemoryEncryptionAlgorithm_internal_data_[] = {
    262144u, 0u, };
static const char MemoryEncryptionAlgorithm_names[] = {
    "MEMORY_ENCRYPTION_ALGORITHM_AES_XTS_128"
    "MEMORY_ENCRYPTION_ALGORITHM_AES_XTS_256"
    "MEMORY_ENCRYPTION_ALGORITHM_UNKNOWN"
    "UNSPECIFIED_MEMORY_ENCRYPTION_ALGORITHM"
};

static const ::google::protobuf::internal::EnumEntry MemoryEncryptionAlgorithm_entries[] = {
    {{&MemoryEncryptionAlgorithm_names[0], 39}, 2},
    {{&MemoryEncryptionAlgorithm_names[39], 39}, 3},
    {{&MemoryEncryptionAlgorithm_names[78], 35}, 1},
    {{&MemoryEncryptionAlgorithm_names[113], 39}, 0},
};

static const int MemoryEncryptionAlgorithm_entries_by_number[] = {
    3,  // 0 -> UNSPECIFIED_MEMORY_ENCRYPTION_ALGORITHM
    2,  // 1 -> MEMORY_ENCRYPTION_ALGORITHM_UNKNOWN
    0,  // 2 -> MEMORY_ENCRYPTION_ALGORITHM_AES_XTS_128
    1,  // 3 -> MEMORY_ENCRYPTION_ALGORITHM_AES_XTS_256
};

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

const ::std::string& MemoryEncryptionAlgorithm_Name(MemoryEncryptionAlgorithm value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      MemoryEncryptionAlgorithm_entries, MemoryEncryptionAlgorithm_entries_by_number, 4,
      MemoryEncryptionAlgorithm_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(MemoryEncryptionAlgorithm_entries,
                                  MemoryEncryptionAlgorithm_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : MemoryEncryptionAlgorithm_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t NetworkDeviceType_internal_data_[] = {
    196608u, 32u, 4u, };
static const char NetworkDeviceType_names[] = {
    "CELLULAR_DEVICE"
    "ETHERNET_DEVICE"
    "NETWORK_DEVICE_TYPE_UNSPECIFIED"
    "WIFI_DEVICE"
};

static const ::google::protobuf::internal::EnumEntry NetworkDeviceType_entries[] = {
    {{&NetworkDeviceType_names[0], 15}, 1},
    {{&NetworkDeviceType_names[15], 15}, 2},
    {{&NetworkDeviceType_names[30], 31}, 0},
    {{&NetworkDeviceType_names[61], 11}, 5},
};

static const int NetworkDeviceType_entries_by_number[] = {
    2,  // 0 -> NETWORK_DEVICE_TYPE_UNSPECIFIED
    0,  // 1 -> CELLULAR_DEVICE
    1,  // 2 -> ETHERNET_DEVICE
    3,  // 5 -> WIFI_DEVICE
};

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

const ::std::string& NetworkDeviceType_Name(NetworkDeviceType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      NetworkDeviceType_entries, NetworkDeviceType_entries_by_number, 4,
      NetworkDeviceType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(NetworkDeviceType_entries,
                                  NetworkDeviceType_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : NetworkDeviceType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t MetricEventType_internal_data_[] = {
    131072u, 32u, 2095356u, };
static const char MetricEventType_names[] = {
    "APP_INSTALLED"
    "APP_LAUNCHED"
    "APP_UNINSTALLED"
    "AUDIO_SEVERE_UNDERRUN"
    "EVENT_TYPE_UNSPECIFIED"
    "EXTERNAL_DISPLAY_CONNECTED"
    "EXTERNAL_DISPLAY_DISCONNECTED"
    "FATAL_CRASH"
    "KIOSK_HEARTBEAT"
    "NETWORK_HTTPS_LATENCY_CHANGE"
    "NETWORK_STATE_CHANGE"
    "URL_CLOSED"
    "URL_OPENED"
    "USB_ADDED"
    "USB_REMOVED"
    "VPN_CONNECTION_STATE_CHANGE"
    "WIFI_SIGNAL_STRENGTH_LOW"
    "WIFI_SIGNAL_STRENGTH_RECOVERED"
};

static const ::google::protobuf::internal::EnumEntry MetricEventType_entries[] = {
    {{&MetricEventType_names[0], 13}, 7},
    {{&MetricEventType_names[13], 12}, 9},
    {{&MetricEventType_names[25], 15}, 8},
    {{&MetricEventType_names[40], 21}, 4},
    {{&MetricEventType_names[61], 22}, 0},
    {{&MetricEventType_names[83], 26}, 21},
    {{&MetricEventType_names[109], 29}, 22},
    {{&MetricEventType_names[138], 11}, 17},
    {{&MetricEventType_names[149], 15}, 20},
    {{&MetricEventType_names[164], 28}, 1},
    {{&MetricEventType_names[192], 20}, 15},
    {{&MetricEventType_names[212], 10}, 19},
    {{&MetricEventType_names[222], 10}, 18},
    {{&MetricEventType_names[232], 9}, 5},
    {{&MetricEventType_names[241], 11}, 6},
    {{&MetricEventType_names[252], 27}, 16},
    {{&MetricEventType_names[279], 24}, 13},
    {{&MetricEventType_names[303], 30}, 14},
};

static const int MetricEventType_entries_by_number[] = {
    4,  // 0 -> EVENT_TYPE_UNSPECIFIED
    9,  // 1 -> NETWORK_HTTPS_LATENCY_CHANGE
    3,  // 4 -> AUDIO_SEVERE_UNDERRUN
    13,  // 5 -> USB_ADDED
    14,  // 6 -> USB_REMOVED
    0,  // 7 -> APP_INSTALLED
    2,  // 8 -> APP_UNINSTALLED
    1,  // 9 -> APP_LAUNCHED
    16,  // 13 -> WIFI_SIGNAL_STRENGTH_LOW
    17,  // 14 -> WIFI_SIGNAL_STRENGTH_RECOVERED
    10,  // 15 -> NETWORK_STATE_CHANGE
    15,  // 16 -> VPN_CONNECTION_STATE_CHANGE
    7,  // 17 -> FATAL_CRASH
    12,  // 18 -> URL_OPENED
    11,  // 19 -> URL_CLOSED
    8,  // 20 -> KIOSK_HEARTBEAT
    5,  // 21 -> EXTERNAL_DISPLAY_CONNECTED
    6,  // 22 -> EXTERNAL_DISPLAY_DISCONNECTED
};

bool MetricEventType_Parse(::absl::string_view name,
                                  MetricEventType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      MetricEventType_entries, 18, name, &int_value);
  if (success) {
    *value = static_cast<MetricEventType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    MetricEventType_strings[18] = {};

const ::std::string& MetricEventType_Name(MetricEventType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      MetricEventType_entries, MetricEventType_entries_by_number, 18,
      MetricEventType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(MetricEventType_entries,
                                  MetricEventType_entries_by_number,
                                  18, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : MetricEventType_strings[idx].get();
}
// ===================================================================

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite HttpsLatencyRoutineData_class_data_ =
    HttpsLatencyRoutineData::InternalGenerateClassData_(HttpsLatencyRoutineData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    ::memset(&_impl_.verdict_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.latency_ms_) -
        reinterpret_cast<char*>(&_impl_.verdict_)) + sizeof(_impl_.latency_ms_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .reporting.RoutineVerdict verdict = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_verdict(), target);
  }

  // optional .reporting.HttpsLatencyProblem problem = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_problem(), target);
  }

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional .reporting.RoutineVerdict verdict = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_verdict());
    }
    // optional .reporting.HttpsLatencyProblem problem = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_problem());
    }
    // optional int64 latency_ms = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_latency_ms());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.verdict_ = from._impl_.verdict_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.problem_ = from._impl_.problem_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.latency_ms_ = from._impl_.latency_ms_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BandwidthData_class_data_ =
    BandwidthData::InternalGenerateClassData_(BandwidthData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    ::memset(&_impl_.download_speed_kbps_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.upload_speed_kbps_) -
        reinterpret_cast<char*>(&_impl_.download_speed_kbps_)) + sizeof(_impl_.upload_speed_kbps_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

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


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

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

NetworkTelemetry::NetworkTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, NetworkTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.NetworkTelemetry)
}
PROTOBUF_NDEBUG_INLINE NetworkTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::NetworkTelemetry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        ipv6_address_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::NetworkTelemetry,
              PROTOBUF_FIELD_OFFSET(::reporting::NetworkTelemetry, _impl_.ipv6_address_)>()
          , from.ipv6_address_
        }
        ,
        guid_(arena, from.guid_),
        device_path_(arena, from.device_path_),
        ip_address_(arena, from.ip_address_),
        gateway_(arena, from.gateway_),
        ipv6_gateway_(arena, from.ipv6_gateway_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:reporting.NetworkTelemetry)
}
PROTOBUF_NDEBUG_INLINE NetworkTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        ipv6_address_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::NetworkTelemetry,
            PROTOBUF_FIELD_OFFSET(::reporting::NetworkTelemetry, _impl_.ipv6_address_)>()
         }
        ,
        guid_(arena),
        device_path_(arena),
        ip_address_(arena),
        gateway_(arena),
        ipv6_gateway_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite NetworkTelemetry_class_data_ =
    NetworkTelemetry::InternalGenerateClassData_(NetworkTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.ipv6_address_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.guid_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.device_path_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.ip_address_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.gateway_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.ipv6_gateway_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000c0U)) {
    ::memset(&_impl_.connection_state_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.signal_strength_) -
        reinterpret_cast<char*>(&_impl_.connection_state_)) + sizeof(_impl_.signal_strength_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    ::memset(&_impl_.tx_bit_rate_mbps_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.is_metered_) -
        reinterpret_cast<char*>(&_impl_.tx_bit_rate_mbps_)) + sizeof(_impl_.is_metered_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00030000U)) {
    ::memset(&_impl_.signal_strength_dbm_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.link_down_speed_kbps_) -
        reinterpret_cast<char*>(&_impl_.signal_strength_dbm_)) + sizeof(_impl_.link_down_speed_kbps_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional .reporting.NetworkConnectionState connection_state = 2;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_connection_state(), target);
  }

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

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

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

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

  // optional .reporting.NetworkType type = 7;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this_._internal_type(), target);
  }

  // optional int64 tx_bit_rate_mbps = 9;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<9>(
            stream, this_._internal_tx_bit_rate_mbps(), target);
  }

  // optional int64 rx_bit_rate_mbps = 10;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<10>(
            stream, this_._internal_rx_bit_rate_mbps(), target);
  }

  // optional int32 tx_power_dbm = 11;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<11>(
            stream, this_._internal_tx_power_dbm(), target);
  }

  // optional bool encryption_on = 12;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this_._internal_encryption_on(), target);
  }

  // optional int64 link_quality = 13;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<13>(
            stream, this_._internal_link_quality(), target);
  }

  // optional bool power_management_enabled = 14;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        14, this_._internal_power_management_enabled(), target);
  }

  // optional int32 signal_strength_dbm = 15;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<15>(
            stream, this_._internal_signal_strength_dbm(), target);
  }

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

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

  // optional bool is_metered = 18;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        18, this_._internal_is_metered(), target);
  }

  // optional int32 link_down_speed_kbps = 19;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        19, this_._internal_link_down_speed_kbps(), target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00008000U & cached_has_bits) * 3;
  total_size += ::absl::popcount(0x00006000U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated string ipv6_address = 16;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          2 * ::google::protobuf::internal::FromIntSize(this_._internal_ipv6_address().size());
      for (int i = 0, n = this_._internal_ipv6_address().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_ipv6_address().Get(i));
      }
    }
    // optional string guid = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_guid());
    }
    // optional string device_path = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_device_path());
    }
    // optional string ip_address = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_ip_address());
    }
    // optional string gateway = 6;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_gateway());
    }
    // optional string ipv6_gateway = 17;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_ipv6_gateway());
    }
    // optional .reporting.NetworkConnectionState connection_state = 2;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_connection_state());
    }
    // optional int32 signal_strength = 3;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_signal_strength());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    // optional int64 tx_bit_rate_mbps = 9;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_tx_bit_rate_mbps());
    }
    // optional .reporting.NetworkType type = 7;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
    // optional int32 tx_power_dbm = 11;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tx_power_dbm());
    }
    // optional int64 rx_bit_rate_mbps = 10;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_rx_bit_rate_mbps());
    }
    // optional int64 link_quality = 13;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_link_quality());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00030000U)) {
    // optional int32 signal_strength_dbm = 15;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_signal_strength_dbm());
    }
    // optional int32 link_down_speed_kbps = 19;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_link_down_speed_kbps());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_ipv6_address()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_ipv6_address());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_guid(from._internal_guid());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_device_path(from._internal_device_path());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_ip_address(from._internal_ip_address());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_gateway(from._internal_gateway());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_ipv6_gateway(from._internal_ipv6_gateway());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.connection_state_ = from._impl_.connection_state_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.signal_strength_ = from._impl_.signal_strength_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.tx_bit_rate_mbps_ = from._impl_.tx_bit_rate_mbps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.tx_power_dbm_ = from._impl_.tx_power_dbm_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.rx_bit_rate_mbps_ = from._impl_.rx_bit_rate_mbps_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.link_quality_ = from._impl_.link_quality_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.encryption_on_ = from._impl_.encryption_on_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.power_management_enabled_ = from._impl_.power_management_enabled_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.is_metered_ = from._impl_.is_metered_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00030000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.signal_strength_dbm_ = from._impl_.signal_strength_dbm_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.link_down_speed_kbps_ = from._impl_.link_down_speed_kbps_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void NetworkTelemetry::InternalSwap(NetworkTelemetry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.ipv6_address_.InternalSwap(&other->_impl_.ipv6_address_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.guid_, &other->_impl_.guid_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.device_path_, &other->_impl_.device_path_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ip_address_, &other->_impl_.ip_address_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.gateway_, &other->_impl_.gateway_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ipv6_gateway_, &other->_impl_.ipv6_gateway_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.link_down_speed_kbps_)
      + sizeof(NetworkTelemetry::_impl_.link_down_speed_kbps_)
      - PROTOBUF_FIELD_OFFSET(NetworkTelemetry, _impl_.connection_state_)>(
          reinterpret_cast<char*>(&_impl_.connection_state_),
          reinterpret_cast<char*>(&other->_impl_.connection_state_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite NetworkConnectionStateChangeEventData_class_data_ =
    NetworkConnectionStateChangeEventData::InternalGenerateClassData_(NetworkConnectionStateChangeEventData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.guid_.ClearNonDefaultToEmpty();
  }
  _impl_.connection_state_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional .reporting.NetworkConnectionState connection_state = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_connection_state(), target);
  }

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

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

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

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

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

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

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SignalStrengthEventData_class_data_ =
    SignalStrengthEventData::InternalGenerateClassData_(SignalStrengthEventData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.guid_.ClearNonDefaultToEmpty();
  }
  _impl_.signal_strength_dbm_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

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


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

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

NetworksTelemetry::NetworksTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, NetworksTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.NetworksTelemetry)
}
PROTOBUF_NDEBUG_INLINE NetworksTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::NetworksTelemetry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        network_telemetry_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::NetworksTelemetry,
              PROTOBUF_FIELD_OFFSET(::reporting::NetworksTelemetry, _impl_.network_telemetry_)>()
          , from.network_telemetry_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  NetworksTelemetry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.https_latency_data_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.https_latency_data_)
                : nullptr;
  _impl_.bandwidth_data_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.bandwidth_data_)
                : nullptr;
  _impl_.network_connection_change_event_data_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.network_connection_change_event_data_)
                : nullptr;
  _impl_.signal_strength_event_data_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.signal_strength_event_data_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite NetworksTelemetry_class_data_ =
    NetworksTelemetry::InternalGenerateClassData_(NetworksTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.network_telemetry_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.https_latency_data_ != nullptr);
      _impl_.https_latency_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.bandwidth_data_ != nullptr);
      _impl_.bandwidth_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.network_connection_change_event_data_ != nullptr);
      _impl_.network_connection_change_event_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.signal_strength_event_data_ != nullptr);
      _impl_.signal_strength_event_data_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .reporting.NetworkTelemetry network_telemetry = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_network_telemetry_size());
         i < n; i++) {
      const auto& repfield = this_._internal_network_telemetry().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional .reporting.HttpsLatencyRoutineData https_latency_data = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.https_latency_data_, this_._impl_.https_latency_data_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.BandwidthData bandwidth_data = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.bandwidth_data_, this_._impl_.bandwidth_data_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.NetworkConnectionStateChangeEventData network_connection_change_event_data = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.network_connection_change_event_data_, this_._impl_.network_connection_change_event_data_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.SignalStrengthEventData signal_strength_event_data = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.signal_strength_event_data_, this_._impl_.signal_strength_event_data_->GetCachedSize(), target,
        stream);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated .reporting.NetworkTelemetry network_telemetry = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_network_telemetry_size();
      for (const auto& msg : this_._internal_network_telemetry()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .reporting.HttpsLatencyRoutineData https_latency_data = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.https_latency_data_);
    }
    // optional .reporting.BandwidthData bandwidth_data = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.bandwidth_data_);
    }
    // optional .reporting.NetworkConnectionStateChangeEventData network_connection_change_event_data = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.network_connection_change_event_data_);
    }
    // optional .reporting.SignalStrengthEventData signal_strength_event_data = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.signal_strength_event_data_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_network_telemetry()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_network_telemetry());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.https_latency_data_ != nullptr);
      if (_this->_impl_.https_latency_data_ == nullptr) {
        _this->_impl_.https_latency_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.https_latency_data_);
      } else {
        _this->_impl_.https_latency_data_->MergeFrom(*from._impl_.https_latency_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.bandwidth_data_ != nullptr);
      if (_this->_impl_.bandwidth_data_ == nullptr) {
        _this->_impl_.bandwidth_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.bandwidth_data_);
      } else {
        _this->_impl_.bandwidth_data_->MergeFrom(*from._impl_.bandwidth_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.network_connection_change_event_data_ != nullptr);
      if (_this->_impl_.network_connection_change_event_data_ == nullptr) {
        _this->_impl_.network_connection_change_event_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.network_connection_change_event_data_);
      } else {
        _this->_impl_.network_connection_change_event_data_->MergeFrom(*from._impl_.network_connection_change_event_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.signal_strength_event_data_ != nullptr);
      if (_this->_impl_.signal_strength_event_data_ == nullptr) {
        _this->_impl_.signal_strength_event_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.signal_strength_event_data_);
      } else {
        _this->_impl_.signal_strength_event_data_->MergeFrom(*from._impl_.signal_strength_event_data_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ThunderboltInfo_class_data_ =
    ThunderboltInfo::InternalGenerateClassData_(ThunderboltInfo_globals_._default);

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .reporting.ThunderboltSecurityLevel security_level = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_security_level(), target);
  }

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

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

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

   {
    // optional .reporting.ThunderboltSecurityLevel security_level = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_security_level());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

BusDeviceInfo::BusDeviceInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BusDeviceInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.BusDeviceInfo)
}
PROTOBUF_NDEBUG_INLINE BusDeviceInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::BusDeviceInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        thunderbolt_info_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::BusDeviceInfo,
              PROTOBUF_FIELD_OFFSET(::reporting::BusDeviceInfo, _impl_.thunderbolt_info_)>()
          , from.thunderbolt_info_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BusDeviceInfo_class_data_ =
    BusDeviceInfo::InternalGenerateClassData_(BusDeviceInfo_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.thunderbolt_info_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .reporting.ThunderboltInfo thunderbolt_info = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_thunderbolt_info_size());
         i < n; i++) {
      const auto& repfield = this_._internal_thunderbolt_info().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .reporting.ThunderboltInfo thunderbolt_info = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_thunderbolt_info_size();
      for (const auto& msg : this_._internal_thunderbolt_info()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TotalMemoryEncryptionInfo_class_data_ =
    TotalMemoryEncryptionInfo::InternalGenerateClassData_(TotalMemoryEncryptionInfo_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    ::memset(&_impl_.max_keys_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.key_length_) -
        reinterpret_cast<char*>(&_impl_.max_keys_)) + sizeof(_impl_.key_length_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .reporting.MemoryEncryptionState encryption_state = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_encryption_state(), target);
  }

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

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

  // optional .reporting.MemoryEncryptionAlgorithm encryption_algorithm = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_encryption_algorithm(), target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // optional int64 max_keys = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_max_keys());
    }
    // optional .reporting.MemoryEncryptionState encryption_state = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_encryption_state());
    }
    // optional .reporting.MemoryEncryptionAlgorithm encryption_algorithm = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_encryption_algorithm());
    }
    // optional int64 key_length = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_key_length());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.max_keys_ = from._impl_.max_keys_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.encryption_state_ = from._impl_.encryption_state_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.encryption_algorithm_ = from._impl_.encryption_algorithm_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.key_length_ = from._impl_.key_length_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MemoryInfo_class_data_ =
    MemoryInfo::InternalGenerateClassData_(MemoryInfo_globals_._default);

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

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

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

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

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

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

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

   {
    // optional .reporting.TotalMemoryEncryptionInfo tme_info = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.tme_info_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

NetworkInterface::NetworkInterface(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, NetworkInterface_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.NetworkInterface)
}
PROTOBUF_NDEBUG_INLINE NetworkInterface::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::NetworkInterface& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        eids_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::NetworkInterface,
              PROTOBUF_FIELD_OFFSET(::reporting::NetworkInterface, _impl_.eids_)>()
          , from.eids_
        }
        ,
        mac_address_(arena, from.mac_address_),
        meid_(arena, from.meid_),
        imei_(arena, from.imei_),
        device_path_(arena, from.device_path_),
        iccid_(arena, from.iccid_),
        mdn_(arena, from.mdn_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:reporting.NetworkInterface)
}
PROTOBUF_NDEBUG_INLINE NetworkInterface::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        eids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::NetworkInterface,
            PROTOBUF_FIELD_OFFSET(::reporting::NetworkInterface, _impl_.eids_)>()
         }
        ,
        mac_address_(arena),
        meid_(arena),
        imei_(arena),
        device_path_(arena),
        iccid_(arena),
        mdn_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite NetworkInterface_class_data_ =
    NetworkInterface::InternalGenerateClassData_(NetworkInterface_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.eids_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.mac_address_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.meid_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.imei_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.device_path_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.iccid_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.mdn_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated string eids = 8;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_eids().size());
      for (int i = 0, n = this_._internal_eids().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_eids().Get(i));
      }
    }
    // optional string mac_address = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_mac_address());
    }
    // optional string meid = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_meid());
    }
    // optional string imei = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_imei());
    }
    // optional string device_path = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_device_path());
    }
    // optional string iccid = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_iccid());
    }
    // optional string mdn = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_mdn());
    }
    // optional .reporting.NetworkDeviceType type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_eids()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_eids());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_mac_address(from._internal_mac_address());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_meid(from._internal_meid());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_imei(from._internal_imei());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_device_path(from._internal_device_path());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_iccid(from._internal_iccid());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_mdn(from._internal_mdn());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void NetworkInterface::InternalSwap(NetworkInterface* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.eids_.InternalSwap(&other->_impl_.eids_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mac_address_, &other->_impl_.mac_address_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.meid_, &other->_impl_.meid_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.imei_, &other->_impl_.imei_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.device_path_, &other->_impl_.device_path_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.iccid_, &other->_impl_.iccid_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mdn_, &other->_impl_.mdn_, arena);
  swap(_impl_.type_, other->_impl_.type_);
}

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

NetworksInfo::NetworksInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, NetworksInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.NetworksInfo)
}
PROTOBUF_NDEBUG_INLINE NetworksInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::NetworksInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        network_interfaces_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::NetworksInfo,
              PROTOBUF_FIELD_OFFSET(::reporting::NetworksInfo, _impl_.network_interfaces_)>()
          , from.network_interfaces_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite NetworksInfo_class_data_ =
    NetworksInfo::InternalGenerateClassData_(NetworksInfo_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.network_interfaces_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .reporting.NetworkInterface network_interfaces = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_network_interfaces_size());
         i < n; i++) {
      const auto& repfield = this_._internal_network_interfaces().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .reporting.NetworkInterface network_interfaces = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_network_interfaces_size();
      for (const auto& msg : this_._internal_network_interfaces()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

TouchScreenInfo::TouchScreenInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TouchScreenInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.TouchScreenInfo)
}
PROTOBUF_NDEBUG_INLINE TouchScreenInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::TouchScreenInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        touch_screen_devices_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::TouchScreenInfo,
              PROTOBUF_FIELD_OFFSET(::reporting::TouchScreenInfo, _impl_.touch_screen_devices_)>()
          , from.touch_screen_devices_
        }
        ,
        library_name_(arena, from.library_name_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:reporting.TouchScreenInfo)
}
PROTOBUF_NDEBUG_INLINE TouchScreenInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        touch_screen_devices_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::TouchScreenInfo,
            PROTOBUF_FIELD_OFFSET(::reporting::TouchScreenInfo, _impl_.touch_screen_devices_)>()
         }
        ,
        library_name_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TouchScreenInfo_class_data_ =
    TouchScreenInfo::InternalGenerateClassData_(TouchScreenInfo_globals_._default);

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

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

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

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

  // repeated .reporting.TouchScreenDevice touch_screen_devices = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_touch_screen_devices_size());
         i < n; i++) {
      const auto& repfield = this_._internal_touch_screen_devices().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .reporting.TouchScreenDevice touch_screen_devices = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_touch_screen_devices_size();
      for (const auto& msg : this_._internal_touch_screen_devices()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string library_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_library_name());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_touch_screen_devices()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_touch_screen_devices());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_library_name(from._internal_library_name());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TouchScreenDevice_class_data_ =
    TouchScreenDevice::InternalGenerateClassData_(TouchScreenDevice_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.display_name_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.touch_points_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.has_stylus_) -
        reinterpret_cast<char*>(&_impl_.touch_points_)) + sizeof(_impl_.has_stylus_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // optional bool has_stylus = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_has_stylus(), target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000004U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string display_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_display_name());
    }
    // optional int32 touch_points = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_touch_points());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_display_name(from._internal_display_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.touch_points_ = from._impl_.touch_points_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.has_stylus_ = from._impl_.has_stylus_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TouchScreenDevice::InternalSwap(TouchScreenDevice* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_.has_stylus_)
      + sizeof(TouchScreenDevice::_impl_.has_stylus_)
      - PROTOBUF_FIELD_OFFSET(TouchScreenDevice, _impl_.touch_points_)>(
          reinterpret_cast<char*>(&_impl_.touch_points_),
          reinterpret_cast<char*>(&other->_impl_.touch_points_));
}

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PrivacyScreenInfo_class_data_ =
    PrivacyScreenInfo::InternalGenerateClassData_(PrivacyScreenInfo_globals_._default);

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool supported = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_supported(), target);
  }

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000001U & cached_has_bits) * 2;
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

DisplayInfo::DisplayInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DisplayInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.DisplayInfo)
}
PROTOBUF_NDEBUG_INLINE DisplayInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::DisplayInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        display_device_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::DisplayInfo,
              PROTOBUF_FIELD_OFFSET(::reporting::DisplayInfo, _impl_.display_device_)>()
          , from.display_device_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DisplayInfo_class_data_ =
    DisplayInfo::InternalGenerateClassData_(DisplayInfo_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.display_device_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .reporting.DisplayDevice display_device = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_display_device_size());
         i < n; i++) {
      const auto& repfield = this_._internal_display_device().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .reporting.DisplayDevice display_device = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_display_device_size();
      for (const auto& msg : this_._internal_display_device()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

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

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

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

  // @@protoc_insertion_point(copy_constructor:reporting.DisplayDevice)
}
PROTOBUF_NDEBUG_INLINE DisplayDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        display_name_(arena),
        manufacturer_(arena),
        edid_version_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DisplayDevice_class_data_ =
    DisplayDevice::InternalGenerateClassData_(DisplayDevice_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.display_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.manufacturer_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.edid_version_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f8U)) {
    ::memset(&_impl_.display_width_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.manufacture_year_) -
        reinterpret_cast<char*>(&_impl_.display_width_)) + sizeof(_impl_.manufacture_year_));
  }
  _impl_.serial_number_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

  // optional bool is_internal = 4;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_is_internal(), target);
  }

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

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

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

  // optional uint32 serial_number = 8;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this_._internal_serial_number(), target);
  }

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000020U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000dfU)) {
    // optional string display_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_display_name());
    }
    // optional string manufacturer = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_manufacturer());
    }
    // optional string edid_version = 9;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_edid_version());
    }
    // optional int32 display_width = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_display_width());
    }
    // optional int32 display_height = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_display_height());
    }
    // optional int32 model_id = 6;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_model_id());
    }
    // optional int32 manufacture_year = 7;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_manufacture_year());
    }
  }
   {
    // optional uint32 serial_number = 8;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_serial_number());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_display_name(from._internal_display_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_manufacturer(from._internal_manufacturer());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_edid_version(from._internal_edid_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.display_width_ = from._impl_.display_width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.display_height_ = from._impl_.display_height_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.is_internal_ = from._impl_.is_internal_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.model_id_ = from._impl_.model_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.manufacture_year_ = from._impl_.manufacture_year_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.serial_number_ = from._impl_.serial_number_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DisplayDevice::InternalSwap(DisplayDevice* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.manufacturer_, &other->_impl_.manufacturer_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.edid_version_, &other->_impl_.edid_version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.serial_number_)
      + sizeof(DisplayDevice::_impl_.serial_number_)
      - PROTOBUF_FIELD_OFFSET(DisplayDevice, _impl_.display_width_)>(
          reinterpret_cast<char*>(&_impl_.display_width_),
          reinterpret_cast<char*>(&other->_impl_.display_width_));
}

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite KeylockerInfo_class_data_ =
    KeylockerInfo::InternalGenerateClassData_(KeylockerInfo_globals_._default);

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

  ::memset(&_impl_.supported_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.configured_) -
      reinterpret_cast<char*>(&_impl_.supported_)) + sizeof(_impl_.configured_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool supported = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_supported(), target);
  }

  // optional bool configured = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_configured(), target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00000003U & cached_has_bits) * 2;
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CpuInfo_class_data_ =
    CpuInfo::InternalGenerateClassData_(CpuInfo_globals_._default);

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

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

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

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

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

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

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

   {
    // optional .reporting.KeylockerInfo keylocker_info = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.keylocker_info_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  InfoData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.cpu_info_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cpu_info_)
                : nullptr;
  _impl_.bus_device_info_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.bus_device_info_)
                : nullptr;
  _impl_.memory_info_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.memory_info_)
                : nullptr;
  _impl_.networks_info_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.networks_info_)
                : nullptr;
  _impl_.touch_screen_info_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.touch_screen_info_)
                : nullptr;
  _impl_.privacy_screen_info_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.privacy_screen_info_)
                : nullptr;
  _impl_.display_info_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.display_info_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite InfoData_class_data_ =
    InfoData::InternalGenerateClassData_(InfoData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.cpu_info_ != nullptr);
      _impl_.cpu_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.bus_device_info_ != nullptr);
      _impl_.bus_device_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.memory_info_ != nullptr);
      _impl_.memory_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.networks_info_ != nullptr);
      _impl_.networks_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.touch_screen_info_ != nullptr);
      _impl_.touch_screen_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.privacy_screen_info_ != nullptr);
      _impl_.privacy_screen_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.display_info_ != nullptr);
      _impl_.display_info_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional .reporting.BusDeviceInfo bus_device_info = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.bus_device_info_, this_._impl_.bus_device_info_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.MemoryInfo memory_info = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.memory_info_, this_._impl_.memory_info_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.NetworksInfo networks_info = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.networks_info_, this_._impl_.networks_info_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.TouchScreenInfo touch_screen_info = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.touch_screen_info_, this_._impl_.touch_screen_info_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.PrivacyScreenInfo privacy_screen_info = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.privacy_screen_info_, this_._impl_.privacy_screen_info_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.DisplayInfo display_info = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.display_info_, this_._impl_.display_info_->GetCachedSize(), target,
        stream);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // optional .reporting.CpuInfo cpu_info = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cpu_info_);
    }
    // optional .reporting.BusDeviceInfo bus_device_info = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.bus_device_info_);
    }
    // optional .reporting.MemoryInfo memory_info = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.memory_info_);
    }
    // optional .reporting.NetworksInfo networks_info = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.networks_info_);
    }
    // optional .reporting.TouchScreenInfo touch_screen_info = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.touch_screen_info_);
    }
    // optional .reporting.PrivacyScreenInfo privacy_screen_info = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.privacy_screen_info_);
    }
    // optional .reporting.DisplayInfo display_info = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.display_info_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.cpu_info_ != nullptr);
      if (_this->_impl_.cpu_info_ == nullptr) {
        _this->_impl_.cpu_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cpu_info_);
      } else {
        _this->_impl_.cpu_info_->MergeFrom(*from._impl_.cpu_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.bus_device_info_ != nullptr);
      if (_this->_impl_.bus_device_info_ == nullptr) {
        _this->_impl_.bus_device_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.bus_device_info_);
      } else {
        _this->_impl_.bus_device_info_->MergeFrom(*from._impl_.bus_device_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.memory_info_ != nullptr);
      if (_this->_impl_.memory_info_ == nullptr) {
        _this->_impl_.memory_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.memory_info_);
      } else {
        _this->_impl_.memory_info_->MergeFrom(*from._impl_.memory_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.networks_info_ != nullptr);
      if (_this->_impl_.networks_info_ == nullptr) {
        _this->_impl_.networks_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.networks_info_);
      } else {
        _this->_impl_.networks_info_->MergeFrom(*from._impl_.networks_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.touch_screen_info_ != nullptr);
      if (_this->_impl_.touch_screen_info_ == nullptr) {
        _this->_impl_.touch_screen_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.touch_screen_info_);
      } else {
        _this->_impl_.touch_screen_info_->MergeFrom(*from._impl_.touch_screen_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.privacy_screen_info_ != nullptr);
      if (_this->_impl_.privacy_screen_info_ == nullptr) {
        _this->_impl_.privacy_screen_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.privacy_screen_info_);
      } else {
        _this->_impl_.privacy_screen_info_->MergeFrom(*from._impl_.privacy_screen_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.display_info_ != nullptr);
      if (_this->_impl_.display_info_ == nullptr) {
        _this->_impl_.display_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.display_info_);
      } else {
        _this->_impl_.display_info_->MergeFrom(*from._impl_.display_info_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AudioTelemetry_class_data_ =
    AudioTelemetry::InternalGenerateClassData_(AudioTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.output_device_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.input_device_name_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000003cU)) {
    ::memset(&_impl_.output_mute_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.input_gain_) -
        reinterpret_cast<char*>(&_impl_.output_mute_)) + sizeof(_impl_.input_gain_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool output_mute = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_output_mute(), target);
  }

  // optional bool input_mute = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_input_mute(), target);
  }

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

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x0000000cU & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000033U)) {
    // optional string output_device_name = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_output_device_name());
    }
    // optional string input_device_name = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_input_device_name());
    }
    // optional int32 output_volume = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_output_volume());
    }
    // optional int32 input_gain = 5;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_input_gain());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_output_device_name(from._internal_output_device_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_input_device_name(from._internal_input_device_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.output_mute_ = from._impl_.output_mute_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.input_mute_ = from._impl_.input_mute_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.output_volume_ = from._impl_.output_volume_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.input_gain_ = from._impl_.input_gain_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AudioTelemetry::InternalSwap(AudioTelemetry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.output_device_name_, &other->_impl_.output_device_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.input_device_name_, &other->_impl_.input_device_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.input_gain_)
      + sizeof(AudioTelemetry::_impl_.input_gain_)
      - PROTOBUF_FIELD_OFFSET(AudioTelemetry, _impl_.output_mute_)>(
          reinterpret_cast<char*>(&_impl_.output_mute_),
          reinterpret_cast<char*>(&other->_impl_.output_mute_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BootPerformanceTelemetry_class_data_ =
    BootPerformanceTelemetry::InternalGenerateClassData_(BootPerformanceTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.shutdown_reason_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001eU)) {
    ::memset(&_impl_.boot_up_seconds_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.shutdown_timestamp_seconds_) -
        reinterpret_cast<char*>(&_impl_.boot_up_seconds_)) + sizeof(_impl_.shutdown_timestamp_seconds_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // optional string shutdown_reason = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_shutdown_reason());
    }
    // optional int64 boot_up_seconds = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_boot_up_seconds());
    }
    // optional int64 boot_up_timestamp_seconds = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_boot_up_timestamp_seconds());
    }
    // optional int64 shutdown_seconds = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_shutdown_seconds());
    }
    // optional int64 shutdown_timestamp_seconds = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_shutdown_timestamp_seconds());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_shutdown_reason(from._internal_shutdown_reason());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.boot_up_seconds_ = from._impl_.boot_up_seconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.boot_up_timestamp_seconds_ = from._impl_.boot_up_timestamp_seconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.shutdown_seconds_ = from._impl_.shutdown_seconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.shutdown_timestamp_seconds_ = from._impl_.shutdown_timestamp_seconds_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BootPerformanceTelemetry::InternalSwap(BootPerformanceTelemetry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.shutdown_reason_, &other->_impl_.shutdown_reason_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.shutdown_timestamp_seconds_)
      + sizeof(BootPerformanceTelemetry::_impl_.shutdown_timestamp_seconds_)
      - PROTOBUF_FIELD_OFFSET(BootPerformanceTelemetry, _impl_.boot_up_seconds_)>(
          reinterpret_cast<char*>(&_impl_.boot_up_seconds_),
          reinterpret_cast<char*>(&other->_impl_.boot_up_seconds_));
}

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite UserStatusTelemetry_class_data_ =
    UserStatusTelemetry::InternalGenerateClassData_(UserStatusTelemetry_globals_._default);

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .reporting.UserStatusTelemetry.DeviceActivityState device_activity_state = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_device_activity_state(), target);
  }

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

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

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

   {
    // optional .reporting.UserStatusTelemetry.DeviceActivityState device_activity_state = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_device_activity_state());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

DisplaysTelemetry::DisplaysTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DisplaysTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.DisplaysTelemetry)
}
PROTOBUF_NDEBUG_INLINE DisplaysTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::DisplaysTelemetry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        display_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::DisplaysTelemetry,
              PROTOBUF_FIELD_OFFSET(::reporting::DisplaysTelemetry, _impl_.display_status_)>()
          , from.display_status_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DisplaysTelemetry_class_data_ =
    DisplaysTelemetry::InternalGenerateClassData_(DisplaysTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.display_status_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .reporting.DisplayStatus display_status = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_display_status_size());
         i < n; i++) {
      const auto& repfield = this_._internal_display_status().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .reporting.DisplayStatus display_status = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_display_status_size();
      for (const auto& msg : this_._internal_display_status()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DisplayStatus_class_data_ =
    DisplayStatus::InternalGenerateClassData_(DisplayStatus_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.display_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.edid_version_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000007cU)) {
    ::memset(&_impl_.resolution_horizontal_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.serial_number_) -
        reinterpret_cast<char*>(&_impl_.resolution_horizontal_)) + sizeof(_impl_.serial_number_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

  // optional bool is_internal = 5;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_is_internal(), target);
  }

  // optional uint32 serial_number = 6;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this_._internal_serial_number(), target);
  }

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000020U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000005fU)) {
    // optional string display_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_display_name());
    }
    // optional string edid_version = 7;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_edid_version());
    }
    // optional int32 resolution_horizontal = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_resolution_horizontal());
    }
    // optional int32 resolution_vertical = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_resolution_vertical());
    }
    // optional int64 refresh_rate = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_refresh_rate());
    }
    // optional uint32 serial_number = 6;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_serial_number());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_display_name(from._internal_display_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_edid_version(from._internal_edid_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.resolution_horizontal_ = from._impl_.resolution_horizontal_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.resolution_vertical_ = from._impl_.resolution_vertical_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.refresh_rate_ = from._impl_.refresh_rate_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.is_internal_ = from._impl_.is_internal_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.serial_number_ = from._impl_.serial_number_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DisplayStatus::InternalSwap(DisplayStatus* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_name_, &other->_impl_.display_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.edid_version_, &other->_impl_.edid_version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.serial_number_)
      + sizeof(DisplayStatus::_impl_.serial_number_)
      - PROTOBUF_FIELD_OFFSET(DisplayStatus, _impl_.resolution_horizontal_)>(
          reinterpret_cast<char*>(&_impl_.resolution_horizontal_),
          reinterpret_cast<char*>(&other->_impl_.resolution_horizontal_));
}

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite KioskHeartbeatTelemetry_class_data_ =
    KioskHeartbeatTelemetry::InternalGenerateClassData_(KioskHeartbeatTelemetry_globals_._default);

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

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

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

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

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

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite KioskVisionView_class_data_ =
    KioskVisionView::InternalGenerateClassData_(KioskVisionView_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    ::memset(&_impl_.start_time_sec_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.end_time_sec_) -
        reinterpret_cast<char*>(&_impl_.start_time_sec_)) + sizeof(_impl_.end_time_sec_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

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


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

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

KioskVisionAudience::KioskVisionAudience(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, KioskVisionAudience_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.KioskVisionAudience)
}
PROTOBUF_NDEBUG_INLINE KioskVisionAudience::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::KioskVisionAudience& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        views_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::KioskVisionAudience,
              PROTOBUF_FIELD_OFFSET(::reporting::KioskVisionAudience, _impl_.views_)>()
          , from.views_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite KioskVisionAudience_class_data_ =
    KioskVisionAudience::InternalGenerateClassData_(KioskVisionAudience_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.views_.Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.presence_start_date_sec_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.presence_end_date_sec_) -
        reinterpret_cast<char*>(&_impl_.presence_start_date_sec_)) + sizeof(_impl_.presence_end_date_sec_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // repeated .reporting.KioskVisionView views = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_views_size());
         i < n; i++) {
      const auto& repfield = this_._internal_views().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated .reporting.KioskVisionView views = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_views_size();
      for (const auto& msg : this_._internal_views()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional int64 presence_start_date_sec = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_presence_start_date_sec());
    }
    // optional int64 presence_end_date_sec = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_presence_end_date_sec());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_views()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_views());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.presence_start_date_sec_ = from._impl_.presence_start_date_sec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.presence_end_date_sec_ = from._impl_.presence_end_date_sec_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

KioskVisionTelemetry::KioskVisionTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, KioskVisionTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.KioskVisionTelemetry)
}
PROTOBUF_NDEBUG_INLINE KioskVisionTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::KioskVisionTelemetry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        audience_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::KioskVisionTelemetry,
              PROTOBUF_FIELD_OFFSET(::reporting::KioskVisionTelemetry, _impl_.audience_)>()
          , from.audience_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite KioskVisionTelemetry_class_data_ =
    KioskVisionTelemetry::InternalGenerateClassData_(KioskVisionTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.audience_.Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001eU)) {
    ::memset(&_impl_.start_date_sec_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.pass_count_) -
        reinterpret_cast<char*>(&_impl_.start_date_sec_)) + sizeof(_impl_.pass_count_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

  // repeated .reporting.KioskVisionAudience audience = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_audience_size());
         i < n; i++) {
      const auto& repfield = this_._internal_audience().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated .reporting.KioskVisionAudience audience = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_audience_size();
      for (const auto& msg : this_._internal_audience()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional int64 start_date_sec = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_start_date_sec());
    }
    // optional int64 end_date_sec = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_end_date_sec());
    }
    // optional int32 view_count = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_view_count());
    }
    // optional int32 pass_count = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_pass_count());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_audience()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_audience());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.start_date_sec_ = from._impl_.start_date_sec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.end_date_sec_ = from._impl_.end_date_sec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.view_count_ = from._impl_.view_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.pass_count_ = from._impl_.pass_count_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite KioskVisionStatusReport_class_data_ =
    KioskVisionStatusReport::InternalGenerateClassData_(KioskVisionStatusReport_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    ::memset(&_impl_.time_stamp_sec_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.state_) -
        reinterpret_cast<char*>(&_impl_.time_stamp_sec_)) + sizeof(_impl_.state_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .reporting.KioskVisionStatusReport.KioskVisionState state = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_state(), target);
  }

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional int64 time_stamp_sec = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_time_stamp_sec());
    }
    // optional int64 state_change_time_stamp_sec = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_state_change_time_stamp_sec());
    }
    // optional .reporting.KioskVisionStatusReport.KioskVisionState state = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_state());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.time_stamp_sec_ = from._impl_.time_stamp_sec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.state_change_time_stamp_sec_ = from._impl_.state_change_time_stamp_sec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.state_ = from._impl_.state_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TelemetryData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.networks_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.networks_telemetry_)
                : nullptr;
  _impl_.audio_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.audio_telemetry_)
                : nullptr;
  _impl_.peripherals_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.peripherals_telemetry_)
                : nullptr;
  _impl_.boot_performance_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.boot_performance_telemetry_)
                : nullptr;
  _impl_.user_status_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.user_status_telemetry_)
                : nullptr;
  _impl_.displays_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.displays_telemetry_)
                : nullptr;
  _impl_.app_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_telemetry_)
                : nullptr;
  _impl_.fatal_crash_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.fatal_crash_telemetry_)
                : nullptr;
  _impl_.runtime_counters_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000100U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.runtime_counters_telemetry_)
                : nullptr;
  _impl_.website_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000200U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.website_telemetry_)
                : nullptr;
  _impl_.heartbeat_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000400U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.heartbeat_telemetry_)
                : nullptr;
  _impl_.kiosk_vision_telemetry_ = (CheckHasBit(cached_has_bits, 0x00000800U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.kiosk_vision_telemetry_)
                : nullptr;
  _impl_.kiosk_vision_status_ = (CheckHasBit(cached_has_bits, 0x00001000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.kiosk_vision_status_)
                : nullptr;
  _impl_.is_event_driven_ = from._impl_.is_event_driven_;

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

inline void TelemetryData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, networks_telemetry_),
           0,
           offsetof(Impl_, is_event_driven_) -
               offsetof(Impl_, networks_telemetry_) +
               sizeof(Impl_::is_event_driven_));
}
TelemetryData::~TelemetryData() {
  // @@protoc_insertion_point(destructor:reporting.TelemetryData)
  SharedDtor(*this);
}
inline void TelemetryData::SharedDtor(MessageLite& self) {
  TelemetryData& this_ = static_cast<TelemetryData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.networks_telemetry_;
  delete this_._impl_.audio_telemetry_;
  delete this_._impl_.peripherals_telemetry_;
  delete this_._impl_.boot_performance_telemetry_;
  delete this_._impl_.user_status_telemetry_;
  delete this_._impl_.displays_telemetry_;
  delete this_._impl_.app_telemetry_;
  delete this_._impl_.fatal_crash_telemetry_;
  delete this_._impl_.runtime_counters_telemetry_;
  delete this_._impl_.website_telemetry_;
  delete this_._impl_.heartbeat_telemetry_;
  delete this_._impl_.kiosk_vision_telemetry_;
  delete this_._impl_.kiosk_vision_status_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TelemetryData_class_data_ =
    TelemetryData::InternalGenerateClassData_(TelemetryData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.networks_telemetry_ != nullptr);
      _impl_.networks_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.audio_telemetry_ != nullptr);
      _impl_.audio_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.peripherals_telemetry_ != nullptr);
      _impl_.peripherals_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.boot_performance_telemetry_ != nullptr);
      _impl_.boot_performance_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.user_status_telemetry_ != nullptr);
      _impl_.user_status_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.displays_telemetry_ != nullptr);
      _impl_.displays_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.app_telemetry_ != nullptr);
      _impl_.app_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.fatal_crash_telemetry_ != nullptr);
      _impl_.fatal_crash_telemetry_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      ABSL_DCHECK(_impl_.runtime_counters_telemetry_ != nullptr);
      _impl_.runtime_counters_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(_impl_.website_telemetry_ != nullptr);
      _impl_.website_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(_impl_.heartbeat_telemetry_ != nullptr);
      _impl_.heartbeat_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(_impl_.kiosk_vision_telemetry_ != nullptr);
      _impl_.kiosk_vision_telemetry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(_impl_.kiosk_vision_status_ != nullptr);
      _impl_.kiosk_vision_status_->Clear();
    }
  }
  _impl_.is_event_driven_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // optional .reporting.AudioTelemetry audio_telemetry = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.audio_telemetry_, this_._impl_.audio_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.PeripheralsTelemetry peripherals_telemetry = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.peripherals_telemetry_, this_._impl_.peripherals_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.BootPerformanceTelemetry boot_performance_telemetry = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.boot_performance_telemetry_, this_._impl_.boot_performance_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.UserStatusTelemetry user_status_telemetry = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.user_status_telemetry_, this_._impl_.user_status_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.DisplaysTelemetry displays_telemetry = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.displays_telemetry_, this_._impl_.displays_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.AppTelemetry app_telemetry = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.app_telemetry_, this_._impl_.app_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional bool is_event_driven = 8;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this_._internal_is_event_driven(), target);
  }

  // optional .reporting.FatalCrashTelemetry fatal_crash_telemetry = 9;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, *this_._impl_.fatal_crash_telemetry_, this_._impl_.fatal_crash_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.RuntimeCountersTelemetry runtime_counters_telemetry = 10;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, *this_._impl_.runtime_counters_telemetry_, this_._impl_.runtime_counters_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.WebsiteTelemetry website_telemetry = 11;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, *this_._impl_.website_telemetry_, this_._impl_.website_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.KioskHeartbeatTelemetry heartbeat_telemetry = 12;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        12, *this_._impl_.heartbeat_telemetry_, this_._impl_.heartbeat_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.KioskVisionTelemetry kiosk_vision_telemetry = 13;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        13, *this_._impl_.kiosk_vision_telemetry_, this_._impl_.kiosk_vision_telemetry_->GetCachedSize(), target,
        stream);
  }

  // optional .reporting.KioskVisionStatusReport kiosk_vision_status = 14;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        14, *this_._impl_.kiosk_vision_status_, this_._impl_.kiosk_vision_status_->GetCachedSize(), target,
        stream);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00002000U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional .reporting.NetworksTelemetry networks_telemetry = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.networks_telemetry_);
    }
    // optional .reporting.AudioTelemetry audio_telemetry = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.audio_telemetry_);
    }
    // optional .reporting.PeripheralsTelemetry peripherals_telemetry = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.peripherals_telemetry_);
    }
    // optional .reporting.BootPerformanceTelemetry boot_performance_telemetry = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.boot_performance_telemetry_);
    }
    // optional .reporting.UserStatusTelemetry user_status_telemetry = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.user_status_telemetry_);
    }
    // optional .reporting.DisplaysTelemetry displays_telemetry = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.displays_telemetry_);
    }
    // optional .reporting.AppTelemetry app_telemetry = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.app_telemetry_);
    }
    // optional .reporting.FatalCrashTelemetry fatal_crash_telemetry = 9;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.fatal_crash_telemetry_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    // optional .reporting.RuntimeCountersTelemetry runtime_counters_telemetry = 10;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.runtime_counters_telemetry_);
    }
    // optional .reporting.WebsiteTelemetry website_telemetry = 11;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.website_telemetry_);
    }
    // optional .reporting.KioskHeartbeatTelemetry heartbeat_telemetry = 12;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.heartbeat_telemetry_);
    }
    // optional .reporting.KioskVisionTelemetry kiosk_vision_telemetry = 13;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.kiosk_vision_telemetry_);
    }
    // optional .reporting.KioskVisionStatusReport kiosk_vision_status = 14;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.kiosk_vision_status_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.networks_telemetry_ != nullptr);
      if (_this->_impl_.networks_telemetry_ == nullptr) {
        _this->_impl_.networks_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.networks_telemetry_);
      } else {
        _this->_impl_.networks_telemetry_->MergeFrom(*from._impl_.networks_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.audio_telemetry_ != nullptr);
      if (_this->_impl_.audio_telemetry_ == nullptr) {
        _this->_impl_.audio_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.audio_telemetry_);
      } else {
        _this->_impl_.audio_telemetry_->MergeFrom(*from._impl_.audio_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.peripherals_telemetry_ != nullptr);
      if (_this->_impl_.peripherals_telemetry_ == nullptr) {
        _this->_impl_.peripherals_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.peripherals_telemetry_);
      } else {
        _this->_impl_.peripherals_telemetry_->MergeFrom(*from._impl_.peripherals_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.boot_performance_telemetry_ != nullptr);
      if (_this->_impl_.boot_performance_telemetry_ == nullptr) {
        _this->_impl_.boot_performance_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.boot_performance_telemetry_);
      } else {
        _this->_impl_.boot_performance_telemetry_->MergeFrom(*from._impl_.boot_performance_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.user_status_telemetry_ != nullptr);
      if (_this->_impl_.user_status_telemetry_ == nullptr) {
        _this->_impl_.user_status_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.user_status_telemetry_);
      } else {
        _this->_impl_.user_status_telemetry_->MergeFrom(*from._impl_.user_status_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.displays_telemetry_ != nullptr);
      if (_this->_impl_.displays_telemetry_ == nullptr) {
        _this->_impl_.displays_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.displays_telemetry_);
      } else {
        _this->_impl_.displays_telemetry_->MergeFrom(*from._impl_.displays_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.app_telemetry_ != nullptr);
      if (_this->_impl_.app_telemetry_ == nullptr) {
        _this->_impl_.app_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_telemetry_);
      } else {
        _this->_impl_.app_telemetry_->MergeFrom(*from._impl_.app_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.fatal_crash_telemetry_ != nullptr);
      if (_this->_impl_.fatal_crash_telemetry_ == nullptr) {
        _this->_impl_.fatal_crash_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.fatal_crash_telemetry_);
      } else {
        _this->_impl_.fatal_crash_telemetry_->MergeFrom(*from._impl_.fatal_crash_telemetry_);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      ABSL_DCHECK(from._impl_.runtime_counters_telemetry_ != nullptr);
      if (_this->_impl_.runtime_counters_telemetry_ == nullptr) {
        _this->_impl_.runtime_counters_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.runtime_counters_telemetry_);
      } else {
        _this->_impl_.runtime_counters_telemetry_->MergeFrom(*from._impl_.runtime_counters_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(from._impl_.website_telemetry_ != nullptr);
      if (_this->_impl_.website_telemetry_ == nullptr) {
        _this->_impl_.website_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.website_telemetry_);
      } else {
        _this->_impl_.website_telemetry_->MergeFrom(*from._impl_.website_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(from._impl_.heartbeat_telemetry_ != nullptr);
      if (_this->_impl_.heartbeat_telemetry_ == nullptr) {
        _this->_impl_.heartbeat_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.heartbeat_telemetry_);
      } else {
        _this->_impl_.heartbeat_telemetry_->MergeFrom(*from._impl_.heartbeat_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(from._impl_.kiosk_vision_telemetry_ != nullptr);
      if (_this->_impl_.kiosk_vision_telemetry_ == nullptr) {
        _this->_impl_.kiosk_vision_telemetry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.kiosk_vision_telemetry_);
      } else {
        _this->_impl_.kiosk_vision_telemetry_->MergeFrom(*from._impl_.kiosk_vision_telemetry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(from._impl_.kiosk_vision_status_ != nullptr);
      if (_this->_impl_.kiosk_vision_status_ == nullptr) {
        _this->_impl_.kiosk_vision_status_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.kiosk_vision_status_);
      } else {
        _this->_impl_.kiosk_vision_status_->MergeFrom(*from._impl_.kiosk_vision_status_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.is_event_driven_ = from._impl_.is_event_driven_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

void AppTelemetry::set_allocated_app_install_data(::reporting::AppInstallData* PROTOBUF_NULLABLE app_install_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_app_metric_data();
  if (app_install_data) {
    ::google::protobuf::Arena* submessage_arena = app_install_data->GetArena();
    if (message_arena != submessage_arena) {
      app_install_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, app_install_data, submessage_arena);
    }
    set_has_app_install_data();
    _impl_.app_metric_data_.app_install_data_ = app_install_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.AppTelemetry.app_install_data)
}
void AppTelemetry::set_allocated_app_uninstall_data(::reporting::AppUninstallData* PROTOBUF_NULLABLE app_uninstall_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_app_metric_data();
  if (app_uninstall_data) {
    ::google::protobuf::Arena* submessage_arena = app_uninstall_data->GetArena();
    if (message_arena != submessage_arena) {
      app_uninstall_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, app_uninstall_data, submessage_arena);
    }
    set_has_app_uninstall_data();
    _impl_.app_metric_data_.app_uninstall_data_ = app_uninstall_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.AppTelemetry.app_uninstall_data)
}
void AppTelemetry::set_allocated_app_launch_data(::reporting::AppLaunchData* PROTOBUF_NULLABLE app_launch_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_app_metric_data();
  if (app_launch_data) {
    ::google::protobuf::Arena* submessage_arena = app_launch_data->GetArena();
    if (message_arena != submessage_arena) {
      app_launch_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, app_launch_data, submessage_arena);
    }
    set_has_app_launch_data();
    _impl_.app_metric_data_.app_launch_data_ = app_launch_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.AppTelemetry.app_launch_data)
}
void AppTelemetry::set_allocated_app_usage_data(::reporting::AppUsageData* PROTOBUF_NULLABLE app_usage_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_app_metric_data();
  if (app_usage_data) {
    ::google::protobuf::Arena* submessage_arena = app_usage_data->GetArena();
    if (message_arena != submessage_arena) {
      app_usage_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, app_usage_data, submessage_arena);
    }
    set_has_app_usage_data();
    _impl_.app_metric_data_.app_usage_data_ = app_usage_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.AppTelemetry.app_usage_data)
}
AppTelemetry::AppTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AppTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.AppTelemetry)
}
PROTOBUF_NDEBUG_INLINE AppTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::AppTelemetry& from_msg)
      : app_metric_data_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AppTelemetry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (app_metric_data_case()) {
    case APP_METRIC_DATA_NOT_SET:
      break;
      case kAppInstallData:
        _impl_.app_metric_data_.app_install_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_metric_data_.app_install_data_);
        break;
      case kAppUninstallData:
        _impl_.app_metric_data_.app_uninstall_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_metric_data_.app_uninstall_data_);
        break;
      case kAppLaunchData:
        _impl_.app_metric_data_.app_launch_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_metric_data_.app_launch_data_);
        break;
      case kAppUsageData:
        _impl_.app_metric_data_.app_usage_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_metric_data_.app_usage_data_);
        break;
  }

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

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

void AppTelemetry::clear_app_metric_data() {
// @@protoc_insertion_point(one_of_clear_start:reporting.AppTelemetry)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (app_metric_data_case()) {
    case kAppInstallData: {
      if (GetArena() == nullptr) {
        delete _impl_.app_metric_data_.app_install_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.app_metric_data_.app_install_data_ != nullptr) {
          _impl_.app_metric_data_.app_install_data_->Clear();
        }
      }
      break;
    }
    case kAppUninstallData: {
      if (GetArena() == nullptr) {
        delete _impl_.app_metric_data_.app_uninstall_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.app_metric_data_.app_uninstall_data_ != nullptr) {
          _impl_.app_metric_data_.app_uninstall_data_->Clear();
        }
      }
      break;
    }
    case kAppLaunchData: {
      if (GetArena() == nullptr) {
        delete _impl_.app_metric_data_.app_launch_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.app_metric_data_.app_launch_data_ != nullptr) {
          _impl_.app_metric_data_.app_launch_data_->Clear();
        }
      }
      break;
    }
    case kAppUsageData: {
      if (GetArena() == nullptr) {
        delete _impl_.app_metric_data_.app_usage_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.app_metric_data_.app_usage_data_ != nullptr) {
          _impl_.app_metric_data_.app_usage_data_->Clear();
        }
      }
      break;
    }
    case APP_METRIC_DATA_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = APP_METRIC_DATA_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AppTelemetry_class_data_ =
    AppTelemetry::InternalGenerateClassData_(AppTelemetry_globals_._default);

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

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

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

  switch (this_.app_metric_data_case()) {
    case kAppInstallData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.app_metric_data_.app_install_data_, this_._impl_.app_metric_data_.app_install_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAppUninstallData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.app_metric_data_.app_uninstall_data_, this_._impl_.app_metric_data_.app_uninstall_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAppLaunchData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.app_metric_data_.app_launch_data_, this_._impl_.app_metric_data_.app_launch_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAppUsageData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, *this_._impl_.app_metric_data_.app_usage_data_, this_._impl_.app_metric_data_.app_usage_data_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:reporting.AppTelemetry)
  return target;
}

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

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

  switch (this_.app_metric_data_case()) {
    // .reporting.AppInstallData app_install_data = 3;
    case kAppInstallData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.app_metric_data_.app_install_data_);
      break;
    }
    // .reporting.AppUninstallData app_uninstall_data = 4;
    case kAppUninstallData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.app_metric_data_.app_uninstall_data_);
      break;
    }
    // .reporting.AppLaunchData app_launch_data = 5;
    case kAppLaunchData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.app_metric_data_.app_launch_data_);
      break;
    }
    // .reporting.AppUsageData app_usage_data = 6;
    case kAppUsageData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.app_metric_data_.app_usage_data_);
      break;
    }
    case APP_METRIC_DATA_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_app_metric_data();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kAppInstallData: {
        if (oneof_needs_init) {
          _this->_impl_.app_metric_data_.app_install_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_metric_data_.app_install_data_);
        } else {
          _this->_impl_.app_metric_data_.app_install_data_->CheckTypeAndMergeFrom(*from._impl_.app_metric_data_.app_install_data_);
        }
        break;
      }
      case kAppUninstallData: {
        if (oneof_needs_init) {
          _this->_impl_.app_metric_data_.app_uninstall_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_metric_data_.app_uninstall_data_);
        } else {
          _this->_impl_.app_metric_data_.app_uninstall_data_->CheckTypeAndMergeFrom(*from._impl_.app_metric_data_.app_uninstall_data_);
        }
        break;
      }
      case kAppLaunchData: {
        if (oneof_needs_init) {
          _this->_impl_.app_metric_data_.app_launch_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_metric_data_.app_launch_data_);
        } else {
          _this->_impl_.app_metric_data_.app_launch_data_->CheckTypeAndMergeFrom(*from._impl_.app_metric_data_.app_launch_data_);
        }
        break;
      }
      case kAppUsageData: {
        if (oneof_needs_init) {
          _this->_impl_.app_metric_data_.app_usage_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_metric_data_.app_usage_data_);
        } else {
          _this->_impl_.app_metric_data_.app_usage_data_->CheckTypeAndMergeFrom(*from._impl_.app_metric_data_.app_usage_data_);
        }
        break;
      }
      case APP_METRIC_DATA_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AppInstallData_class_data_ =
    AppInstallData::InternalGenerateClassData_(AppInstallData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.app_id_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001eU)) {
    ::memset(&_impl_.app_install_source_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.app_type_) -
        reinterpret_cast<char*>(&_impl_.app_install_source_)) + sizeof(_impl_.app_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .apps.ApplicationInstallSource app_install_source = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_app_install_source(), target);
  }

  // optional .apps.ApplicationInstallReason app_install_reason = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_app_install_reason(), target);
  }

  // optional .apps.ApplicationInstallTime app_install_time = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_app_install_time(), target);
  }

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

  // optional .apps.ApplicationType app_type = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_app_type(), target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // optional string app_id = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_id());
    }
    // optional .apps.ApplicationInstallSource app_install_source = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_install_source());
    }
    // optional .apps.ApplicationInstallReason app_install_reason = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_install_reason());
    }
    // optional .apps.ApplicationInstallTime app_install_time = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_install_time());
    }
    // optional .apps.ApplicationType app_type = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_app_id(from._internal_app_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.app_install_source_ = from._impl_.app_install_source_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.app_install_reason_ = from._impl_.app_install_reason_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.app_install_time_ = from._impl_.app_install_time_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.app_type_ = from._impl_.app_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AppInstallData::InternalSwap(AppInstallData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_id_, &other->_impl_.app_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_type_)
      + sizeof(AppInstallData::_impl_.app_type_)
      - PROTOBUF_FIELD_OFFSET(AppInstallData, _impl_.app_install_source_)>(
          reinterpret_cast<char*>(&_impl_.app_install_source_),
          reinterpret_cast<char*>(&other->_impl_.app_install_source_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AppLaunchData_class_data_ =
    AppLaunchData::InternalGenerateClassData_(AppLaunchData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.app_id_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.app_launch_source_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.app_type_) -
        reinterpret_cast<char*>(&_impl_.app_launch_source_)) + sizeof(_impl_.app_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .apps.ApplicationLaunchSource app_launch_source = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_app_launch_source(), target);
  }

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

  // optional .apps.ApplicationType app_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_app_type(), target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional string app_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_id());
    }
    // optional .apps.ApplicationLaunchSource app_launch_source = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_launch_source());
    }
    // optional .apps.ApplicationType app_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_app_id(from._internal_app_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.app_launch_source_ = from._impl_.app_launch_source_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.app_type_ = from._impl_.app_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AppLaunchData::InternalSwap(AppLaunchData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_id_, &other->_impl_.app_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_.app_type_)
      + sizeof(AppLaunchData::_impl_.app_type_)
      - PROTOBUF_FIELD_OFFSET(AppLaunchData, _impl_.app_launch_source_)>(
          reinterpret_cast<char*>(&_impl_.app_launch_source_),
          reinterpret_cast<char*>(&other->_impl_.app_launch_source_));
}

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

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

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

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

  // @@protoc_insertion_point(copy_constructor:reporting.AppUsageData.AppUsage)
}
PROTOBUF_NDEBUG_INLINE AppUsageData_AppUsage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        app_id_(arena),
        app_instance_id_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AppUsageData_AppUsage_class_data_ =
    AppUsageData_AppUsage::InternalGenerateClassData_(AppUsageData_AppUsage_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.app_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.app_instance_id_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
    ::memset(&_impl_.running_time_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.app_type_) -
        reinterpret_cast<char*>(&_impl_.running_time_ms_)) + sizeof(_impl_.app_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // optional .apps.ApplicationType app_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_app_type(), target);
  }

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // optional string app_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_id());
    }
    // optional string app_instance_id = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_instance_id());
    }
    // optional int64 running_time_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_running_time_ms());
    }
    // optional .apps.ApplicationType app_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_app_id(from._internal_app_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_app_instance_id(from._internal_app_instance_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.running_time_ms_ = from._impl_.running_time_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.app_type_ = from._impl_.app_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void AppUsageData_AppUsage::CopyFrom(const AppUsageData_AppUsage& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:reporting.AppUsageData.AppUsage)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void AppUsageData_AppUsage::InternalSwap(AppUsageData_AppUsage* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_id_, &other->_impl_.app_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_instance_id_, &other->_impl_.app_instance_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.app_type_)
      + sizeof(AppUsageData_AppUsage::_impl_.app_type_)
      - PROTOBUF_FIELD_OFFSET(AppUsageData_AppUsage, _impl_.running_time_ms_)>(
          reinterpret_cast<char*>(&_impl_.running_time_ms_),
          reinterpret_cast<char*>(&other->_impl_.running_time_ms_));
}

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

AppUsageData::AppUsageData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AppUsageData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.AppUsageData)
}
PROTOBUF_NDEBUG_INLINE AppUsageData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::AppUsageData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        app_usage_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::AppUsageData,
              PROTOBUF_FIELD_OFFSET(::reporting::AppUsageData, _impl_.app_usage_)>()
          , from.app_usage_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AppUsageData_class_data_ =
    AppUsageData::InternalGenerateClassData_(AppUsageData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.app_usage_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .reporting.AppUsageData.AppUsage app_usage = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_app_usage_size());
         i < n; i++) {
      const auto& repfield = this_._internal_app_usage().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .reporting.AppUsageData.AppUsage app_usage = 2;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_app_usage_size();
      for (const auto& msg : this_._internal_app_usage()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AppUninstallData_class_data_ =
    AppUninstallData::InternalGenerateClassData_(AppUninstallData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.app_id_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.app_uninstall_source_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.app_type_) -
        reinterpret_cast<char*>(&_impl_.app_uninstall_source_)) + sizeof(_impl_.app_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .apps.ApplicationUninstallSource app_uninstall_source = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_app_uninstall_source(), target);
  }

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

  // optional .apps.ApplicationType app_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_app_type(), target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional string app_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_id());
    }
    // optional .apps.ApplicationUninstallSource app_uninstall_source = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_uninstall_source());
    }
    // optional .apps.ApplicationType app_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_app_id(from._internal_app_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.app_uninstall_source_ = from._impl_.app_uninstall_source_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.app_type_ = from._impl_.app_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AppUninstallData::InternalSwap(AppUninstallData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_id_, &other->_impl_.app_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_.app_type_)
      + sizeof(AppUninstallData::_impl_.app_type_)
      - PROTOBUF_FIELD_OFFSET(AppUninstallData, _impl_.app_uninstall_source_)>(
          reinterpret_cast<char*>(&_impl_.app_uninstall_source_),
          reinterpret_cast<char*>(&other->_impl_.app_uninstall_source_));
}

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

void WebsiteTelemetry::set_allocated_website_opened_data(::reporting::WebsiteOpenedData* PROTOBUF_NULLABLE website_opened_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_website_metric_data();
  if (website_opened_data) {
    ::google::protobuf::Arena* submessage_arena = website_opened_data->GetArena();
    if (message_arena != submessage_arena) {
      website_opened_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, website_opened_data, submessage_arena);
    }
    set_has_website_opened_data();
    _impl_.website_metric_data_.website_opened_data_ = website_opened_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.WebsiteTelemetry.website_opened_data)
}
void WebsiteTelemetry::set_allocated_website_closed_data(::reporting::WebsiteClosedData* PROTOBUF_NULLABLE website_closed_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_website_metric_data();
  if (website_closed_data) {
    ::google::protobuf::Arena* submessage_arena = website_closed_data->GetArena();
    if (message_arena != submessage_arena) {
      website_closed_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, website_closed_data, submessage_arena);
    }
    set_has_website_closed_data();
    _impl_.website_metric_data_.website_closed_data_ = website_closed_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.WebsiteTelemetry.website_closed_data)
}
void WebsiteTelemetry::set_allocated_website_usage_data(::reporting::WebsiteUsageData* PROTOBUF_NULLABLE website_usage_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_website_metric_data();
  if (website_usage_data) {
    ::google::protobuf::Arena* submessage_arena = website_usage_data->GetArena();
    if (message_arena != submessage_arena) {
      website_usage_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, website_usage_data, submessage_arena);
    }
    set_has_website_usage_data();
    _impl_.website_metric_data_.website_usage_data_ = website_usage_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.WebsiteTelemetry.website_usage_data)
}
WebsiteTelemetry::WebsiteTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WebsiteTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.WebsiteTelemetry)
}
PROTOBUF_NDEBUG_INLINE WebsiteTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::WebsiteTelemetry& from_msg)
      : website_metric_data_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  WebsiteTelemetry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (website_metric_data_case()) {
    case WEBSITE_METRIC_DATA_NOT_SET:
      break;
      case kWebsiteOpenedData:
        _impl_.website_metric_data_.website_opened_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.website_metric_data_.website_opened_data_);
        break;
      case kWebsiteClosedData:
        _impl_.website_metric_data_.website_closed_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.website_metric_data_.website_closed_data_);
        break;
      case kWebsiteUsageData:
        _impl_.website_metric_data_.website_usage_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.website_metric_data_.website_usage_data_);
        break;
  }

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

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

void WebsiteTelemetry::clear_website_metric_data() {
// @@protoc_insertion_point(one_of_clear_start:reporting.WebsiteTelemetry)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (website_metric_data_case()) {
    case kWebsiteOpenedData: {
      if (GetArena() == nullptr) {
        delete _impl_.website_metric_data_.website_opened_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.website_metric_data_.website_opened_data_ != nullptr) {
          _impl_.website_metric_data_.website_opened_data_->Clear();
        }
      }
      break;
    }
    case kWebsiteClosedData: {
      if (GetArena() == nullptr) {
        delete _impl_.website_metric_data_.website_closed_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.website_metric_data_.website_closed_data_ != nullptr) {
          _impl_.website_metric_data_.website_closed_data_->Clear();
        }
      }
      break;
    }
    case kWebsiteUsageData: {
      if (GetArena() == nullptr) {
        delete _impl_.website_metric_data_.website_usage_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.website_metric_data_.website_usage_data_ != nullptr) {
          _impl_.website_metric_data_.website_usage_data_->Clear();
        }
      }
      break;
    }
    case WEBSITE_METRIC_DATA_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = WEBSITE_METRIC_DATA_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WebsiteTelemetry_class_data_ =
    WebsiteTelemetry::InternalGenerateClassData_(WebsiteTelemetry_globals_._default);

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

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

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

  switch (this_.website_metric_data_case()) {
    case kWebsiteOpenedData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, *this_._impl_.website_metric_data_.website_opened_data_, this_._impl_.website_metric_data_.website_opened_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kWebsiteClosedData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.website_metric_data_.website_closed_data_, this_._impl_.website_metric_data_.website_closed_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kWebsiteUsageData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.website_metric_data_.website_usage_data_, this_._impl_.website_metric_data_.website_usage_data_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:reporting.WebsiteTelemetry)
  return target;
}

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

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

  switch (this_.website_metric_data_case()) {
    // .reporting.WebsiteOpenedData website_opened_data = 1;
    case kWebsiteOpenedData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.website_metric_data_.website_opened_data_);
      break;
    }
    // .reporting.WebsiteClosedData website_closed_data = 2;
    case kWebsiteClosedData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.website_metric_data_.website_closed_data_);
      break;
    }
    // .reporting.WebsiteUsageData website_usage_data = 3;
    case kWebsiteUsageData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.website_metric_data_.website_usage_data_);
      break;
    }
    case WEBSITE_METRIC_DATA_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_website_metric_data();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kWebsiteOpenedData: {
        if (oneof_needs_init) {
          _this->_impl_.website_metric_data_.website_opened_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.website_metric_data_.website_opened_data_);
        } else {
          _this->_impl_.website_metric_data_.website_opened_data_->CheckTypeAndMergeFrom(*from._impl_.website_metric_data_.website_opened_data_);
        }
        break;
      }
      case kWebsiteClosedData: {
        if (oneof_needs_init) {
          _this->_impl_.website_metric_data_.website_closed_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.website_metric_data_.website_closed_data_);
        } else {
          _this->_impl_.website_metric_data_.website_closed_data_->CheckTypeAndMergeFrom(*from._impl_.website_metric_data_.website_closed_data_);
        }
        break;
      }
      case kWebsiteUsageData: {
        if (oneof_needs_init) {
          _this->_impl_.website_metric_data_.website_usage_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.website_metric_data_.website_usage_data_);
        } else {
          _this->_impl_.website_metric_data_.website_usage_data_->CheckTypeAndMergeFrom(*from._impl_.website_metric_data_.website_usage_data_);
        }
        break;
      }
      case WEBSITE_METRIC_DATA_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WebsiteOpenedData_class_data_ =
    WebsiteOpenedData::InternalGenerateClassData_(WebsiteOpenedData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.url_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.render_process_host_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.render_frame_routing_id_) -
        reinterpret_cast<char*>(&_impl_.render_process_host_id_)) + sizeof(_impl_.render_frame_routing_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

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

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


void WebsiteOpenedData::InternalSwap(WebsiteOpenedData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_.render_frame_routing_id_)
      + sizeof(WebsiteOpenedData::_impl_.render_frame_routing_id_)
      - PROTOBUF_FIELD_OFFSET(WebsiteOpenedData, _impl_.render_process_host_id_)>(
          reinterpret_cast<char*>(&_impl_.render_process_host_id_),
          reinterpret_cast<char*>(&other->_impl_.render_process_host_id_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WebsiteClosedData_class_data_ =
    WebsiteClosedData::InternalGenerateClassData_(WebsiteClosedData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.url_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.render_process_host_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.render_frame_routing_id_) -
        reinterpret_cast<char*>(&_impl_.render_process_host_id_)) + sizeof(_impl_.render_frame_routing_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

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

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


void WebsiteClosedData::InternalSwap(WebsiteClosedData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_.render_frame_routing_id_)
      + sizeof(WebsiteClosedData::_impl_.render_frame_routing_id_)
      - PROTOBUF_FIELD_OFFSET(WebsiteClosedData, _impl_.render_process_host_id_)>(
          reinterpret_cast<char*>(&_impl_.render_process_host_id_),
          reinterpret_cast<char*>(&other->_impl_.render_process_host_id_));
}

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

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

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

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

  // @@protoc_insertion_point(copy_constructor:reporting.WebsiteUsageData.WebsiteUsage)
}
PROTOBUF_NDEBUG_INLINE WebsiteUsageData_WebsiteUsage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        url_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WebsiteUsageData_WebsiteUsage_class_data_ =
    WebsiteUsageData_WebsiteUsage::InternalGenerateClassData_(WebsiteUsageData_WebsiteUsage_globals_._default);

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

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

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

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

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

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

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

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

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

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

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

void WebsiteUsageData_WebsiteUsage::CopyFrom(const WebsiteUsageData_WebsiteUsage& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:reporting.WebsiteUsageData.WebsiteUsage)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

WebsiteUsageData::WebsiteUsageData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WebsiteUsageData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.WebsiteUsageData)
}
PROTOBUF_NDEBUG_INLINE WebsiteUsageData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::WebsiteUsageData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        website_usage_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::WebsiteUsageData,
              PROTOBUF_FIELD_OFFSET(::reporting::WebsiteUsageData, _impl_.website_usage_)>()
          , from.website_usage_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WebsiteUsageData_class_data_ =
    WebsiteUsageData::InternalGenerateClassData_(WebsiteUsageData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.website_usage_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .reporting.WebsiteUsageData.WebsiteUsage website_usage = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_website_usage_size());
         i < n; i++) {
      const auto& repfield = this_._internal_website_usage().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .reporting.WebsiteUsageData.WebsiteUsage website_usage = 3;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_website_usage_size();
      for (const auto& msg : this_._internal_website_usage()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

PeripheralsTelemetry::PeripheralsTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PeripheralsTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.PeripheralsTelemetry)
}
PROTOBUF_NDEBUG_INLINE PeripheralsTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::PeripheralsTelemetry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        usb_telemetry_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::PeripheralsTelemetry,
              PROTOBUF_FIELD_OFFSET(::reporting::PeripheralsTelemetry, _impl_.usb_telemetry_)>()
          , from.usb_telemetry_
        }
     {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PeripheralsTelemetry_class_data_ =
    PeripheralsTelemetry::InternalGenerateClassData_(PeripheralsTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.usb_telemetry_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .reporting.UsbTelemetry usb_telemetry = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_usb_telemetry_size());
         i < n; i++) {
      const auto& repfield = this_._internal_usb_telemetry().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .reporting.UsbTelemetry usb_telemetry = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_usb_telemetry_size();
      for (const auto& msg : this_._internal_usb_telemetry()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

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


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

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

UsbTelemetry::UsbTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, UsbTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.UsbTelemetry)
}
PROTOBUF_NDEBUG_INLINE UsbTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::UsbTelemetry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        categories_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::reporting::UsbTelemetry,
              PROTOBUF_FIELD_OFFSET(::reporting::UsbTelemetry, _impl_.categories_)>()
          , from.categories_
        }
        ,
        vendor_(arena, from.vendor_),
        name_(arena, from.name_),
        firmware_version_(arena, from.firmware_version_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:reporting.UsbTelemetry)
}
PROTOBUF_NDEBUG_INLINE UsbTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        categories_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::reporting::UsbTelemetry,
            PROTOBUF_FIELD_OFFSET(::reporting::UsbTelemetry, _impl_.categories_)>()
         }
        ,
        vendor_(arena),
        name_(arena),
        firmware_version_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite UsbTelemetry_class_data_ =
    UsbTelemetry::InternalGenerateClassData_(UsbTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.categories_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.vendor_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.firmware_version_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
    ::memset(&_impl_.vid_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.subclass_id_) -
        reinterpret_cast<char*>(&_impl_.vid_)) + sizeof(_impl_.subclass_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated string categories = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_categories().size());
      for (int i = 0, n = this_._internal_categories().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_categories().Get(i));
      }
    }
    // optional string vendor = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_vendor());
    }
    // optional string name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string firmware_version = 8;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_firmware_version());
    }
    // optional int32 vid = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_vid());
    }
    // optional int32 pid = 4;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_pid());
    }
    // optional int32 class_id = 6;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_class_id());
    }
    // optional int32 subclass_id = 7;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_subclass_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_categories()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_categories());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_vendor(from._internal_vendor());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_firmware_version(from._internal_firmware_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.vid_ = from._impl_.vid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.pid_ = from._impl_.pid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.class_id_ = from._impl_.class_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.subclass_id_ = from._impl_.subclass_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void UsbTelemetry::InternalSwap(UsbTelemetry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.categories_.InternalSwap(&other->_impl_.categories_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.vendor_, &other->_impl_.vendor_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.firmware_version_, &other->_impl_.firmware_version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.subclass_id_)
      + sizeof(UsbTelemetry::_impl_.subclass_id_)
      - PROTOBUF_FIELD_OFFSET(UsbTelemetry, _impl_.vid_)>(
          reinterpret_cast<char*>(&_impl_.vid_),
          reinterpret_cast<char*>(&other->_impl_.vid_));
}

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

void FatalCrashTelemetry::clear_affiliated_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.affiliated_user_ != nullptr) _impl_.affiliated_user_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
FatalCrashTelemetry::FatalCrashTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FatalCrashTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.FatalCrashTelemetry)
}
PROTOBUF_NDEBUG_INLINE FatalCrashTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::FatalCrashTelemetry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        crash_report_id_(arena, from.crash_report_id_),
        local_id_(arena, from.local_id_),
        event_based_log_id_(arena, from.event_based_log_id_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FatalCrashTelemetry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.affiliated_user_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.affiliated_user_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, type_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, type_),
           offsetof(Impl_, been_reported_without_crash_report_id_) -
               offsetof(Impl_, type_) +
               sizeof(Impl_::been_reported_without_crash_report_id_));

  // @@protoc_insertion_point(copy_constructor:reporting.FatalCrashTelemetry)
}
PROTOBUF_NDEBUG_INLINE FatalCrashTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        crash_report_id_(arena),
        local_id_(arena),
        event_based_log_id_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FatalCrashTelemetry_class_data_ =
    FatalCrashTelemetry::InternalGenerateClassData_(FatalCrashTelemetry_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.crash_report_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.local_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.event_based_log_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.affiliated_user_ != nullptr);
      _impl_.affiliated_user_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
    ::memset(&_impl_.type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.been_reported_without_crash_report_id_) -
        reinterpret_cast<char*>(&_impl_.type_)) + sizeof(_impl_.been_reported_without_crash_report_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .reporting.FatalCrashTelemetry.CrashType type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_type(), target);
  }

  // optional .reporting.FatalCrashTelemetry.SessionType session_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_session_type(), target);
  }

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

  // optional .reporting.SessionAffiliatedUser affiliated_user = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.affiliated_user_, this_._impl_.affiliated_user_->GetCachedSize(), target,
        stream);
  }

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

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

  // optional bool been_reported_without_crash_report_id = 7;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this_._internal_been_reported_without_crash_report_id(), target);
  }

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000080U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // optional string crash_report_id = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_crash_report_id());
    }
    // optional string local_id = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_local_id());
    }
    // optional string event_based_log_id = 8;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_event_based_log_id());
    }
    // optional .reporting.SessionAffiliatedUser affiliated_user = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.affiliated_user_);
    }
    // optional .reporting.FatalCrashTelemetry.CrashType type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
    // optional .reporting.FatalCrashTelemetry.SessionType session_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_session_type());
    }
    // optional int64 timestamp_us = 3;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_us());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_crash_report_id(from._internal_crash_report_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_local_id(from._internal_local_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_event_based_log_id(from._internal_event_based_log_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.affiliated_user_ != nullptr);
      if (_this->_impl_.affiliated_user_ == nullptr) {
        _this->_impl_.affiliated_user_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.affiliated_user_);
      } else {
        _this->_impl_.affiliated_user_->MergeFrom(*from._impl_.affiliated_user_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.session_type_ = from._impl_.session_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.timestamp_us_ = from._impl_.timestamp_us_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.been_reported_without_crash_report_id_ = from._impl_.been_reported_without_crash_report_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FatalCrashTelemetry::InternalSwap(FatalCrashTelemetry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.crash_report_id_, &other->_impl_.crash_report_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.local_id_, &other->_impl_.local_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.event_based_log_id_, &other->_impl_.event_based_log_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.been_reported_without_crash_report_id_)
      + sizeof(FatalCrashTelemetry::_impl_.been_reported_without_crash_report_id_)
      - PROTOBUF_FIELD_OFFSET(FatalCrashTelemetry, _impl_.affiliated_user_)>(
          reinterpret_cast<char*>(&_impl_.affiliated_user_),
          reinterpret_cast<char*>(&other->_impl_.affiliated_user_));
}

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

RuntimeCountersTelemetry::RuntimeCountersTelemetry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, RuntimeCountersTelemetry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.RuntimeCountersTelemetry)
}
RuntimeCountersTelemetry::RuntimeCountersTelemetry(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RuntimeCountersTelemetry& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, RuntimeCountersTelemetry_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE RuntimeCountersTelemetry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void RuntimeCountersTelemetry::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, uptime_runtime_seconds_),
           0,
           offsetof(Impl_, counter_enter_poweroff_) -
               offsetof(Impl_, uptime_runtime_seconds_) +
               sizeof(Impl_::counter_enter_poweroff_));
}
RuntimeCountersTelemetry::~RuntimeCountersTelemetry() {
  // @@protoc_insertion_point(destructor:reporting.RuntimeCountersTelemetry)
  SharedDtor(*this);
}
inline void RuntimeCountersTelemetry::SharedDtor(MessageLite& self) {
  RuntimeCountersTelemetry& this_ = static_cast<RuntimeCountersTelemetry&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite RuntimeCountersTelemetry_class_data_ =
    RuntimeCountersTelemetry::InternalGenerateClassData_(RuntimeCountersTelemetry_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RuntimeCountersTelemetry::GetClassData() const {
  return RuntimeCountersTelemetry_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RuntimeCountersTelemetry::GetClassData() const {
  return RuntimeCountersTelemetry_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const RuntimeCountersTelemetry::ParseTableT_
    RuntimeCountersTelemetry::_table_ =
        RuntimeCountersTelemetry::InternalGenerateParseTable_(RuntimeCountersTelemetry_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void RuntimeCountersTelemetry::Clear() {
// @@protoc_insertion_point(message_clear_start:reporting.RuntimeCountersTelemetry)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    ::memset(&_impl_.uptime_runtime_seconds_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.counter_enter_poweroff_) -
        reinterpret_cast<char*>(&_impl_.uptime_runtime_seconds_)) + sizeof(_impl_.counter_enter_poweroff_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL RuntimeCountersTelemetry::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const RuntimeCountersTelemetry& this_ = static_cast<const RuntimeCountersTelemetry&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL RuntimeCountersTelemetry::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const RuntimeCountersTelemetry& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:reporting.RuntimeCountersTelemetry)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 uptime_runtime_seconds = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_uptime_runtime_seconds(), target);
  }

  // optional int64 counter_enter_sleep = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_counter_enter_sleep(), target);
  }

  // optional int64 counter_enter_hibernation = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_counter_enter_hibernation(), target);
  }

  // optional int64 counter_enter_poweroff = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
            stream, this_._internal_counter_enter_poweroff(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:reporting.RuntimeCountersTelemetry)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t RuntimeCountersTelemetry::ByteSizeLong(const MessageLite& base) {
  const RuntimeCountersTelemetry& this_ = static_cast<const RuntimeCountersTelemetry&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t RuntimeCountersTelemetry::ByteSizeLong() const {
  const RuntimeCountersTelemetry& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:reporting.RuntimeCountersTelemetry)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // optional int64 uptime_runtime_seconds = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_uptime_runtime_seconds());
    }
    // optional int64 counter_enter_sleep = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_counter_enter_sleep());
    }
    // optional int64 counter_enter_hibernation = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_counter_enter_hibernation());
    }
    // optional int64 counter_enter_poweroff = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_counter_enter_poweroff());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void RuntimeCountersTelemetry::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<RuntimeCountersTelemetry*>(&to_msg);
  auto& from = static_cast<const RuntimeCountersTelemetry&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:reporting.RuntimeCountersTelemetry)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.uptime_runtime_seconds_ = from._impl_.uptime_runtime_seconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.counter_enter_sleep_ = from._impl_.counter_enter_sleep_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.counter_enter_hibernation_ = from._impl_.counter_enter_hibernation_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.counter_enter_poweroff_ = from._impl_.counter_enter_poweroff_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void RuntimeCountersTelemetry::CopyFrom(const RuntimeCountersTelemetry& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:reporting.RuntimeCountersTelemetry)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void RuntimeCountersTelemetry::InternalSwap(RuntimeCountersTelemetry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.counter_enter_poweroff_)
      + sizeof(RuntimeCountersTelemetry::_impl_.counter_enter_poweroff_)
      - PROTOBUF_FIELD_OFFSET(RuntimeCountersTelemetry, _impl_.uptime_runtime_seconds_)>(
          reinterpret_cast<char*>(&_impl_.uptime_runtime_seconds_),
          reinterpret_cast<char*>(&other->_impl_.uptime_runtime_seconds_));
}

// ===================================================================

EventData::EventData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EventData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.EventData)
}
EventData::EventData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EventData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, EventData_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE EventData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void EventData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.type_ = {};
}
EventData::~EventData() {
  // @@protoc_insertion_point(destructor:reporting.EventData)
  SharedDtor(*this);
}
inline void EventData::SharedDtor(MessageLite& self) {
  EventData& this_ = static_cast<EventData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite EventData_class_data_ =
    EventData::InternalGenerateClassData_(EventData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EventData::GetClassData() const {
  return EventData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EventData::GetClassData() const {
  return EventData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const EventData::ParseTableT_
    EventData::_table_ =
        EventData::InternalGenerateParseTable_(EventData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void EventData::Clear() {
// @@protoc_insertion_point(message_clear_start:reporting.EventData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL EventData::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const EventData& this_ = static_cast<const EventData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL EventData::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const EventData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:reporting.EventData)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .reporting.MetricEventType type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_type(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:reporting.EventData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EventData::ByteSizeLong(const MessageLite& base) {
  const EventData& this_ = static_cast<const EventData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EventData::ByteSizeLong() const {
  const EventData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:reporting.EventData)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

   {
    // optional .reporting.MetricEventType type = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void EventData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EventData*>(&to_msg);
  auto& from = static_cast<const EventData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:reporting.EventData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_impl_.type_ = from._impl_.type_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void EventData::CopyFrom(const EventData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:reporting.EventData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void EventData::InternalSwap(EventData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.type_, other->_impl_.type_);
}

// ===================================================================

void MetricData::set_allocated_info_data(::reporting::InfoData* PROTOBUF_NULLABLE info_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_metric_type();
  if (info_data) {
    ::google::protobuf::Arena* submessage_arena = info_data->GetArena();
    if (message_arena != submessage_arena) {
      info_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, info_data, submessage_arena);
    }
    set_has_info_data();
    _impl_.metric_type_.info_data_ = info_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.MetricData.info_data)
}
void MetricData::set_allocated_telemetry_data(::reporting::TelemetryData* PROTOBUF_NULLABLE telemetry_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_metric_type();
  if (telemetry_data) {
    ::google::protobuf::Arena* submessage_arena = telemetry_data->GetArena();
    if (message_arena != submessage_arena) {
      telemetry_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, telemetry_data, submessage_arena);
    }
    set_has_telemetry_data();
    _impl_.metric_type_.telemetry_data_ = telemetry_data;
  }
  // @@protoc_insertion_point(field_set_allocated:reporting.MetricData.telemetry_data)
}
MetricData::MetricData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MetricData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:reporting.MetricData)
}
PROTOBUF_NDEBUG_INLINE MetricData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::reporting::MetricData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        metric_type_{},
        _oneof_case_{from._oneof_case_[0]} {}

MetricData::MetricData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MetricData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MetricData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MetricData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.event_data_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_data_)
                : nullptr;
  _impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
  switch (metric_type_case()) {
    case METRIC_TYPE_NOT_SET:
      break;
      case kInfoData:
        _impl_.metric_type_.info_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metric_type_.info_data_);
        break;
      case kTelemetryData:
        _impl_.metric_type_.telemetry_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metric_type_.telemetry_data_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:reporting.MetricData)
}
PROTOBUF_NDEBUG_INLINE MetricData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        metric_type_{},
        _oneof_case_{} {}

inline void MetricData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, event_data_),
           0,
           offsetof(Impl_, timestamp_ms_) -
               offsetof(Impl_, event_data_) +
               sizeof(Impl_::timestamp_ms_));
}
MetricData::~MetricData() {
  // @@protoc_insertion_point(destructor:reporting.MetricData)
  SharedDtor(*this);
}
inline void MetricData::SharedDtor(MessageLite& self) {
  MetricData& this_ = static_cast<MetricData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.event_data_;
  if (this_.has_metric_type()) {
    this_.clear_metric_type();
  }
  this_._impl_.~Impl_();
}

void MetricData::clear_metric_type() {
// @@protoc_insertion_point(one_of_clear_start:reporting.MetricData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (metric_type_case()) {
    case kInfoData: {
      if (GetArena() == nullptr) {
        delete _impl_.metric_type_.info_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.metric_type_.info_data_ != nullptr) {
          _impl_.metric_type_.info_data_->Clear();
        }
      }
      break;
    }
    case kTelemetryData: {
      if (GetArena() == nullptr) {
        delete _impl_.metric_type_.telemetry_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.metric_type_.telemetry_data_ != nullptr) {
          _impl_.metric_type_.telemetry_data_->Clear();
        }
      }
      break;
    }
    case METRIC_TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = METRIC_TYPE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MetricData_class_data_ =
    MetricData::InternalGenerateClassData_(MetricData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MetricData::GetClassData() const {
  return MetricData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MetricData::GetClassData() const {
  return MetricData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const MetricData::ParseTableT_
    MetricData::_table_ =
        MetricData::InternalGenerateParseTable_(MetricData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void MetricData::Clear() {
// @@protoc_insertion_point(message_clear_start:reporting.MetricData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.event_data_ != nullptr);
    _impl_.event_data_->Clear();
  }
  _impl_.timestamp_ms_ = ::int64_t{0};
  clear_metric_type();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL MetricData::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const MetricData& this_ = static_cast<const MetricData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL MetricData::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const MetricData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:reporting.MetricData)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  switch (this_.metric_type_case()) {
    case kInfoData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.metric_type_.info_data_, this_._impl_.metric_type_.info_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kTelemetryData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.metric_type_.telemetry_data_, this_._impl_.metric_type_.telemetry_data_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  // optional .reporting.EventData event_data = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.event_data_, this_._impl_.event_data_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:reporting.MetricData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MetricData::ByteSizeLong(const MessageLite& base) {
  const MetricData& this_ = static_cast<const MetricData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MetricData::ByteSizeLong() const {
  const MetricData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:reporting.MetricData)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional .reporting.EventData event_data = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.event_data_);
    }
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
  }
  switch (this_.metric_type_case()) {
    // .reporting.InfoData info_data = 2;
    case kInfoData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.metric_type_.info_data_);
      break;
    }
    // .reporting.TelemetryData telemetry_data = 3;
    case kTelemetryData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.metric_type_.telemetry_data_);
      break;
    }
    case METRIC_TYPE_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void MetricData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MetricData*>(&to_msg);
  auto& from = static_cast<const MetricData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:reporting.MetricData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.event_data_ != nullptr);
      if (_this->_impl_.event_data_ == nullptr) {
        _this->_impl_.event_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_data_);
      } else {
        _this->_impl_.event_data_->MergeFrom(*from._impl_.event_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_metric_type();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kInfoData: {
        if (oneof_needs_init) {
          _this->_impl_.metric_type_.info_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metric_type_.info_data_);
        } else {
          _this->_impl_.metric_type_.info_data_->MergeFrom(*from._impl_.metric_type_.info_data_);
        }
        break;
      }
      case kTelemetryData: {
        if (oneof_needs_init) {
          _this->_impl_.metric_type_.telemetry_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metric_type_.telemetry_data_);
        } else {
          _this->_impl_.metric_type_.telemetry_data_->MergeFrom(*from._impl_.metric_type_.telemetry_data_);
        }
        break;
      }
      case METRIC_TYPE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void MetricData::CopyFrom(const MetricData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:reporting.MetricData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void MetricData::InternalSwap(MetricData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MetricData, _impl_.timestamp_ms_)
      + sizeof(MetricData::_impl_.timestamp_ms_)
      - PROTOBUF_FIELD_OFFSET(MetricData, _impl_.event_data_)>(
          reinterpret_cast<char*>(&_impl_.event_data_),
          reinterpret_cast<char*>(&other->_impl_.event_data_));
  swap(_impl_.metric_type_, other->_impl_.metric_type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace reporting
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
