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

#include "components/optimization_guide/proto/features/read_aloud_generate_text.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 optimization_guide {
namespace proto {
class ReadAloudMapperDecision::_Internal {
 public:
  using HasBits = decltype(::std::declval<ReadAloudMapperDecision>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_._has_bits_);
};

constexpr ReadAloudMapperDecision::ParseTableT_ ReadAloudMapperDecision::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _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<::optimization_guide::proto::ReadAloudMapperDecision>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ReadAloudContentType content_type = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.content_type_)}},
      // .optimization_guide.proto.ReadAloudSafetyLevel safety_level = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.safety_level_)}},
      // string safety_level_rationale = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.safety_level_rationale_)}},
      // .optimization_guide.proto.ReadAloudPromptId prompt_id = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.prompt_id_)}},
      // string prompt_id_rationale = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 1, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.prompt_id_rationale_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ReadAloudContentType content_type = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.content_type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ReadAloudSafetyLevel safety_level = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.safety_level_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string safety_level_rationale = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.safety_level_rationale_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.ReadAloudPromptId prompt_id = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.prompt_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string prompt_id_rationale = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.prompt_id_rationale_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\60\0\0\26\0\23\0\0"
      "optimization_guide.proto.ReadAloudMapperDecision"
      "safety_level_rationale"
      "prompt_id_rationale"
    }},
  };
}


inline constexpr ReadAloudMapperDecision::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        safety_level_rationale_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        prompt_id_rationale_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        content_type_{static_cast< ::optimization_guide::proto::ReadAloudContentType >(0)},
        safety_level_{static_cast< ::optimization_guide::proto::ReadAloudSafetyLevel >(0)},
        prompt_id_{static_cast< ::optimization_guide::proto::ReadAloudPromptId >(0)} {}

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

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

constexpr ReadAloudGenerateTextRequest::ParseTableT_ ReadAloudGenerateTextRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _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<::optimization_guide::proto::ReadAloudGenerateTextRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string page_title = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.page_title_)}},
      // string page_content = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.page_content_)}},
      // string page_url = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.page_url_)}},
      // string language_code = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.language_code_)}},
      // bool include_mapper_rationales = 5 [features = {
      {::_pbi::TcParser::FastV8S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.include_mapper_rationales_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string page_title = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.page_title_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string page_content = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.page_content_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string page_url = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.page_url_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string language_code = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.language_code_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bool include_mapper_rationales = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextRequest, _impl_.include_mapper_rationales_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
      "\65\12\14\10\15\0\0\0"
      "optimization_guide.proto.ReadAloudGenerateTextRequest"
      "page_title"
      "page_content"
      "page_url"
      "language_code"
    }},
  };
}


inline constexpr ReadAloudGenerateTextRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        page_title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        page_content_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        page_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        language_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        include_mapper_rationales_{false} {}

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

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

constexpr ReadAloudFastMapperDecision::ParseTableT_ ReadAloudFastMapperDecision::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ReadAloudFastMapperDecision, _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<::optimization_guide::proto::ReadAloudFastMapperDecision>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ReadAloudContentType content_type = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudFastMapperDecision, _impl_.content_type_)}},
      // .optimization_guide.proto.ReadAloudSafetyLevel safety_level = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudFastMapperDecision, _impl_.safety_level_)}},
      // .optimization_guide.proto.ReadAloudPromptId prompt_id = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudFastMapperDecision, _impl_.prompt_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ReadAloudContentType content_type = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudFastMapperDecision, _impl_.content_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ReadAloudSafetyLevel safety_level = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudFastMapperDecision, _impl_.safety_level_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ReadAloudPromptId prompt_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudFastMapperDecision, _impl_.prompt_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr ReadAloudFastMapperDecision::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        content_type_{static_cast< ::optimization_guide::proto::ReadAloudContentType >(0)},
        safety_level_{static_cast< ::optimization_guide::proto::ReadAloudSafetyLevel >(0)},
        prompt_id_{static_cast< ::optimization_guide::proto::ReadAloudPromptId >(0)} {}

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

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

constexpr DialogueTurn::ParseTableT_ DialogueTurn::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DialogueTurn, _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<::optimization_guide::proto::DialogueTurn>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string speaker = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DialogueTurn, _impl_.speaker_)}},
      // string utterance = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(DialogueTurn, _impl_.utterance_)}},
      // string topic = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(DialogueTurn, _impl_.topic_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string speaker = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(DialogueTurn, _impl_.speaker_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string utterance = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(DialogueTurn, _impl_.utterance_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string topic = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(DialogueTurn, _impl_.topic_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\45\7\11\5\0\0\0\0"
      "optimization_guide.proto.DialogueTurn"
      "speaker"
      "utterance"
      "topic"
    }},
  };
}


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

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

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

constexpr ReadAloudGenerateTextResponse::ParseTableT_ ReadAloudGenerateTextResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_._has_bits_),
      0, // no _extensions_
      6, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // 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<::optimization_guide::proto::ReadAloudGenerateTextResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.DialogueTurn dialogue_turns = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.dialogue_turns_)}},
      // string generated_text = 1 [deprecated = true, features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.generated_text_)}},
      // string title = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.title_)}},
      // string publisher = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 3, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.publisher_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string generated_text = 1 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.generated_text_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string title = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.title_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string publisher = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.publisher_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .optimization_guide.proto.DialogueTurn dialogue_turns = 4;
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.dialogue_turns_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ReadAloudFastMapperDecision fast_mapper_decision = 5;
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.mapper_decision_.fast_mapper_decision_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ReadAloudMapperDecision debug_mapper_decision = 6;
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextResponse, _impl_.mapper_decision_.debug_mapper_decision_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DialogueTurn>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DialogueTurn_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ReadAloudFastMapperDecision>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ReadAloudFastMapperDecision_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ReadAloudMapperDecision>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ReadAloudMapperDecision_globals_},
        #endif
    }},
    {{
      "\66\16\5\11\0\0\0\0"
      "optimization_guide.proto.ReadAloudGenerateTextResponse"
      "generated_text"
      "title"
      "publisher"
    }},
  };
}


inline constexpr ReadAloudGenerateTextResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        dialogue_turns_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ReadAloudGenerateTextResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ReadAloudGenerateTextResponse, _impl_.dialogue_turns_)>()
         }
        ,
        generated_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        publisher_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        mapper_decision_{},
        _oneof_case_{} {}

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

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

constexpr ReadAloudGenerateTextLoggingData::ParseTableT_ ReadAloudGenerateTextLoggingData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextLoggingData, _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
      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<::optimization_guide::proto::ReadAloudGenerateTextLoggingData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ReadAloudGenerateTextResponse response = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextLoggingData, _impl_.response_)}},
      // .optimization_guide.proto.ReadAloudGenerateTextRequest request = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextLoggingData, _impl_.request_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ReadAloudGenerateTextRequest request = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextLoggingData, _impl_.request_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ReadAloudGenerateTextResponse response = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ReadAloudGenerateTextLoggingData, _impl_.response_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ReadAloudGenerateTextRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ReadAloudGenerateTextRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ReadAloudGenerateTextResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ReadAloudGenerateTextResponse_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ReadAloudGenerateTextLoggingDataGlobalsTypeInternal ReadAloudGenerateTextLoggingData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ReadAloudGenerateTextLoggingData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ReadAloudGenerateTextLoggingData_globals_.GetClassData();
#else
  return ReadAloudGenerateTextLoggingData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace proto
}  // namespace optimization_guide
namespace optimization_guide {
namespace proto {
PROTOBUF_CONSTINIT const uint32_t ReadAloudContentType_internal_data_[] = {
    196608u, 0u, };
static const char ReadAloudContentType_names[] = {
    "READALOUD_CONTENT_TYPE_UNSPECIFIED"
    "RELIABLE_CONTENT"
    "SUSCEPTIBLE_CONTENT"
};

static const ::google::protobuf::internal::EnumEntry ReadAloudContentType_entries[] = {
    {{&ReadAloudContentType_names[0], 34}, 0},
    {{&ReadAloudContentType_names[34], 16}, 1},
    {{&ReadAloudContentType_names[50], 19}, 2},
};

static const int ReadAloudContentType_entries_by_number[] = {
    0,  // 0 -> READALOUD_CONTENT_TYPE_UNSPECIFIED
    1,  // 1 -> RELIABLE_CONTENT
    2,  // 2 -> SUSCEPTIBLE_CONTENT
};

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

const ::std::string& ReadAloudContentType_Name(ReadAloudContentType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ReadAloudContentType_entries, ReadAloudContentType_entries_by_number, 3,
      ReadAloudContentType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ReadAloudContentType_entries,
                                  ReadAloudContentType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ReadAloudContentType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ReadAloudSafetyLevel_internal_data_[] = {
    524288u, 0u, };
static const char ReadAloudSafetyLevel_names[] = {
    "CONTROLLED_PRODUCTS_CONTENT"
    "READALOUD_SAFETY_LEVEL_UNSPECIFIED"
    "SAFE_CONTENT"
    "UNSAFE_BORDERLINE"
    "UNSAFE_CSAM"
    "UNSAFE_GAMBLING"
    "UNSAFE_HARMFUL"
    "WEAPONS_AND_TOOLS_CONTENT"
};

static const ::google::protobuf::internal::EnumEntry ReadAloudSafetyLevel_entries[] = {
    {{&ReadAloudSafetyLevel_names[0], 27}, 6},
    {{&ReadAloudSafetyLevel_names[27], 34}, 0},
    {{&ReadAloudSafetyLevel_names[61], 12}, 1},
    {{&ReadAloudSafetyLevel_names[73], 17}, 7},
    {{&ReadAloudSafetyLevel_names[90], 11}, 2},
    {{&ReadAloudSafetyLevel_names[101], 15}, 4},
    {{&ReadAloudSafetyLevel_names[116], 14}, 3},
    {{&ReadAloudSafetyLevel_names[130], 25}, 5},
};

static const int ReadAloudSafetyLevel_entries_by_number[] = {
    1,  // 0 -> READALOUD_SAFETY_LEVEL_UNSPECIFIED
    2,  // 1 -> SAFE_CONTENT
    4,  // 2 -> UNSAFE_CSAM
    6,  // 3 -> UNSAFE_HARMFUL
    5,  // 4 -> UNSAFE_GAMBLING
    7,  // 5 -> WEAPONS_AND_TOOLS_CONTENT
    0,  // 6 -> CONTROLLED_PRODUCTS_CONTENT
    3,  // 7 -> UNSAFE_BORDERLINE
};

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

const ::std::string& ReadAloudSafetyLevel_Name(ReadAloudSafetyLevel value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ReadAloudSafetyLevel_entries, ReadAloudSafetyLevel_entries_by_number, 8,
      ReadAloudSafetyLevel_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ReadAloudSafetyLevel_entries,
                                  ReadAloudSafetyLevel_entries_by_number,
                                  8, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ReadAloudSafetyLevel_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ReadAloudPromptId_internal_data_[] = {
    1769472u, 0u, };
static const char ReadAloudPromptId_names[] = {
    "ARD1"
    "BDLM1"
    "BUD1"
    "CPCM1"
    "CSAM1"
    "DPM1"
    "FOD1"
    "GMBM1"
    "HOD1"
    "LSTM1"
    "LTCD1"
    "LYRM1"
    "NAD1"
    "NOVM1"
    "NPD1"
    "OTH1"
    "POM1"
    "PRM1"
    "READALOUD_PROMPT_ID_UNSPECIFIED"
    "REM1"
    "RLGM1"
    "SHPM1"
    "SMPM1"
    "SNAD1"
    "UNSF1"
    "WCD1"
    "WTSM1"
};

static const ::google::protobuf::internal::EnumEntry ReadAloudPromptId_entries[] = {
    {{&ReadAloudPromptId_names[0], 4}, 17},
    {{&ReadAloudPromptId_names[4], 5}, 25},
    {{&ReadAloudPromptId_names[9], 4}, 18},
    {{&ReadAloudPromptId_names[13], 5}, 24},
    {{&ReadAloudPromptId_names[18], 5}, 22},
    {{&ReadAloudPromptId_names[23], 4}, 15},
    {{&ReadAloudPromptId_names[27], 4}, 4},
    {{&ReadAloudPromptId_names[31], 5}, 20},
    {{&ReadAloudPromptId_names[36], 4}, 11},
    {{&ReadAloudPromptId_names[40], 5}, 8},
    {{&ReadAloudPromptId_names[45], 5}, 9},
    {{&ReadAloudPromptId_names[50], 5}, 12},
    {{&ReadAloudPromptId_names[55], 4}, 3},
    {{&ReadAloudPromptId_names[59], 5}, 14},
    {{&ReadAloudPromptId_names[64], 4}, 5},
    {{&ReadAloudPromptId_names[68], 4}, 19},
    {{&ReadAloudPromptId_names[72], 4}, 10},
    {{&ReadAloudPromptId_names[76], 4}, 6},
    {{&ReadAloudPromptId_names[80], 31}, 0},
    {{&ReadAloudPromptId_names[111], 4}, 7},
    {{&ReadAloudPromptId_names[115], 5}, 13},
    {{&ReadAloudPromptId_names[120], 5}, 26},
    {{&ReadAloudPromptId_names[125], 5}, 16},
    {{&ReadAloudPromptId_names[130], 5}, 2},
    {{&ReadAloudPromptId_names[135], 5}, 21},
    {{&ReadAloudPromptId_names[140], 4}, 1},
    {{&ReadAloudPromptId_names[144], 5}, 23},
};

static const int ReadAloudPromptId_entries_by_number[] = {
    18,  // 0 -> READALOUD_PROMPT_ID_UNSPECIFIED
    25,  // 1 -> WCD1
    23,  // 2 -> SNAD1
    12,  // 3 -> NAD1
    6,  // 4 -> FOD1
    14,  // 5 -> NPD1
    17,  // 6 -> PRM1
    19,  // 7 -> REM1
    9,  // 8 -> LSTM1
    10,  // 9 -> LTCD1
    16,  // 10 -> POM1
    8,  // 11 -> HOD1
    11,  // 12 -> LYRM1
    20,  // 13 -> RLGM1
    13,  // 14 -> NOVM1
    5,  // 15 -> DPM1
    22,  // 16 -> SMPM1
    0,  // 17 -> ARD1
    2,  // 18 -> BUD1
    15,  // 19 -> OTH1
    7,  // 20 -> GMBM1
    24,  // 21 -> UNSF1
    4,  // 22 -> CSAM1
    26,  // 23 -> WTSM1
    3,  // 24 -> CPCM1
    1,  // 25 -> BDLM1
    21,  // 26 -> SHPM1
};

bool ReadAloudPromptId_Parse(::absl::string_view name,
                                  ReadAloudPromptId* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ReadAloudPromptId_entries, 27, name, &int_value);
  if (success) {
    *value = static_cast<ReadAloudPromptId>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ReadAloudPromptId_strings[27] = {};

const ::std::string& ReadAloudPromptId_Name(ReadAloudPromptId value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ReadAloudPromptId_entries, ReadAloudPromptId_entries_by_number, 27,
      ReadAloudPromptId_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ReadAloudPromptId_entries,
                                  ReadAloudPromptId_entries_by_number,
                                  27, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ReadAloudPromptId_strings[idx].get();
}
// ===================================================================

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ReadAloudGenerateTextLoggingData_class_data_ =
    ReadAloudGenerateTextLoggingData::InternalGenerateClassData_(ReadAloudGenerateTextLoggingData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudGenerateTextLoggingData::GetClassData() const {
  return ReadAloudGenerateTextLoggingData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudGenerateTextLoggingData::GetClassData() const {
  return ReadAloudGenerateTextLoggingData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ReadAloudGenerateTextLoggingData::ParseTableT_
    ReadAloudGenerateTextLoggingData::_table_ =
        ReadAloudGenerateTextLoggingData::InternalGenerateParseTable_(ReadAloudGenerateTextLoggingData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ReadAloudGenerateTextLoggingData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ReadAloudGenerateTextLoggingData)
  ::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)) {
      ABSL_DCHECK(_impl_.request_ != nullptr);
      _impl_.request_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.response_ != nullptr);
      _impl_.response_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ReadAloudGenerateTextRequest request = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.request_, this_._impl_.request_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.ReadAloudGenerateTextResponse response = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.response_, this_._impl_.response_->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:optimization_guide.proto.ReadAloudGenerateTextLoggingData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ReadAloudGenerateTextLoggingData::ByteSizeLong(const MessageLite& base) {
  const ReadAloudGenerateTextLoggingData& this_ = static_cast<const ReadAloudGenerateTextLoggingData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ReadAloudGenerateTextLoggingData::ByteSizeLong() const {
  const ReadAloudGenerateTextLoggingData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ReadAloudGenerateTextLoggingData)
  ::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)) {
    // .optimization_guide.proto.ReadAloudGenerateTextRequest request = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_);
    }
    // .optimization_guide.proto.ReadAloudGenerateTextResponse response = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.response_);
    }
  }
  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 ReadAloudGenerateTextLoggingData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ReadAloudGenerateTextLoggingData*>(&to_msg);
  auto& from = static_cast<const ReadAloudGenerateTextLoggingData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ReadAloudGenerateTextLoggingData)
  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_.request_ != nullptr);
      if (_this->_impl_.request_ == nullptr) {
        _this->_impl_.request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_);
      } else {
        _this->_impl_.request_->MergeFrom(*from._impl_.request_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.response_ != nullptr);
      if (_this->_impl_.response_ == nullptr) {
        _this->_impl_.response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_);
      } else {
        _this->_impl_.response_->MergeFrom(*from._impl_.response_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

ReadAloudGenerateTextRequest::ReadAloudGenerateTextRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ReadAloudGenerateTextRequest_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ReadAloudGenerateTextRequest)
}
PROTOBUF_NDEBUG_INLINE ReadAloudGenerateTextRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ReadAloudGenerateTextRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        page_title_(arena, from.page_title_),
        page_content_(arena, from.page_content_),
        page_url_(arena, from.page_url_),
        language_code_(arena, from.language_code_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ReadAloudGenerateTextRequest)
}
PROTOBUF_NDEBUG_INLINE ReadAloudGenerateTextRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        page_title_(arena),
        page_content_(arena),
        page_url_(arena),
        language_code_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ReadAloudGenerateTextRequest_class_data_ =
    ReadAloudGenerateTextRequest::InternalGenerateClassData_(ReadAloudGenerateTextRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudGenerateTextRequest::GetClassData() const {
  return ReadAloudGenerateTextRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudGenerateTextRequest::GetClassData() const {
  return ReadAloudGenerateTextRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ReadAloudGenerateTextRequest::ParseTableT_
    ReadAloudGenerateTextRequest::_table_ =
        ReadAloudGenerateTextRequest::InternalGenerateParseTable_(ReadAloudGenerateTextRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ReadAloudGenerateTextRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ReadAloudGenerateTextRequest)
  ::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_.page_title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.page_content_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.page_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.language_code_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.include_mapper_rationales_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string page_title = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_page_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudGenerateTextRequest.page_title");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string page_content = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_page_content();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudGenerateTextRequest.page_content");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string page_url = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_page_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudGenerateTextRequest.page_url");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string language_code = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_language_code();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudGenerateTextRequest.language_code");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // bool include_mapper_rationales = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_include_mapper_rationales(), 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:optimization_guide.proto.ReadAloudGenerateTextRequest)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000010U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // string page_title = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_page_title());
    }
    // string page_content = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_page_content());
    }
    // string page_url = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_page_url());
    }
    // string language_code = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_language_code());
    }
  }
  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 ReadAloudGenerateTextRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ReadAloudGenerateTextRequest*>(&to_msg);
  auto& from = static_cast<const ReadAloudGenerateTextRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ReadAloudGenerateTextRequest)
  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_page_title(from._internal_page_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_page_content(from._internal_page_content());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_page_url(from._internal_page_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_language_code(from._internal_language_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.include_mapper_rationales_ = from._impl_.include_mapper_rationales_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ReadAloudGenerateTextRequest::InternalSwap(ReadAloudGenerateTextRequest* 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_.page_title_, &other->_impl_.page_title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.page_content_, &other->_impl_.page_content_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.page_url_, &other->_impl_.page_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.language_code_, &other->_impl_.language_code_, arena);
  swap(_impl_.include_mapper_rationales_, other->_impl_.include_mapper_rationales_);
}

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

void ReadAloudGenerateTextResponse::set_allocated_fast_mapper_decision(::optimization_guide::proto::ReadAloudFastMapperDecision* PROTOBUF_NULLABLE fast_mapper_decision) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_mapper_decision();
  if (fast_mapper_decision) {
    ::google::protobuf::Arena* submessage_arena = fast_mapper_decision->GetArena();
    if (message_arena != submessage_arena) {
      fast_mapper_decision = ::google::protobuf::internal::GetOwnedMessage(message_arena, fast_mapper_decision, submessage_arena);
    }
    set_has_fast_mapper_decision();
    _impl_.mapper_decision_.fast_mapper_decision_ = fast_mapper_decision;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ReadAloudGenerateTextResponse.fast_mapper_decision)
}
void ReadAloudGenerateTextResponse::set_allocated_debug_mapper_decision(::optimization_guide::proto::ReadAloudMapperDecision* PROTOBUF_NULLABLE debug_mapper_decision) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_mapper_decision();
  if (debug_mapper_decision) {
    ::google::protobuf::Arena* submessage_arena = debug_mapper_decision->GetArena();
    if (message_arena != submessage_arena) {
      debug_mapper_decision = ::google::protobuf::internal::GetOwnedMessage(message_arena, debug_mapper_decision, submessage_arena);
    }
    set_has_debug_mapper_decision();
    _impl_.mapper_decision_.debug_mapper_decision_ = debug_mapper_decision;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ReadAloudGenerateTextResponse.debug_mapper_decision)
}
ReadAloudGenerateTextResponse::ReadAloudGenerateTextResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ReadAloudGenerateTextResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ReadAloudGenerateTextResponse)
}
PROTOBUF_NDEBUG_INLINE ReadAloudGenerateTextResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ReadAloudGenerateTextResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        dialogue_turns_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ReadAloudGenerateTextResponse,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ReadAloudGenerateTextResponse, _impl_.dialogue_turns_)>()
          , from.dialogue_turns_
        }
        ,
        generated_text_(arena, from.generated_text_),
        title_(arena, from.title_),
        publisher_(arena, from.publisher_),
        mapper_decision_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ReadAloudGenerateTextResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (mapper_decision_case()) {
    case MAPPER_DECISION_NOT_SET:
      break;
      case kFastMapperDecision:
        _impl_.mapper_decision_.fast_mapper_decision_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.mapper_decision_.fast_mapper_decision_);
        break;
      case kDebugMapperDecision:
        _impl_.mapper_decision_.debug_mapper_decision_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.mapper_decision_.debug_mapper_decision_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ReadAloudGenerateTextResponse)
}
PROTOBUF_NDEBUG_INLINE ReadAloudGenerateTextResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        dialogue_turns_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ReadAloudGenerateTextResponse,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ReadAloudGenerateTextResponse, _impl_.dialogue_turns_)>()
         }
        ,
        generated_text_(arena),
        title_(arena),
        publisher_(arena),
        mapper_decision_{},
        _oneof_case_{} {}

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

void ReadAloudGenerateTextResponse::clear_mapper_decision() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.ReadAloudGenerateTextResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (mapper_decision_case()) {
    case kFastMapperDecision: {
      if (GetArena() == nullptr) {
        delete _impl_.mapper_decision_.fast_mapper_decision_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.mapper_decision_.fast_mapper_decision_ != nullptr) {
          _impl_.mapper_decision_.fast_mapper_decision_->Clear();
        }
      }
      break;
    }
    case kDebugMapperDecision: {
      if (GetArena() == nullptr) {
        delete _impl_.mapper_decision_.debug_mapper_decision_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.mapper_decision_.debug_mapper_decision_ != nullptr) {
          _impl_.mapper_decision_.debug_mapper_decision_->Clear();
        }
      }
      break;
    }
    case MAPPER_DECISION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = MAPPER_DECISION_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ReadAloudGenerateTextResponse_class_data_ =
    ReadAloudGenerateTextResponse::InternalGenerateClassData_(ReadAloudGenerateTextResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudGenerateTextResponse::GetClassData() const {
  return ReadAloudGenerateTextResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudGenerateTextResponse::GetClassData() const {
  return ReadAloudGenerateTextResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ReadAloudGenerateTextResponse::ParseTableT_
    ReadAloudGenerateTextResponse::_table_ =
        ReadAloudGenerateTextResponse::InternalGenerateParseTable_(ReadAloudGenerateTextResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ReadAloudGenerateTextResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ReadAloudGenerateTextResponse)
  ::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_.dialogue_turns_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.generated_text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.publisher_.ClearNonDefaultToEmpty();
    }
  }
  clear_mapper_decision();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string generated_text = 1 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_generated_text();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudGenerateTextResponse.generated_text");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string title = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudGenerateTextResponse.title");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string publisher = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_publisher();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudGenerateTextResponse.publisher");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .optimization_guide.proto.DialogueTurn dialogue_turns = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_dialogue_turns_size());
         i < n; i++) {
      const auto& repfield = this_._internal_dialogue_turns().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              4, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  switch (this_.mapper_decision_case()) {
    case kFastMapperDecision: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.mapper_decision_.fast_mapper_decision_, this_._impl_.mapper_decision_.fast_mapper_decision_->GetCachedSize(), target,
          stream);
      break;
    }
    case kDebugMapperDecision: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, *this_._impl_.mapper_decision_.debug_mapper_decision_, this_._impl_.mapper_decision_.debug_mapper_decision_->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:optimization_guide.proto.ReadAloudGenerateTextResponse)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // repeated .optimization_guide.proto.DialogueTurn dialogue_turns = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_dialogue_turns_size();
      for (const auto& msg : this_._internal_dialogue_turns()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string generated_text = 1 [deprecated = true, features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_generated_text());
    }
    // string title = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // string publisher = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_publisher());
    }
  }
  switch (this_.mapper_decision_case()) {
    // .optimization_guide.proto.ReadAloudFastMapperDecision fast_mapper_decision = 5;
    case kFastMapperDecision: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.mapper_decision_.fast_mapper_decision_);
      break;
    }
    // .optimization_guide.proto.ReadAloudMapperDecision debug_mapper_decision = 6;
    case kDebugMapperDecision: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.mapper_decision_.debug_mapper_decision_);
      break;
    }
    case MAPPER_DECISION_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 ReadAloudGenerateTextResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ReadAloudGenerateTextResponse*>(&to_msg);
  auto& from = static_cast<const ReadAloudGenerateTextResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ReadAloudGenerateTextResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_dialogue_turns()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_dialogue_turns());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_generated_text(from._internal_generated_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_publisher(from._internal_publisher());
    }
  }
  _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_mapper_decision();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kFastMapperDecision: {
        if (oneof_needs_init) {
          _this->_impl_.mapper_decision_.fast_mapper_decision_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.mapper_decision_.fast_mapper_decision_);
        } else {
          _this->_impl_.mapper_decision_.fast_mapper_decision_->MergeFrom(*from._impl_.mapper_decision_.fast_mapper_decision_);
        }
        break;
      }
      case kDebugMapperDecision: {
        if (oneof_needs_init) {
          _this->_impl_.mapper_decision_.debug_mapper_decision_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.mapper_decision_.debug_mapper_decision_);
        } else {
          _this->_impl_.mapper_decision_.debug_mapper_decision_->MergeFrom(*from._impl_.mapper_decision_.debug_mapper_decision_);
        }
        break;
      }
      case MAPPER_DECISION_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ReadAloudGenerateTextResponse::InternalSwap(ReadAloudGenerateTextResponse* 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_.dialogue_turns_.InternalSwap(&other->_impl_.dialogue_turns_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.generated_text_, &other->_impl_.generated_text_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.publisher_, &other->_impl_.publisher_, arena);
  swap(_impl_.mapper_decision_, other->_impl_.mapper_decision_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DialogueTurn_class_data_ =
    DialogueTurn::InternalGenerateClassData_(DialogueTurn_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DialogueTurn::GetClassData() const {
  return DialogueTurn_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DialogueTurn::GetClassData() const {
  return DialogueTurn_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DialogueTurn::ParseTableT_
    DialogueTurn::_table_ =
        DialogueTurn::InternalGenerateParseTable_(DialogueTurn_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DialogueTurn::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.DialogueTurn)
  ::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_.speaker_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.utterance_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.topic_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string speaker = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_speaker();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.DialogueTurn.speaker");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string utterance = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_utterance();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.DialogueTurn.utterance");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string topic = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_topic();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.DialogueTurn.topic");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

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

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DialogueTurn::ByteSizeLong(const MessageLite& base) {
  const DialogueTurn& this_ = static_cast<const DialogueTurn&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DialogueTurn::ByteSizeLong() const {
  const DialogueTurn& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.DialogueTurn)
  ::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)) {
    // string speaker = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_speaker());
    }
    // string utterance = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_utterance());
    }
    // string topic = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_topic());
    }
  }
  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 DialogueTurn::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DialogueTurn*>(&to_msg);
  auto& from = static_cast<const DialogueTurn&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.DialogueTurn)
  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_speaker(from._internal_speaker());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_utterance(from._internal_utterance());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_topic(from._internal_topic());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DialogueTurn::InternalSwap(DialogueTurn* 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_.speaker_, &other->_impl_.speaker_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.utterance_, &other->_impl_.utterance_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.topic_, &other->_impl_.topic_, arena);
}

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

ReadAloudFastMapperDecision::ReadAloudFastMapperDecision(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ReadAloudFastMapperDecision_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ReadAloudFastMapperDecision)
}
ReadAloudFastMapperDecision::ReadAloudFastMapperDecision(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReadAloudFastMapperDecision& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ReadAloudFastMapperDecision_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 ReadAloudFastMapperDecision::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ReadAloudFastMapperDecision::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, content_type_),
           0,
           offsetof(Impl_, prompt_id_) -
               offsetof(Impl_, content_type_) +
               sizeof(Impl_::prompt_id_));
}
ReadAloudFastMapperDecision::~ReadAloudFastMapperDecision() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ReadAloudFastMapperDecision)
  SharedDtor(*this);
}
inline void ReadAloudFastMapperDecision::SharedDtor(MessageLite& self) {
  ReadAloudFastMapperDecision& this_ = static_cast<ReadAloudFastMapperDecision&>(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 ReadAloudFastMapperDecision_class_data_ =
    ReadAloudFastMapperDecision::InternalGenerateClassData_(ReadAloudFastMapperDecision_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudFastMapperDecision::GetClassData() const {
  return ReadAloudFastMapperDecision_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudFastMapperDecision::GetClassData() const {
  return ReadAloudFastMapperDecision_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ReadAloudFastMapperDecision::ParseTableT_
    ReadAloudFastMapperDecision::_table_ =
        ReadAloudFastMapperDecision::InternalGenerateParseTable_(ReadAloudFastMapperDecision_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ReadAloudFastMapperDecision::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ReadAloudFastMapperDecision)
  ::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_.content_type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.prompt_id_) -
        reinterpret_cast<char*>(&_impl_.content_type_)) + sizeof(_impl_.prompt_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ReadAloudContentType content_type = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_content_type(), target);
  }

  // .optimization_guide.proto.ReadAloudSafetyLevel safety_level = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_safety_level(), target);
  }

  // .optimization_guide.proto.ReadAloudPromptId prompt_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_prompt_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:optimization_guide.proto.ReadAloudFastMapperDecision)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ReadAloudFastMapperDecision::ByteSizeLong(const MessageLite& base) {
  const ReadAloudFastMapperDecision& this_ = static_cast<const ReadAloudFastMapperDecision&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ReadAloudFastMapperDecision::ByteSizeLong() const {
  const ReadAloudFastMapperDecision& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ReadAloudFastMapperDecision)
  ::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)) {
    // .optimization_guide.proto.ReadAloudContentType content_type = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_content_type());
    }
    // .optimization_guide.proto.ReadAloudSafetyLevel safety_level = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_safety_level());
    }
    // .optimization_guide.proto.ReadAloudPromptId prompt_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_prompt_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 ReadAloudFastMapperDecision::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ReadAloudFastMapperDecision*>(&to_msg);
  auto& from = static_cast<const ReadAloudFastMapperDecision&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ReadAloudFastMapperDecision)
  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_.content_type_ = from._impl_.content_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.safety_level_ = from._impl_.safety_level_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.prompt_id_ = from._impl_.prompt_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ReadAloudMapperDecision* 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_, content_type_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, content_type_),
           offsetof(Impl_, prompt_id_) -
               offsetof(Impl_, content_type_) +
               sizeof(Impl_::prompt_id_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ReadAloudMapperDecision)
}
PROTOBUF_NDEBUG_INLINE ReadAloudMapperDecision::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        safety_level_rationale_(arena),
        prompt_id_rationale_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ReadAloudMapperDecision_class_data_ =
    ReadAloudMapperDecision::InternalGenerateClassData_(ReadAloudMapperDecision_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudMapperDecision::GetClassData() const {
  return ReadAloudMapperDecision_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ReadAloudMapperDecision::GetClassData() const {
  return ReadAloudMapperDecision_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ReadAloudMapperDecision::ParseTableT_
    ReadAloudMapperDecision::_table_ =
        ReadAloudMapperDecision::InternalGenerateParseTable_(ReadAloudMapperDecision_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ReadAloudMapperDecision::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ReadAloudMapperDecision)
  ::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_.safety_level_rationale_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.prompt_id_rationale_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&_impl_.content_type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.prompt_id_) -
        reinterpret_cast<char*>(&_impl_.content_type_)) + sizeof(_impl_.prompt_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ReadAloudContentType content_type = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_content_type(), target);
  }

  // .optimization_guide.proto.ReadAloudSafetyLevel safety_level = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_safety_level(), target);
  }

  // string safety_level_rationale = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_safety_level_rationale();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudMapperDecision.safety_level_rationale");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // .optimization_guide.proto.ReadAloudPromptId prompt_id = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_prompt_id(), target);
  }

  // string prompt_id_rationale = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_prompt_id_rationale();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ReadAloudMapperDecision.prompt_id_rationale");
    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:optimization_guide.proto.ReadAloudMapperDecision)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ReadAloudMapperDecision::ByteSizeLong(const MessageLite& base) {
  const ReadAloudMapperDecision& this_ = static_cast<const ReadAloudMapperDecision&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ReadAloudMapperDecision::ByteSizeLong() const {
  const ReadAloudMapperDecision& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ReadAloudMapperDecision)
  ::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)) {
    // string safety_level_rationale = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_safety_level_rationale());
    }
    // string prompt_id_rationale = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_prompt_id_rationale());
    }
    // .optimization_guide.proto.ReadAloudContentType content_type = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_content_type());
    }
    // .optimization_guide.proto.ReadAloudSafetyLevel safety_level = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_safety_level());
    }
    // .optimization_guide.proto.ReadAloudPromptId prompt_id = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_prompt_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 ReadAloudMapperDecision::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ReadAloudMapperDecision*>(&to_msg);
  auto& from = static_cast<const ReadAloudMapperDecision&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ReadAloudMapperDecision)
  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_safety_level_rationale(from._internal_safety_level_rationale());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_prompt_id_rationale(from._internal_prompt_id_rationale());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.content_type_ = from._impl_.content_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.safety_level_ = from._impl_.safety_level_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.prompt_id_ = from._impl_.prompt_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ReadAloudMapperDecision::InternalSwap(ReadAloudMapperDecision* 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_.safety_level_rationale_, &other->_impl_.safety_level_rationale_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.prompt_id_rationale_, &other->_impl_.prompt_id_rationale_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.prompt_id_)
      + sizeof(ReadAloudMapperDecision::_impl_.prompt_id_)
      - PROTOBUF_FIELD_OFFSET(ReadAloudMapperDecision, _impl_.content_type_)>(
          reinterpret_cast<char*>(&_impl_.content_type_),
          reinterpret_cast<char*>(&other->_impl_.content_type_));
}

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