Skip to content

File render_data.pb.h

File List > mediapipe > util > render_data.pb.h

Go to the documentation of this file

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: mediapipe/util/render_data.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_mediapipe_2futil_2frender_5fdata_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_mediapipe_2futil_2frender_5fdata_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3019000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3019001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "mediapipe/util/color.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_mediapipe_2futil_2frender_5fdata_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_mediapipe_2futil_2frender_5fdata_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[15]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mediapipe_2futil_2frender_5fdata_2eproto;
namespace mediapipe {
class RenderAnnotation;
struct RenderAnnotationDefaultTypeInternal;
extern RenderAnnotationDefaultTypeInternal _RenderAnnotation_default_instance_;
class RenderAnnotation_Arrow;
struct RenderAnnotation_ArrowDefaultTypeInternal;
extern RenderAnnotation_ArrowDefaultTypeInternal _RenderAnnotation_Arrow_default_instance_;
class RenderAnnotation_FilledOval;
struct RenderAnnotation_FilledOvalDefaultTypeInternal;
extern RenderAnnotation_FilledOvalDefaultTypeInternal _RenderAnnotation_FilledOval_default_instance_;
class RenderAnnotation_FilledRectangle;
struct RenderAnnotation_FilledRectangleDefaultTypeInternal;
extern RenderAnnotation_FilledRectangleDefaultTypeInternal _RenderAnnotation_FilledRectangle_default_instance_;
class RenderAnnotation_FilledRoundedRectangle;
struct RenderAnnotation_FilledRoundedRectangleDefaultTypeInternal;
extern RenderAnnotation_FilledRoundedRectangleDefaultTypeInternal _RenderAnnotation_FilledRoundedRectangle_default_instance_;
class RenderAnnotation_GradientLine;
struct RenderAnnotation_GradientLineDefaultTypeInternal;
extern RenderAnnotation_GradientLineDefaultTypeInternal _RenderAnnotation_GradientLine_default_instance_;
class RenderAnnotation_Line;
struct RenderAnnotation_LineDefaultTypeInternal;
extern RenderAnnotation_LineDefaultTypeInternal _RenderAnnotation_Line_default_instance_;
class RenderAnnotation_Oval;
struct RenderAnnotation_OvalDefaultTypeInternal;
extern RenderAnnotation_OvalDefaultTypeInternal _RenderAnnotation_Oval_default_instance_;
class RenderAnnotation_Point;
struct RenderAnnotation_PointDefaultTypeInternal;
extern RenderAnnotation_PointDefaultTypeInternal _RenderAnnotation_Point_default_instance_;
class RenderAnnotation_Rectangle;
struct RenderAnnotation_RectangleDefaultTypeInternal;
extern RenderAnnotation_RectangleDefaultTypeInternal _RenderAnnotation_Rectangle_default_instance_;
class RenderAnnotation_RoundedRectangle;
struct RenderAnnotation_RoundedRectangleDefaultTypeInternal;
extern RenderAnnotation_RoundedRectangleDefaultTypeInternal _RenderAnnotation_RoundedRectangle_default_instance_;
class RenderAnnotation_Scribble;
struct RenderAnnotation_ScribbleDefaultTypeInternal;
extern RenderAnnotation_ScribbleDefaultTypeInternal _RenderAnnotation_Scribble_default_instance_;
class RenderAnnotation_Text;
struct RenderAnnotation_TextDefaultTypeInternal;
extern RenderAnnotation_TextDefaultTypeInternal _RenderAnnotation_Text_default_instance_;
class RenderData;
struct RenderDataDefaultTypeInternal;
extern RenderDataDefaultTypeInternal _RenderData_default_instance_;
class RenderViewport;
struct RenderViewportDefaultTypeInternal;
extern RenderViewportDefaultTypeInternal _RenderViewport_default_instance_;
}  // namespace mediapipe
PROTOBUF_NAMESPACE_OPEN
template<> ::mediapipe::RenderAnnotation* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation>(Arena*);
template<> ::mediapipe::RenderAnnotation_Arrow* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_Arrow>(Arena*);
template<> ::mediapipe::RenderAnnotation_FilledOval* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_FilledOval>(Arena*);
template<> ::mediapipe::RenderAnnotation_FilledRectangle* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_FilledRectangle>(Arena*);
template<> ::mediapipe::RenderAnnotation_FilledRoundedRectangle* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_FilledRoundedRectangle>(Arena*);
template<> ::mediapipe::RenderAnnotation_GradientLine* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_GradientLine>(Arena*);
template<> ::mediapipe::RenderAnnotation_Line* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_Line>(Arena*);
template<> ::mediapipe::RenderAnnotation_Oval* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_Oval>(Arena*);
template<> ::mediapipe::RenderAnnotation_Point* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_Point>(Arena*);
template<> ::mediapipe::RenderAnnotation_Rectangle* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_Rectangle>(Arena*);
template<> ::mediapipe::RenderAnnotation_RoundedRectangle* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_RoundedRectangle>(Arena*);
template<> ::mediapipe::RenderAnnotation_Scribble* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_Scribble>(Arena*);
template<> ::mediapipe::RenderAnnotation_Text* Arena::CreateMaybeMessage<::mediapipe::RenderAnnotation_Text>(Arena*);
template<> ::mediapipe::RenderData* Arena::CreateMaybeMessage<::mediapipe::RenderData>(Arena*);
template<> ::mediapipe::RenderViewport* Arena::CreateMaybeMessage<::mediapipe::RenderViewport>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace mediapipe {

enum RenderAnnotation_Line_LineType : int {
  RenderAnnotation_Line_LineType_UNKNOWN = 0,
  RenderAnnotation_Line_LineType_SOLID = 1,
  RenderAnnotation_Line_LineType_DASHED = 2
};
bool RenderAnnotation_Line_LineType_IsValid(int value);
constexpr RenderAnnotation_Line_LineType RenderAnnotation_Line_LineType_LineType_MIN = RenderAnnotation_Line_LineType_UNKNOWN;
constexpr RenderAnnotation_Line_LineType RenderAnnotation_Line_LineType_LineType_MAX = RenderAnnotation_Line_LineType_DASHED;
constexpr int RenderAnnotation_Line_LineType_LineType_ARRAYSIZE = RenderAnnotation_Line_LineType_LineType_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RenderAnnotation_Line_LineType_descriptor();
template<typename T>
inline const std::string& RenderAnnotation_Line_LineType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, RenderAnnotation_Line_LineType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function RenderAnnotation_Line_LineType_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    RenderAnnotation_Line_LineType_descriptor(), enum_t_value);
}
inline bool RenderAnnotation_Line_LineType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RenderAnnotation_Line_LineType* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<RenderAnnotation_Line_LineType>(
    RenderAnnotation_Line_LineType_descriptor(), name, value);
}
// ===================================================================

class RenderData final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderData) */ {
 public:
  inline RenderData() : RenderData(nullptr) {}
  ~RenderData() override;
  explicit constexpr RenderData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderData(const RenderData& from);
  RenderData(RenderData&& from) noexcept
    : RenderData() {
    *this = ::std::move(from);
  }

  inline RenderData& operator=(const RenderData& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderData& operator=(RenderData&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderData& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderData* internal_default_instance() {
    return reinterpret_cast<const RenderData*>(
               &_RenderData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(RenderData& a, RenderData& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderData* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderData* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderData>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderData& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderData& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderData* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderData";
  }
  protected:
  explicit RenderData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kRenderAnnotationsFieldNumber = 1,
    kSceneClassFieldNumber = 2,
    kSceneViewportFieldNumber = 3,
  };
  // repeated .mediapipe.RenderAnnotation render_annotations = 1;
  int render_annotations_size() const;
  private:
  int _internal_render_annotations_size() const;
  public:
  void clear_render_annotations();
  ::mediapipe::RenderAnnotation* mutable_render_annotations(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation >*
      mutable_render_annotations();
  private:
  const ::mediapipe::RenderAnnotation& _internal_render_annotations(int index) const;
  ::mediapipe::RenderAnnotation* _internal_add_render_annotations();
  public:
  const ::mediapipe::RenderAnnotation& render_annotations(int index) const;
  ::mediapipe::RenderAnnotation* add_render_annotations();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation >&
      render_annotations() const;

  // optional string scene_class = 2;
  bool has_scene_class() const;
  private:
  bool _internal_has_scene_class() const;
  public:
  void clear_scene_class();
  const std::string& scene_class() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_scene_class(ArgT0&& arg0, ArgT... args);
  std::string* mutable_scene_class();
  PROTOBUF_NODISCARD std::string* release_scene_class();
  void set_allocated_scene_class(std::string* scene_class);
  private:
  const std::string& _internal_scene_class() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_scene_class(const std::string& value);
  std::string* _internal_mutable_scene_class();
  public:

  // optional .mediapipe.RenderViewport scene_viewport = 3;
  bool has_scene_viewport() const;
  private:
  bool _internal_has_scene_viewport() const;
  public:
  void clear_scene_viewport();
  const ::mediapipe::RenderViewport& scene_viewport() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderViewport* release_scene_viewport();
  ::mediapipe::RenderViewport* mutable_scene_viewport();
  void set_allocated_scene_viewport(::mediapipe::RenderViewport* scene_viewport);
  private:
  const ::mediapipe::RenderViewport& _internal_scene_viewport() const;
  ::mediapipe::RenderViewport* _internal_mutable_scene_viewport();
  public:
  void unsafe_arena_set_allocated_scene_viewport(
      ::mediapipe::RenderViewport* scene_viewport);
  ::mediapipe::RenderViewport* unsafe_arena_release_scene_viewport();

  // @@protoc_insertion_point(class_scope:mediapipe.RenderData)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation > render_annotations_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scene_class_;
  ::mediapipe::RenderViewport* scene_viewport_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_Rectangle final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.Rectangle) */ {
 public:
  inline RenderAnnotation_Rectangle() : RenderAnnotation_Rectangle(nullptr) {}
  ~RenderAnnotation_Rectangle() override;
  explicit constexpr RenderAnnotation_Rectangle(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_Rectangle(const RenderAnnotation_Rectangle& from);
  RenderAnnotation_Rectangle(RenderAnnotation_Rectangle&& from) noexcept
    : RenderAnnotation_Rectangle() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_Rectangle& operator=(const RenderAnnotation_Rectangle& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_Rectangle& operator=(RenderAnnotation_Rectangle&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_Rectangle& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_Rectangle* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_Rectangle*>(
               &_RenderAnnotation_Rectangle_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(RenderAnnotation_Rectangle& a, RenderAnnotation_Rectangle& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_Rectangle* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_Rectangle* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_Rectangle* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_Rectangle>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_Rectangle& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_Rectangle& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_Rectangle* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.Rectangle";
  }
  protected:
  explicit RenderAnnotation_Rectangle(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kLeftFieldNumber = 1,
    kTopFieldNumber = 2,
    kRightFieldNumber = 3,
    kBottomFieldNumber = 4,
    kRotationFieldNumber = 6,
    kTopLeftThicknessFieldNumber = 7,
    kNormalizedFieldNumber = 5,
  };
  // optional double left = 1;
  bool has_left() const;
  private:
  bool _internal_has_left() const;
  public:
  void clear_left();
  double left() const;
  void set_left(double value);
  private:
  double _internal_left() const;
  void _internal_set_left(double value);
  public:

  // optional double top = 2;
  bool has_top() const;
  private:
  bool _internal_has_top() const;
  public:
  void clear_top();
  double top() const;
  void set_top(double value);
  private:
  double _internal_top() const;
  void _internal_set_top(double value);
  public:

  // optional double right = 3;
  bool has_right() const;
  private:
  bool _internal_has_right() const;
  public:
  void clear_right();
  double right() const;
  void set_right(double value);
  private:
  double _internal_right() const;
  void _internal_set_right(double value);
  public:

  // optional double bottom = 4;
  bool has_bottom() const;
  private:
  bool _internal_has_bottom() const;
  public:
  void clear_bottom();
  double bottom() const;
  void set_bottom(double value);
  private:
  double _internal_bottom() const;
  void _internal_set_bottom(double value);
  public:

  // optional double rotation = 6;
  bool has_rotation() const;
  private:
  bool _internal_has_rotation() const;
  public:
  void clear_rotation();
  double rotation() const;
  void set_rotation(double value);
  private:
  double _internal_rotation() const;
  void _internal_set_rotation(double value);
  public:

  // optional double top_left_thickness = 7;
  bool has_top_left_thickness() const;
  private:
  bool _internal_has_top_left_thickness() const;
  public:
  void clear_top_left_thickness();
  double top_left_thickness() const;
  void set_top_left_thickness(double value);
  private:
  double _internal_top_left_thickness() const;
  void _internal_set_top_left_thickness(double value);
  public:

  // optional bool normalized = 5 [default = false];
  bool has_normalized() const;
  private:
  bool _internal_has_normalized() const;
  public:
  void clear_normalized();
  bool normalized() const;
  void set_normalized(bool value);
  private:
  bool _internal_normalized() const;
  void _internal_set_normalized(bool value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.Rectangle)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  double left_;
  double top_;
  double right_;
  double bottom_;
  double rotation_;
  double top_left_thickness_;
  bool normalized_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_FilledRectangle final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.FilledRectangle) */ {
 public:
  inline RenderAnnotation_FilledRectangle() : RenderAnnotation_FilledRectangle(nullptr) {}
  ~RenderAnnotation_FilledRectangle() override;
  explicit constexpr RenderAnnotation_FilledRectangle(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_FilledRectangle(const RenderAnnotation_FilledRectangle& from);
  RenderAnnotation_FilledRectangle(RenderAnnotation_FilledRectangle&& from) noexcept
    : RenderAnnotation_FilledRectangle() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_FilledRectangle& operator=(const RenderAnnotation_FilledRectangle& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_FilledRectangle& operator=(RenderAnnotation_FilledRectangle&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_FilledRectangle& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_FilledRectangle* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_FilledRectangle*>(
               &_RenderAnnotation_FilledRectangle_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(RenderAnnotation_FilledRectangle& a, RenderAnnotation_FilledRectangle& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_FilledRectangle* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_FilledRectangle* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_FilledRectangle* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_FilledRectangle>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_FilledRectangle& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_FilledRectangle& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_FilledRectangle* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.FilledRectangle";
  }
  protected:
  explicit RenderAnnotation_FilledRectangle(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kRectangleFieldNumber = 1,
    kFillColorFieldNumber = 2,
  };
  // optional .mediapipe.RenderAnnotation.Rectangle rectangle = 1;
  bool has_rectangle() const;
  private:
  bool _internal_has_rectangle() const;
  public:
  void clear_rectangle();
  const ::mediapipe::RenderAnnotation_Rectangle& rectangle() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Rectangle* release_rectangle();
  ::mediapipe::RenderAnnotation_Rectangle* mutable_rectangle();
  void set_allocated_rectangle(::mediapipe::RenderAnnotation_Rectangle* rectangle);
  private:
  const ::mediapipe::RenderAnnotation_Rectangle& _internal_rectangle() const;
  ::mediapipe::RenderAnnotation_Rectangle* _internal_mutable_rectangle();
  public:
  void unsafe_arena_set_allocated_rectangle(
      ::mediapipe::RenderAnnotation_Rectangle* rectangle);
  ::mediapipe::RenderAnnotation_Rectangle* unsafe_arena_release_rectangle();

  // optional .mediapipe.Color fill_color = 2;
  bool has_fill_color() const;
  private:
  bool _internal_has_fill_color() const;
  public:
  void clear_fill_color();
  const ::mediapipe::Color& fill_color() const;
  PROTOBUF_NODISCARD ::mediapipe::Color* release_fill_color();
  ::mediapipe::Color* mutable_fill_color();
  void set_allocated_fill_color(::mediapipe::Color* fill_color);
  private:
  const ::mediapipe::Color& _internal_fill_color() const;
  ::mediapipe::Color* _internal_mutable_fill_color();
  public:
  void unsafe_arena_set_allocated_fill_color(
      ::mediapipe::Color* fill_color);
  ::mediapipe::Color* unsafe_arena_release_fill_color();

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.FilledRectangle)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::mediapipe::RenderAnnotation_Rectangle* rectangle_;
  ::mediapipe::Color* fill_color_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_RoundedRectangle final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.RoundedRectangle) */ {
 public:
  inline RenderAnnotation_RoundedRectangle() : RenderAnnotation_RoundedRectangle(nullptr) {}
  ~RenderAnnotation_RoundedRectangle() override;
  explicit constexpr RenderAnnotation_RoundedRectangle(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_RoundedRectangle(const RenderAnnotation_RoundedRectangle& from);
  RenderAnnotation_RoundedRectangle(RenderAnnotation_RoundedRectangle&& from) noexcept
    : RenderAnnotation_RoundedRectangle() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_RoundedRectangle& operator=(const RenderAnnotation_RoundedRectangle& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_RoundedRectangle& operator=(RenderAnnotation_RoundedRectangle&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_RoundedRectangle& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_RoundedRectangle* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_RoundedRectangle*>(
               &_RenderAnnotation_RoundedRectangle_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(RenderAnnotation_RoundedRectangle& a, RenderAnnotation_RoundedRectangle& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_RoundedRectangle* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_RoundedRectangle* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_RoundedRectangle* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_RoundedRectangle>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_RoundedRectangle& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_RoundedRectangle& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_RoundedRectangle* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.RoundedRectangle";
  }
  protected:
  explicit RenderAnnotation_RoundedRectangle(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kRectangleFieldNumber = 1,
    kCornerRadiusFieldNumber = 2,
    kLineTypeFieldNumber = 3,
  };
  // optional .mediapipe.RenderAnnotation.Rectangle rectangle = 1;
  bool has_rectangle() const;
  private:
  bool _internal_has_rectangle() const;
  public:
  void clear_rectangle();
  const ::mediapipe::RenderAnnotation_Rectangle& rectangle() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Rectangle* release_rectangle();
  ::mediapipe::RenderAnnotation_Rectangle* mutable_rectangle();
  void set_allocated_rectangle(::mediapipe::RenderAnnotation_Rectangle* rectangle);
  private:
  const ::mediapipe::RenderAnnotation_Rectangle& _internal_rectangle() const;
  ::mediapipe::RenderAnnotation_Rectangle* _internal_mutable_rectangle();
  public:
  void unsafe_arena_set_allocated_rectangle(
      ::mediapipe::RenderAnnotation_Rectangle* rectangle);
  ::mediapipe::RenderAnnotation_Rectangle* unsafe_arena_release_rectangle();

  // optional int32 corner_radius = 2 [default = 0];
  bool has_corner_radius() const;
  private:
  bool _internal_has_corner_radius() const;
  public:
  void clear_corner_radius();
  int32_t corner_radius() const;
  void set_corner_radius(int32_t value);
  private:
  int32_t _internal_corner_radius() const;
  void _internal_set_corner_radius(int32_t value);
  public:

  // optional int32 line_type = 3 [default = 4];
  bool has_line_type() const;
  private:
  bool _internal_has_line_type() const;
  public:
  void clear_line_type();
  int32_t line_type() const;
  void set_line_type(int32_t value);
  private:
  int32_t _internal_line_type() const;
  void _internal_set_line_type(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.RoundedRectangle)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::mediapipe::RenderAnnotation_Rectangle* rectangle_;
  int32_t corner_radius_;
  int32_t line_type_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_FilledRoundedRectangle final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.FilledRoundedRectangle) */ {
 public:
  inline RenderAnnotation_FilledRoundedRectangle() : RenderAnnotation_FilledRoundedRectangle(nullptr) {}
  ~RenderAnnotation_FilledRoundedRectangle() override;
  explicit constexpr RenderAnnotation_FilledRoundedRectangle(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_FilledRoundedRectangle(const RenderAnnotation_FilledRoundedRectangle& from);
  RenderAnnotation_FilledRoundedRectangle(RenderAnnotation_FilledRoundedRectangle&& from) noexcept
    : RenderAnnotation_FilledRoundedRectangle() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_FilledRoundedRectangle& operator=(const RenderAnnotation_FilledRoundedRectangle& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_FilledRoundedRectangle& operator=(RenderAnnotation_FilledRoundedRectangle&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_FilledRoundedRectangle& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_FilledRoundedRectangle* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_FilledRoundedRectangle*>(
               &_RenderAnnotation_FilledRoundedRectangle_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(RenderAnnotation_FilledRoundedRectangle& a, RenderAnnotation_FilledRoundedRectangle& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_FilledRoundedRectangle* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_FilledRoundedRectangle* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_FilledRoundedRectangle* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_FilledRoundedRectangle>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_FilledRoundedRectangle& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_FilledRoundedRectangle& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_FilledRoundedRectangle* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.FilledRoundedRectangle";
  }
  protected:
  explicit RenderAnnotation_FilledRoundedRectangle(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kRoundedRectangleFieldNumber = 1,
    kFillColorFieldNumber = 2,
  };
  // optional .mediapipe.RenderAnnotation.RoundedRectangle rounded_rectangle = 1;
  bool has_rounded_rectangle() const;
  private:
  bool _internal_has_rounded_rectangle() const;
  public:
  void clear_rounded_rectangle();
  const ::mediapipe::RenderAnnotation_RoundedRectangle& rounded_rectangle() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_RoundedRectangle* release_rounded_rectangle();
  ::mediapipe::RenderAnnotation_RoundedRectangle* mutable_rounded_rectangle();
  void set_allocated_rounded_rectangle(::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle);
  private:
  const ::mediapipe::RenderAnnotation_RoundedRectangle& _internal_rounded_rectangle() const;
  ::mediapipe::RenderAnnotation_RoundedRectangle* _internal_mutable_rounded_rectangle();
  public:
  void unsafe_arena_set_allocated_rounded_rectangle(
      ::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle);
  ::mediapipe::RenderAnnotation_RoundedRectangle* unsafe_arena_release_rounded_rectangle();

  // optional .mediapipe.Color fill_color = 2;
  bool has_fill_color() const;
  private:
  bool _internal_has_fill_color() const;
  public:
  void clear_fill_color();
  const ::mediapipe::Color& fill_color() const;
  PROTOBUF_NODISCARD ::mediapipe::Color* release_fill_color();
  ::mediapipe::Color* mutable_fill_color();
  void set_allocated_fill_color(::mediapipe::Color* fill_color);
  private:
  const ::mediapipe::Color& _internal_fill_color() const;
  ::mediapipe::Color* _internal_mutable_fill_color();
  public:
  void unsafe_arena_set_allocated_fill_color(
      ::mediapipe::Color* fill_color);
  ::mediapipe::Color* unsafe_arena_release_fill_color();

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.FilledRoundedRectangle)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle_;
  ::mediapipe::Color* fill_color_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_Oval final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.Oval) */ {
 public:
  inline RenderAnnotation_Oval() : RenderAnnotation_Oval(nullptr) {}
  ~RenderAnnotation_Oval() override;
  explicit constexpr RenderAnnotation_Oval(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_Oval(const RenderAnnotation_Oval& from);
  RenderAnnotation_Oval(RenderAnnotation_Oval&& from) noexcept
    : RenderAnnotation_Oval() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_Oval& operator=(const RenderAnnotation_Oval& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_Oval& operator=(RenderAnnotation_Oval&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_Oval& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_Oval* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_Oval*>(
               &_RenderAnnotation_Oval_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(RenderAnnotation_Oval& a, RenderAnnotation_Oval& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_Oval* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_Oval* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_Oval* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_Oval>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_Oval& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_Oval& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_Oval* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.Oval";
  }
  protected:
  explicit RenderAnnotation_Oval(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kRectangleFieldNumber = 1,
  };
  // optional .mediapipe.RenderAnnotation.Rectangle rectangle = 1;
  bool has_rectangle() const;
  private:
  bool _internal_has_rectangle() const;
  public:
  void clear_rectangle();
  const ::mediapipe::RenderAnnotation_Rectangle& rectangle() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Rectangle* release_rectangle();
  ::mediapipe::RenderAnnotation_Rectangle* mutable_rectangle();
  void set_allocated_rectangle(::mediapipe::RenderAnnotation_Rectangle* rectangle);
  private:
  const ::mediapipe::RenderAnnotation_Rectangle& _internal_rectangle() const;
  ::mediapipe::RenderAnnotation_Rectangle* _internal_mutable_rectangle();
  public:
  void unsafe_arena_set_allocated_rectangle(
      ::mediapipe::RenderAnnotation_Rectangle* rectangle);
  ::mediapipe::RenderAnnotation_Rectangle* unsafe_arena_release_rectangle();

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.Oval)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::mediapipe::RenderAnnotation_Rectangle* rectangle_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_FilledOval final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.FilledOval) */ {
 public:
  inline RenderAnnotation_FilledOval() : RenderAnnotation_FilledOval(nullptr) {}
  ~RenderAnnotation_FilledOval() override;
  explicit constexpr RenderAnnotation_FilledOval(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_FilledOval(const RenderAnnotation_FilledOval& from);
  RenderAnnotation_FilledOval(RenderAnnotation_FilledOval&& from) noexcept
    : RenderAnnotation_FilledOval() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_FilledOval& operator=(const RenderAnnotation_FilledOval& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_FilledOval& operator=(RenderAnnotation_FilledOval&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_FilledOval& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_FilledOval* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_FilledOval*>(
               &_RenderAnnotation_FilledOval_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(RenderAnnotation_FilledOval& a, RenderAnnotation_FilledOval& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_FilledOval* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_FilledOval* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_FilledOval* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_FilledOval>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_FilledOval& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_FilledOval& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_FilledOval* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.FilledOval";
  }
  protected:
  explicit RenderAnnotation_FilledOval(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kOvalFieldNumber = 1,
    kFillColorFieldNumber = 2,
  };
  // optional .mediapipe.RenderAnnotation.Oval oval = 1;
  bool has_oval() const;
  private:
  bool _internal_has_oval() const;
  public:
  void clear_oval();
  const ::mediapipe::RenderAnnotation_Oval& oval() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Oval* release_oval();
  ::mediapipe::RenderAnnotation_Oval* mutable_oval();
  void set_allocated_oval(::mediapipe::RenderAnnotation_Oval* oval);
  private:
  const ::mediapipe::RenderAnnotation_Oval& _internal_oval() const;
  ::mediapipe::RenderAnnotation_Oval* _internal_mutable_oval();
  public:
  void unsafe_arena_set_allocated_oval(
      ::mediapipe::RenderAnnotation_Oval* oval);
  ::mediapipe::RenderAnnotation_Oval* unsafe_arena_release_oval();

  // optional .mediapipe.Color fill_color = 2;
  bool has_fill_color() const;
  private:
  bool _internal_has_fill_color() const;
  public:
  void clear_fill_color();
  const ::mediapipe::Color& fill_color() const;
  PROTOBUF_NODISCARD ::mediapipe::Color* release_fill_color();
  ::mediapipe::Color* mutable_fill_color();
  void set_allocated_fill_color(::mediapipe::Color* fill_color);
  private:
  const ::mediapipe::Color& _internal_fill_color() const;
  ::mediapipe::Color* _internal_mutable_fill_color();
  public:
  void unsafe_arena_set_allocated_fill_color(
      ::mediapipe::Color* fill_color);
  ::mediapipe::Color* unsafe_arena_release_fill_color();

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.FilledOval)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::mediapipe::RenderAnnotation_Oval* oval_;
  ::mediapipe::Color* fill_color_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_Point final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.Point) */ {
 public:
  inline RenderAnnotation_Point() : RenderAnnotation_Point(nullptr) {}
  ~RenderAnnotation_Point() override;
  explicit constexpr RenderAnnotation_Point(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_Point(const RenderAnnotation_Point& from);
  RenderAnnotation_Point(RenderAnnotation_Point&& from) noexcept
    : RenderAnnotation_Point() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_Point& operator=(const RenderAnnotation_Point& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_Point& operator=(RenderAnnotation_Point&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_Point& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_Point* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_Point*>(
               &_RenderAnnotation_Point_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(RenderAnnotation_Point& a, RenderAnnotation_Point& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_Point* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_Point* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_Point* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_Point>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_Point& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_Point& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_Point* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.Point";
  }
  protected:
  explicit RenderAnnotation_Point(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kXFieldNumber = 1,
    kYFieldNumber = 2,
    kNormalizedFieldNumber = 3,
  };
  // optional double x = 1;
  bool has_x() const;
  private:
  bool _internal_has_x() const;
  public:
  void clear_x();
  double x() const;
  void set_x(double value);
  private:
  double _internal_x() const;
  void _internal_set_x(double value);
  public:

  // optional double y = 2;
  bool has_y() const;
  private:
  bool _internal_has_y() const;
  public:
  void clear_y();
  double y() const;
  void set_y(double value);
  private:
  double _internal_y() const;
  void _internal_set_y(double value);
  public:

  // optional bool normalized = 3 [default = false];
  bool has_normalized() const;
  private:
  bool _internal_has_normalized() const;
  public:
  void clear_normalized();
  bool normalized() const;
  void set_normalized(bool value);
  private:
  bool _internal_normalized() const;
  void _internal_set_normalized(bool value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.Point)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  double x_;
  double y_;
  bool normalized_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_Line final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.Line) */ {
 public:
  inline RenderAnnotation_Line() : RenderAnnotation_Line(nullptr) {}
  ~RenderAnnotation_Line() override;
  explicit constexpr RenderAnnotation_Line(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_Line(const RenderAnnotation_Line& from);
  RenderAnnotation_Line(RenderAnnotation_Line&& from) noexcept
    : RenderAnnotation_Line() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_Line& operator=(const RenderAnnotation_Line& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_Line& operator=(RenderAnnotation_Line&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_Line& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_Line* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_Line*>(
               &_RenderAnnotation_Line_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(RenderAnnotation_Line& a, RenderAnnotation_Line& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_Line* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_Line* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_Line* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_Line>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_Line& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_Line& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_Line* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.Line";
  }
  protected:
  explicit RenderAnnotation_Line(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  typedef RenderAnnotation_Line_LineType LineType;
  static constexpr LineType UNKNOWN =
    RenderAnnotation_Line_LineType_UNKNOWN;
  static constexpr LineType SOLID =
    RenderAnnotation_Line_LineType_SOLID;
  static constexpr LineType DASHED =
    RenderAnnotation_Line_LineType_DASHED;
  static inline bool LineType_IsValid(int value) {
    return RenderAnnotation_Line_LineType_IsValid(value);
  }
  static constexpr LineType LineType_MIN =
    RenderAnnotation_Line_LineType_LineType_MIN;
  static constexpr LineType LineType_MAX =
    RenderAnnotation_Line_LineType_LineType_MAX;
  static constexpr int LineType_ARRAYSIZE =
    RenderAnnotation_Line_LineType_LineType_ARRAYSIZE;
  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
  LineType_descriptor() {
    return RenderAnnotation_Line_LineType_descriptor();
  }
  template<typename T>
  static inline const std::string& LineType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, LineType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function LineType_Name.");
    return RenderAnnotation_Line_LineType_Name(enum_t_value);
  }
  static inline bool LineType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      LineType* value) {
    return RenderAnnotation_Line_LineType_Parse(name, value);
  }

  // accessors -------------------------------------------------------

  enum : int {
    kXStartFieldNumber = 1,
    kYStartFieldNumber = 2,
    kXEndFieldNumber = 3,
    kYEndFieldNumber = 4,
    kNormalizedFieldNumber = 5,
    kLineTypeFieldNumber = 6,
  };
  // optional double x_start = 1;
  bool has_x_start() const;
  private:
  bool _internal_has_x_start() const;
  public:
  void clear_x_start();
  double x_start() const;
  void set_x_start(double value);
  private:
  double _internal_x_start() const;
  void _internal_set_x_start(double value);
  public:

  // optional double y_start = 2;
  bool has_y_start() const;
  private:
  bool _internal_has_y_start() const;
  public:
  void clear_y_start();
  double y_start() const;
  void set_y_start(double value);
  private:
  double _internal_y_start() const;
  void _internal_set_y_start(double value);
  public:

  // optional double x_end = 3;
  bool has_x_end() const;
  private:
  bool _internal_has_x_end() const;
  public:
  void clear_x_end();
  double x_end() const;
  void set_x_end(double value);
  private:
  double _internal_x_end() const;
  void _internal_set_x_end(double value);
  public:

  // optional double y_end = 4;
  bool has_y_end() const;
  private:
  bool _internal_has_y_end() const;
  public:
  void clear_y_end();
  double y_end() const;
  void set_y_end(double value);
  private:
  double _internal_y_end() const;
  void _internal_set_y_end(double value);
  public:

  // optional bool normalized = 5 [default = false];
  bool has_normalized() const;
  private:
  bool _internal_has_normalized() const;
  public:
  void clear_normalized();
  bool normalized() const;
  void set_normalized(bool value);
  private:
  bool _internal_normalized() const;
  void _internal_set_normalized(bool value);
  public:

  // optional .mediapipe.RenderAnnotation.Line.LineType line_type = 6 [default = SOLID];
  bool has_line_type() const;
  private:
  bool _internal_has_line_type() const;
  public:
  void clear_line_type();
  ::mediapipe::RenderAnnotation_Line_LineType line_type() const;
  void set_line_type(::mediapipe::RenderAnnotation_Line_LineType value);
  private:
  ::mediapipe::RenderAnnotation_Line_LineType _internal_line_type() const;
  void _internal_set_line_type(::mediapipe::RenderAnnotation_Line_LineType value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.Line)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  double x_start_;
  double y_start_;
  double x_end_;
  double y_end_;
  bool normalized_;
  int line_type_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_GradientLine final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.GradientLine) */ {
 public:
  inline RenderAnnotation_GradientLine() : RenderAnnotation_GradientLine(nullptr) {}
  ~RenderAnnotation_GradientLine() override;
  explicit constexpr RenderAnnotation_GradientLine(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_GradientLine(const RenderAnnotation_GradientLine& from);
  RenderAnnotation_GradientLine(RenderAnnotation_GradientLine&& from) noexcept
    : RenderAnnotation_GradientLine() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_GradientLine& operator=(const RenderAnnotation_GradientLine& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_GradientLine& operator=(RenderAnnotation_GradientLine&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_GradientLine& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_GradientLine* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_GradientLine*>(
               &_RenderAnnotation_GradientLine_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(RenderAnnotation_GradientLine& a, RenderAnnotation_GradientLine& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_GradientLine* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_GradientLine* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_GradientLine* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_GradientLine>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_GradientLine& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_GradientLine& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_GradientLine* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.GradientLine";
  }
  protected:
  explicit RenderAnnotation_GradientLine(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kColor1FieldNumber = 6,
    kColor2FieldNumber = 7,
    kXStartFieldNumber = 1,
    kYStartFieldNumber = 2,
    kXEndFieldNumber = 3,
    kYEndFieldNumber = 4,
    kNormalizedFieldNumber = 5,
  };
  // optional .mediapipe.Color color1 = 6;
  bool has_color1() const;
  private:
  bool _internal_has_color1() const;
  public:
  void clear_color1();
  const ::mediapipe::Color& color1() const;
  PROTOBUF_NODISCARD ::mediapipe::Color* release_color1();
  ::mediapipe::Color* mutable_color1();
  void set_allocated_color1(::mediapipe::Color* color1);
  private:
  const ::mediapipe::Color& _internal_color1() const;
  ::mediapipe::Color* _internal_mutable_color1();
  public:
  void unsafe_arena_set_allocated_color1(
      ::mediapipe::Color* color1);
  ::mediapipe::Color* unsafe_arena_release_color1();

  // optional .mediapipe.Color color2 = 7;
  bool has_color2() const;
  private:
  bool _internal_has_color2() const;
  public:
  void clear_color2();
  const ::mediapipe::Color& color2() const;
  PROTOBUF_NODISCARD ::mediapipe::Color* release_color2();
  ::mediapipe::Color* mutable_color2();
  void set_allocated_color2(::mediapipe::Color* color2);
  private:
  const ::mediapipe::Color& _internal_color2() const;
  ::mediapipe::Color* _internal_mutable_color2();
  public:
  void unsafe_arena_set_allocated_color2(
      ::mediapipe::Color* color2);
  ::mediapipe::Color* unsafe_arena_release_color2();

  // optional double x_start = 1;
  bool has_x_start() const;
  private:
  bool _internal_has_x_start() const;
  public:
  void clear_x_start();
  double x_start() const;
  void set_x_start(double value);
  private:
  double _internal_x_start() const;
  void _internal_set_x_start(double value);
  public:

  // optional double y_start = 2;
  bool has_y_start() const;
  private:
  bool _internal_has_y_start() const;
  public:
  void clear_y_start();
  double y_start() const;
  void set_y_start(double value);
  private:
  double _internal_y_start() const;
  void _internal_set_y_start(double value);
  public:

  // optional double x_end = 3;
  bool has_x_end() const;
  private:
  bool _internal_has_x_end() const;
  public:
  void clear_x_end();
  double x_end() const;
  void set_x_end(double value);
  private:
  double _internal_x_end() const;
  void _internal_set_x_end(double value);
  public:

  // optional double y_end = 4;
  bool has_y_end() const;
  private:
  bool _internal_has_y_end() const;
  public:
  void clear_y_end();
  double y_end() const;
  void set_y_end(double value);
  private:
  double _internal_y_end() const;
  void _internal_set_y_end(double value);
  public:

  // optional bool normalized = 5 [default = false];
  bool has_normalized() const;
  private:
  bool _internal_has_normalized() const;
  public:
  void clear_normalized();
  bool normalized() const;
  void set_normalized(bool value);
  private:
  bool _internal_normalized() const;
  void _internal_set_normalized(bool value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.GradientLine)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::mediapipe::Color* color1_;
  ::mediapipe::Color* color2_;
  double x_start_;
  double y_start_;
  double x_end_;
  double y_end_;
  bool normalized_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_Scribble final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.Scribble) */ {
 public:
  inline RenderAnnotation_Scribble() : RenderAnnotation_Scribble(nullptr) {}
  ~RenderAnnotation_Scribble() override;
  explicit constexpr RenderAnnotation_Scribble(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_Scribble(const RenderAnnotation_Scribble& from);
  RenderAnnotation_Scribble(RenderAnnotation_Scribble&& from) noexcept
    : RenderAnnotation_Scribble() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_Scribble& operator=(const RenderAnnotation_Scribble& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_Scribble& operator=(RenderAnnotation_Scribble&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_Scribble& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_Scribble* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_Scribble*>(
               &_RenderAnnotation_Scribble_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(RenderAnnotation_Scribble& a, RenderAnnotation_Scribble& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_Scribble* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_Scribble* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_Scribble* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_Scribble>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_Scribble& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_Scribble& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_Scribble* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.Scribble";
  }
  protected:
  explicit RenderAnnotation_Scribble(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kPointFieldNumber = 1,
  };
  // repeated .mediapipe.RenderAnnotation.Point point = 1;
  int point_size() const;
  private:
  int _internal_point_size() const;
  public:
  void clear_point();
  ::mediapipe::RenderAnnotation_Point* mutable_point(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation_Point >*
      mutable_point();
  private:
  const ::mediapipe::RenderAnnotation_Point& _internal_point(int index) const;
  ::mediapipe::RenderAnnotation_Point* _internal_add_point();
  public:
  const ::mediapipe::RenderAnnotation_Point& point(int index) const;
  ::mediapipe::RenderAnnotation_Point* add_point();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation_Point >&
      point() const;

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.Scribble)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation_Point > point_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_Arrow final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.Arrow) */ {
 public:
  inline RenderAnnotation_Arrow() : RenderAnnotation_Arrow(nullptr) {}
  ~RenderAnnotation_Arrow() override;
  explicit constexpr RenderAnnotation_Arrow(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_Arrow(const RenderAnnotation_Arrow& from);
  RenderAnnotation_Arrow(RenderAnnotation_Arrow&& from) noexcept
    : RenderAnnotation_Arrow() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_Arrow& operator=(const RenderAnnotation_Arrow& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_Arrow& operator=(RenderAnnotation_Arrow&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_Arrow& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_Arrow* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_Arrow*>(
               &_RenderAnnotation_Arrow_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(RenderAnnotation_Arrow& a, RenderAnnotation_Arrow& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_Arrow* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_Arrow* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_Arrow* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_Arrow>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_Arrow& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_Arrow& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_Arrow* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.Arrow";
  }
  protected:
  explicit RenderAnnotation_Arrow(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kXStartFieldNumber = 1,
    kYStartFieldNumber = 2,
    kXEndFieldNumber = 3,
    kYEndFieldNumber = 4,
    kNormalizedFieldNumber = 5,
  };
  // optional double x_start = 1;
  bool has_x_start() const;
  private:
  bool _internal_has_x_start() const;
  public:
  void clear_x_start();
  double x_start() const;
  void set_x_start(double value);
  private:
  double _internal_x_start() const;
  void _internal_set_x_start(double value);
  public:

  // optional double y_start = 2;
  bool has_y_start() const;
  private:
  bool _internal_has_y_start() const;
  public:
  void clear_y_start();
  double y_start() const;
  void set_y_start(double value);
  private:
  double _internal_y_start() const;
  void _internal_set_y_start(double value);
  public:

  // optional double x_end = 3;
  bool has_x_end() const;
  private:
  bool _internal_has_x_end() const;
  public:
  void clear_x_end();
  double x_end() const;
  void set_x_end(double value);
  private:
  double _internal_x_end() const;
  void _internal_set_x_end(double value);
  public:

  // optional double y_end = 4;
  bool has_y_end() const;
  private:
  bool _internal_has_y_end() const;
  public:
  void clear_y_end();
  double y_end() const;
  void set_y_end(double value);
  private:
  double _internal_y_end() const;
  void _internal_set_y_end(double value);
  public:

  // optional bool normalized = 5 [default = false];
  bool has_normalized() const;
  private:
  bool _internal_has_normalized() const;
  public:
  void clear_normalized();
  bool normalized() const;
  void set_normalized(bool value);
  private:
  bool _internal_normalized() const;
  void _internal_set_normalized(bool value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.Arrow)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  double x_start_;
  double y_start_;
  double x_end_;
  double y_end_;
  bool normalized_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation_Text final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation.Text) */ {
 public:
  inline RenderAnnotation_Text() : RenderAnnotation_Text(nullptr) {}
  ~RenderAnnotation_Text() override;
  explicit constexpr RenderAnnotation_Text(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation_Text(const RenderAnnotation_Text& from);
  RenderAnnotation_Text(RenderAnnotation_Text&& from) noexcept
    : RenderAnnotation_Text() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation_Text& operator=(const RenderAnnotation_Text& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation_Text& operator=(RenderAnnotation_Text&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation_Text& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderAnnotation_Text* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation_Text*>(
               &_RenderAnnotation_Text_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(RenderAnnotation_Text& a, RenderAnnotation_Text& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation_Text* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation_Text* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation_Text* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation_Text>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation_Text& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation_Text& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation_Text* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation.Text";
  }
  protected:
  explicit RenderAnnotation_Text(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kDisplayTextFieldNumber = 1,
    kOutlineColorFieldNumber = 12,
    kLeftFieldNumber = 2,
    kBaselineFieldNumber = 3,
    kFontFaceFieldNumber = 6,
    kNormalizedFieldNumber = 5,
    kCenterHorizontallyFieldNumber = 7,
    kCenterVerticallyFieldNumber = 8,
    kOutlineThicknessFieldNumber = 11,
    kFontHeightFieldNumber = 4,
  };
  // optional string display_text = 1;
  bool has_display_text() const;
  private:
  bool _internal_has_display_text() const;
  public:
  void clear_display_text();
  const std::string& display_text() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_display_text(ArgT0&& arg0, ArgT... args);
  std::string* mutable_display_text();
  PROTOBUF_NODISCARD std::string* release_display_text();
  void set_allocated_display_text(std::string* display_text);
  private:
  const std::string& _internal_display_text() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_display_text(const std::string& value);
  std::string* _internal_mutable_display_text();
  public:

  // optional .mediapipe.Color outline_color = 12;
  bool has_outline_color() const;
  private:
  bool _internal_has_outline_color() const;
  public:
  void clear_outline_color();
  const ::mediapipe::Color& outline_color() const;
  PROTOBUF_NODISCARD ::mediapipe::Color* release_outline_color();
  ::mediapipe::Color* mutable_outline_color();
  void set_allocated_outline_color(::mediapipe::Color* outline_color);
  private:
  const ::mediapipe::Color& _internal_outline_color() const;
  ::mediapipe::Color* _internal_mutable_outline_color();
  public:
  void unsafe_arena_set_allocated_outline_color(
      ::mediapipe::Color* outline_color);
  ::mediapipe::Color* unsafe_arena_release_outline_color();

  // optional double left = 2;
  bool has_left() const;
  private:
  bool _internal_has_left() const;
  public:
  void clear_left();
  double left() const;
  void set_left(double value);
  private:
  double _internal_left() const;
  void _internal_set_left(double value);
  public:

  // optional double baseline = 3;
  bool has_baseline() const;
  private:
  bool _internal_has_baseline() const;
  public:
  void clear_baseline();
  double baseline() const;
  void set_baseline(double value);
  private:
  double _internal_baseline() const;
  void _internal_set_baseline(double value);
  public:

  // optional int32 font_face = 6 [default = 0];
  bool has_font_face() const;
  private:
  bool _internal_has_font_face() const;
  public:
  void clear_font_face();
  int32_t font_face() const;
  void set_font_face(int32_t value);
  private:
  int32_t _internal_font_face() const;
  void _internal_set_font_face(int32_t value);
  public:

  // optional bool normalized = 5 [default = false];
  bool has_normalized() const;
  private:
  bool _internal_has_normalized() const;
  public:
  void clear_normalized();
  bool normalized() const;
  void set_normalized(bool value);
  private:
  bool _internal_normalized() const;
  void _internal_set_normalized(bool value);
  public:

  // optional bool center_horizontally = 7 [default = false];
  bool has_center_horizontally() const;
  private:
  bool _internal_has_center_horizontally() const;
  public:
  void clear_center_horizontally();
  bool center_horizontally() const;
  void set_center_horizontally(bool value);
  private:
  bool _internal_center_horizontally() const;
  void _internal_set_center_horizontally(bool value);
  public:

  // optional bool center_vertically = 8 [default = false];
  bool has_center_vertically() const;
  private:
  bool _internal_has_center_vertically() const;
  public:
  void clear_center_vertically();
  bool center_vertically() const;
  void set_center_vertically(bool value);
  private:
  bool _internal_center_vertically() const;
  void _internal_set_center_vertically(bool value);
  public:

  // optional double outline_thickness = 11 [default = 0];
  bool has_outline_thickness() const;
  private:
  bool _internal_has_outline_thickness() const;
  public:
  void clear_outline_thickness();
  double outline_thickness() const;
  void set_outline_thickness(double value);
  private:
  double _internal_outline_thickness() const;
  void _internal_set_outline_thickness(double value);
  public:

  // optional double font_height = 4 [default = 8];
  bool has_font_height() const;
  private:
  bool _internal_has_font_height() const;
  public:
  void clear_font_height();
  double font_height() const;
  void set_font_height(double value);
  private:
  double _internal_font_height() const;
  void _internal_set_font_height(double value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation.Text)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr display_text_;
  ::mediapipe::Color* outline_color_;
  double left_;
  double baseline_;
  int32_t font_face_;
  bool normalized_;
  bool center_horizontally_;
  bool center_vertically_;
  double outline_thickness_;
  double font_height_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderAnnotation final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderAnnotation) */ {
 public:
  inline RenderAnnotation() : RenderAnnotation(nullptr) {}
  ~RenderAnnotation() override;
  explicit constexpr RenderAnnotation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderAnnotation(const RenderAnnotation& from);
  RenderAnnotation(RenderAnnotation&& from) noexcept
    : RenderAnnotation() {
    *this = ::std::move(from);
  }

  inline RenderAnnotation& operator=(const RenderAnnotation& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderAnnotation& operator=(RenderAnnotation&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderAnnotation& default_instance() {
    return *internal_default_instance();
  }
  enum DataCase {
    kRectangle = 1,
    kFilledRectangle = 2,
    kOval = 3,
    kFilledOval = 4,
    kPoint = 5,
    kLine = 6,
    kArrow = 7,
    kText = 8,
    kRoundedRectangle = 9,
    kFilledRoundedRectangle = 10,
    kGradientLine = 14,
    kScribble = 15,
    DATA_NOT_SET = 0,
  };

  static inline const RenderAnnotation* internal_default_instance() {
    return reinterpret_cast<const RenderAnnotation*>(
               &_RenderAnnotation_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  friend void swap(RenderAnnotation& a, RenderAnnotation& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderAnnotation* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderAnnotation* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderAnnotation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderAnnotation>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderAnnotation& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderAnnotation& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderAnnotation* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderAnnotation";
  }
  protected:
  explicit RenderAnnotation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  typedef RenderAnnotation_Rectangle Rectangle;
  typedef RenderAnnotation_FilledRectangle FilledRectangle;
  typedef RenderAnnotation_RoundedRectangle RoundedRectangle;
  typedef RenderAnnotation_FilledRoundedRectangle FilledRoundedRectangle;
  typedef RenderAnnotation_Oval Oval;
  typedef RenderAnnotation_FilledOval FilledOval;
  typedef RenderAnnotation_Point Point;
  typedef RenderAnnotation_Line Line;
  typedef RenderAnnotation_GradientLine GradientLine;
  typedef RenderAnnotation_Scribble Scribble;
  typedef RenderAnnotation_Arrow Arrow;
  typedef RenderAnnotation_Text Text;

  // accessors -------------------------------------------------------

  enum : int {
    kSceneTagFieldNumber = 13,
    kColorFieldNumber = 12,
    kThicknessFieldNumber = 11,
    kRectangleFieldNumber = 1,
    kFilledRectangleFieldNumber = 2,
    kOvalFieldNumber = 3,
    kFilledOvalFieldNumber = 4,
    kPointFieldNumber = 5,
    kLineFieldNumber = 6,
    kArrowFieldNumber = 7,
    kTextFieldNumber = 8,
    kRoundedRectangleFieldNumber = 9,
    kFilledRoundedRectangleFieldNumber = 10,
    kGradientLineFieldNumber = 14,
    kScribbleFieldNumber = 15,
  };
  // optional string scene_tag = 13;
  bool has_scene_tag() const;
  private:
  bool _internal_has_scene_tag() const;
  public:
  void clear_scene_tag();
  const std::string& scene_tag() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_scene_tag(ArgT0&& arg0, ArgT... args);
  std::string* mutable_scene_tag();
  PROTOBUF_NODISCARD std::string* release_scene_tag();
  void set_allocated_scene_tag(std::string* scene_tag);
  private:
  const std::string& _internal_scene_tag() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_scene_tag(const std::string& value);
  std::string* _internal_mutable_scene_tag();
  public:

  // optional .mediapipe.Color color = 12;
  bool has_color() const;
  private:
  bool _internal_has_color() const;
  public:
  void clear_color();
  const ::mediapipe::Color& color() const;
  PROTOBUF_NODISCARD ::mediapipe::Color* release_color();
  ::mediapipe::Color* mutable_color();
  void set_allocated_color(::mediapipe::Color* color);
  private:
  const ::mediapipe::Color& _internal_color() const;
  ::mediapipe::Color* _internal_mutable_color();
  public:
  void unsafe_arena_set_allocated_color(
      ::mediapipe::Color* color);
  ::mediapipe::Color* unsafe_arena_release_color();

  // optional double thickness = 11 [default = 1];
  bool has_thickness() const;
  private:
  bool _internal_has_thickness() const;
  public:
  void clear_thickness();
  double thickness() const;
  void set_thickness(double value);
  private:
  double _internal_thickness() const;
  void _internal_set_thickness(double value);
  public:

  // .mediapipe.RenderAnnotation.Rectangle rectangle = 1;
  bool has_rectangle() const;
  private:
  bool _internal_has_rectangle() const;
  public:
  void clear_rectangle();
  const ::mediapipe::RenderAnnotation_Rectangle& rectangle() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Rectangle* release_rectangle();
  ::mediapipe::RenderAnnotation_Rectangle* mutable_rectangle();
  void set_allocated_rectangle(::mediapipe::RenderAnnotation_Rectangle* rectangle);
  private:
  const ::mediapipe::RenderAnnotation_Rectangle& _internal_rectangle() const;
  ::mediapipe::RenderAnnotation_Rectangle* _internal_mutable_rectangle();
  public:
  void unsafe_arena_set_allocated_rectangle(
      ::mediapipe::RenderAnnotation_Rectangle* rectangle);
  ::mediapipe::RenderAnnotation_Rectangle* unsafe_arena_release_rectangle();

  // .mediapipe.RenderAnnotation.FilledRectangle filled_rectangle = 2;
  bool has_filled_rectangle() const;
  private:
  bool _internal_has_filled_rectangle() const;
  public:
  void clear_filled_rectangle();
  const ::mediapipe::RenderAnnotation_FilledRectangle& filled_rectangle() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_FilledRectangle* release_filled_rectangle();
  ::mediapipe::RenderAnnotation_FilledRectangle* mutable_filled_rectangle();
  void set_allocated_filled_rectangle(::mediapipe::RenderAnnotation_FilledRectangle* filled_rectangle);
  private:
  const ::mediapipe::RenderAnnotation_FilledRectangle& _internal_filled_rectangle() const;
  ::mediapipe::RenderAnnotation_FilledRectangle* _internal_mutable_filled_rectangle();
  public:
  void unsafe_arena_set_allocated_filled_rectangle(
      ::mediapipe::RenderAnnotation_FilledRectangle* filled_rectangle);
  ::mediapipe::RenderAnnotation_FilledRectangle* unsafe_arena_release_filled_rectangle();

  // .mediapipe.RenderAnnotation.Oval oval = 3;
  bool has_oval() const;
  private:
  bool _internal_has_oval() const;
  public:
  void clear_oval();
  const ::mediapipe::RenderAnnotation_Oval& oval() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Oval* release_oval();
  ::mediapipe::RenderAnnotation_Oval* mutable_oval();
  void set_allocated_oval(::mediapipe::RenderAnnotation_Oval* oval);
  private:
  const ::mediapipe::RenderAnnotation_Oval& _internal_oval() const;
  ::mediapipe::RenderAnnotation_Oval* _internal_mutable_oval();
  public:
  void unsafe_arena_set_allocated_oval(
      ::mediapipe::RenderAnnotation_Oval* oval);
  ::mediapipe::RenderAnnotation_Oval* unsafe_arena_release_oval();

  // .mediapipe.RenderAnnotation.FilledOval filled_oval = 4;
  bool has_filled_oval() const;
  private:
  bool _internal_has_filled_oval() const;
  public:
  void clear_filled_oval();
  const ::mediapipe::RenderAnnotation_FilledOval& filled_oval() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_FilledOval* release_filled_oval();
  ::mediapipe::RenderAnnotation_FilledOval* mutable_filled_oval();
  void set_allocated_filled_oval(::mediapipe::RenderAnnotation_FilledOval* filled_oval);
  private:
  const ::mediapipe::RenderAnnotation_FilledOval& _internal_filled_oval() const;
  ::mediapipe::RenderAnnotation_FilledOval* _internal_mutable_filled_oval();
  public:
  void unsafe_arena_set_allocated_filled_oval(
      ::mediapipe::RenderAnnotation_FilledOval* filled_oval);
  ::mediapipe::RenderAnnotation_FilledOval* unsafe_arena_release_filled_oval();

  // .mediapipe.RenderAnnotation.Point point = 5;
  bool has_point() const;
  private:
  bool _internal_has_point() const;
  public:
  void clear_point();
  const ::mediapipe::RenderAnnotation_Point& point() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Point* release_point();
  ::mediapipe::RenderAnnotation_Point* mutable_point();
  void set_allocated_point(::mediapipe::RenderAnnotation_Point* point);
  private:
  const ::mediapipe::RenderAnnotation_Point& _internal_point() const;
  ::mediapipe::RenderAnnotation_Point* _internal_mutable_point();
  public:
  void unsafe_arena_set_allocated_point(
      ::mediapipe::RenderAnnotation_Point* point);
  ::mediapipe::RenderAnnotation_Point* unsafe_arena_release_point();

  // .mediapipe.RenderAnnotation.Line line = 6;
  bool has_line() const;
  private:
  bool _internal_has_line() const;
  public:
  void clear_line();
  const ::mediapipe::RenderAnnotation_Line& line() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Line* release_line();
  ::mediapipe::RenderAnnotation_Line* mutable_line();
  void set_allocated_line(::mediapipe::RenderAnnotation_Line* line);
  private:
  const ::mediapipe::RenderAnnotation_Line& _internal_line() const;
  ::mediapipe::RenderAnnotation_Line* _internal_mutable_line();
  public:
  void unsafe_arena_set_allocated_line(
      ::mediapipe::RenderAnnotation_Line* line);
  ::mediapipe::RenderAnnotation_Line* unsafe_arena_release_line();

  // .mediapipe.RenderAnnotation.Arrow arrow = 7;
  bool has_arrow() const;
  private:
  bool _internal_has_arrow() const;
  public:
  void clear_arrow();
  const ::mediapipe::RenderAnnotation_Arrow& arrow() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Arrow* release_arrow();
  ::mediapipe::RenderAnnotation_Arrow* mutable_arrow();
  void set_allocated_arrow(::mediapipe::RenderAnnotation_Arrow* arrow);
  private:
  const ::mediapipe::RenderAnnotation_Arrow& _internal_arrow() const;
  ::mediapipe::RenderAnnotation_Arrow* _internal_mutable_arrow();
  public:
  void unsafe_arena_set_allocated_arrow(
      ::mediapipe::RenderAnnotation_Arrow* arrow);
  ::mediapipe::RenderAnnotation_Arrow* unsafe_arena_release_arrow();

  // .mediapipe.RenderAnnotation.Text text = 8;
  bool has_text() const;
  private:
  bool _internal_has_text() const;
  public:
  void clear_text();
  const ::mediapipe::RenderAnnotation_Text& text() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Text* release_text();
  ::mediapipe::RenderAnnotation_Text* mutable_text();
  void set_allocated_text(::mediapipe::RenderAnnotation_Text* text);
  private:
  const ::mediapipe::RenderAnnotation_Text& _internal_text() const;
  ::mediapipe::RenderAnnotation_Text* _internal_mutable_text();
  public:
  void unsafe_arena_set_allocated_text(
      ::mediapipe::RenderAnnotation_Text* text);
  ::mediapipe::RenderAnnotation_Text* unsafe_arena_release_text();

  // .mediapipe.RenderAnnotation.RoundedRectangle rounded_rectangle = 9;
  bool has_rounded_rectangle() const;
  private:
  bool _internal_has_rounded_rectangle() const;
  public:
  void clear_rounded_rectangle();
  const ::mediapipe::RenderAnnotation_RoundedRectangle& rounded_rectangle() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_RoundedRectangle* release_rounded_rectangle();
  ::mediapipe::RenderAnnotation_RoundedRectangle* mutable_rounded_rectangle();
  void set_allocated_rounded_rectangle(::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle);
  private:
  const ::mediapipe::RenderAnnotation_RoundedRectangle& _internal_rounded_rectangle() const;
  ::mediapipe::RenderAnnotation_RoundedRectangle* _internal_mutable_rounded_rectangle();
  public:
  void unsafe_arena_set_allocated_rounded_rectangle(
      ::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle);
  ::mediapipe::RenderAnnotation_RoundedRectangle* unsafe_arena_release_rounded_rectangle();

  // .mediapipe.RenderAnnotation.FilledRoundedRectangle filled_rounded_rectangle = 10;
  bool has_filled_rounded_rectangle() const;
  private:
  bool _internal_has_filled_rounded_rectangle() const;
  public:
  void clear_filled_rounded_rectangle();
  const ::mediapipe::RenderAnnotation_FilledRoundedRectangle& filled_rounded_rectangle() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_FilledRoundedRectangle* release_filled_rounded_rectangle();
  ::mediapipe::RenderAnnotation_FilledRoundedRectangle* mutable_filled_rounded_rectangle();
  void set_allocated_filled_rounded_rectangle(::mediapipe::RenderAnnotation_FilledRoundedRectangle* filled_rounded_rectangle);
  private:
  const ::mediapipe::RenderAnnotation_FilledRoundedRectangle& _internal_filled_rounded_rectangle() const;
  ::mediapipe::RenderAnnotation_FilledRoundedRectangle* _internal_mutable_filled_rounded_rectangle();
  public:
  void unsafe_arena_set_allocated_filled_rounded_rectangle(
      ::mediapipe::RenderAnnotation_FilledRoundedRectangle* filled_rounded_rectangle);
  ::mediapipe::RenderAnnotation_FilledRoundedRectangle* unsafe_arena_release_filled_rounded_rectangle();

  // .mediapipe.RenderAnnotation.GradientLine gradient_line = 14;
  bool has_gradient_line() const;
  private:
  bool _internal_has_gradient_line() const;
  public:
  void clear_gradient_line();
  const ::mediapipe::RenderAnnotation_GradientLine& gradient_line() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_GradientLine* release_gradient_line();
  ::mediapipe::RenderAnnotation_GradientLine* mutable_gradient_line();
  void set_allocated_gradient_line(::mediapipe::RenderAnnotation_GradientLine* gradient_line);
  private:
  const ::mediapipe::RenderAnnotation_GradientLine& _internal_gradient_line() const;
  ::mediapipe::RenderAnnotation_GradientLine* _internal_mutable_gradient_line();
  public:
  void unsafe_arena_set_allocated_gradient_line(
      ::mediapipe::RenderAnnotation_GradientLine* gradient_line);
  ::mediapipe::RenderAnnotation_GradientLine* unsafe_arena_release_gradient_line();

  // .mediapipe.RenderAnnotation.Scribble scribble = 15;
  bool has_scribble() const;
  private:
  bool _internal_has_scribble() const;
  public:
  void clear_scribble();
  const ::mediapipe::RenderAnnotation_Scribble& scribble() const;
  PROTOBUF_NODISCARD ::mediapipe::RenderAnnotation_Scribble* release_scribble();
  ::mediapipe::RenderAnnotation_Scribble* mutable_scribble();
  void set_allocated_scribble(::mediapipe::RenderAnnotation_Scribble* scribble);
  private:
  const ::mediapipe::RenderAnnotation_Scribble& _internal_scribble() const;
  ::mediapipe::RenderAnnotation_Scribble* _internal_mutable_scribble();
  public:
  void unsafe_arena_set_allocated_scribble(
      ::mediapipe::RenderAnnotation_Scribble* scribble);
  ::mediapipe::RenderAnnotation_Scribble* unsafe_arena_release_scribble();

  void clear_data();
  DataCase data_case() const;
  // @@protoc_insertion_point(class_scope:mediapipe.RenderAnnotation)
 private:
  class _Internal;
  void set_has_rectangle();
  void set_has_filled_rectangle();
  void set_has_oval();
  void set_has_filled_oval();
  void set_has_point();
  void set_has_line();
  void set_has_arrow();
  void set_has_text();
  void set_has_rounded_rectangle();
  void set_has_filled_rounded_rectangle();
  void set_has_gradient_line();
  void set_has_scribble();

  inline bool has_data() const;
  inline void clear_has_data();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scene_tag_;
  ::mediapipe::Color* color_;
  double thickness_;
  union DataUnion {
    constexpr DataUnion() : _constinit_{} {}
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
    ::mediapipe::RenderAnnotation_Rectangle* rectangle_;
    ::mediapipe::RenderAnnotation_FilledRectangle* filled_rectangle_;
    ::mediapipe::RenderAnnotation_Oval* oval_;
    ::mediapipe::RenderAnnotation_FilledOval* filled_oval_;
    ::mediapipe::RenderAnnotation_Point* point_;
    ::mediapipe::RenderAnnotation_Line* line_;
    ::mediapipe::RenderAnnotation_Arrow* arrow_;
    ::mediapipe::RenderAnnotation_Text* text_;
    ::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle_;
    ::mediapipe::RenderAnnotation_FilledRoundedRectangle* filled_rounded_rectangle_;
    ::mediapipe::RenderAnnotation_GradientLine* gradient_line_;
    ::mediapipe::RenderAnnotation_Scribble* scribble_;
  } data_;
  uint32_t _oneof_case_[1];

  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// -------------------------------------------------------------------

class RenderViewport final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.RenderViewport) */ {
 public:
  inline RenderViewport() : RenderViewport(nullptr) {}
  ~RenderViewport() override;
  explicit constexpr RenderViewport(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  RenderViewport(const RenderViewport& from);
  RenderViewport(RenderViewport&& from) noexcept
    : RenderViewport() {
    *this = ::std::move(from);
  }

  inline RenderViewport& operator=(const RenderViewport& from) {
    CopyFrom(from);
    return *this;
  }
  inline RenderViewport& operator=(RenderViewport&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const RenderViewport& default_instance() {
    return *internal_default_instance();
  }
  static inline const RenderViewport* internal_default_instance() {
    return reinterpret_cast<const RenderViewport*>(
               &_RenderViewport_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

  friend void swap(RenderViewport& a, RenderViewport& b) {
    a.Swap(&b);
  }
  inline void Swap(RenderViewport* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RenderViewport* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  RenderViewport* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<RenderViewport>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const RenderViewport& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const RenderViewport& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(RenderViewport* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.RenderViewport";
  }
  protected:
  explicit RenderViewport(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

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

  // accessors -------------------------------------------------------

  enum : int {
    kIdFieldNumber = 1,
    kWidthPxFieldNumber = 2,
    kHeightPxFieldNumber = 3,
    kComposeOnVideoFieldNumber = 4,
  };
  // optional string id = 1;
  bool has_id() const;
  private:
  bool _internal_has_id() const;
  public:
  void clear_id();
  const std::string& id() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_id(ArgT0&& arg0, ArgT... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* id);
  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(const std::string& value);
  std::string* _internal_mutable_id();
  public:

  // optional int32 width_px = 2;
  bool has_width_px() const;
  private:
  bool _internal_has_width_px() const;
  public:
  void clear_width_px();
  int32_t width_px() const;
  void set_width_px(int32_t value);
  private:
  int32_t _internal_width_px() const;
  void _internal_set_width_px(int32_t value);
  public:

  // optional int32 height_px = 3;
  bool has_height_px() const;
  private:
  bool _internal_has_height_px() const;
  public:
  void clear_height_px();
  int32_t height_px() const;
  void set_height_px(int32_t value);
  private:
  int32_t _internal_height_px() const;
  void _internal_set_height_px(int32_t value);
  public:

  // optional bool compose_on_video = 4;
  bool has_compose_on_video() const;
  private:
  bool _internal_has_compose_on_video() const;
  public:
  void clear_compose_on_video();
  bool compose_on_video() const;
  void set_compose_on_video(bool value);
  private:
  bool _internal_compose_on_video() const;
  void _internal_set_compose_on_video(bool value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.RenderViewport)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  int32_t width_px_;
  int32_t height_px_;
  bool compose_on_video_;
  friend struct ::TableStruct_mediapipe_2futil_2frender_5fdata_2eproto;
};
// ===================================================================


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

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

// repeated .mediapipe.RenderAnnotation render_annotations = 1;
inline int RenderData::_internal_render_annotations_size() const {
  return render_annotations_.size();
}
inline int RenderData::render_annotations_size() const {
  return _internal_render_annotations_size();
}
inline void RenderData::clear_render_annotations() {
  render_annotations_.Clear();
}
inline ::mediapipe::RenderAnnotation* RenderData::mutable_render_annotations(int index) {
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderData.render_annotations)
  return render_annotations_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation >*
RenderData::mutable_render_annotations() {
  // @@protoc_insertion_point(field_mutable_list:mediapipe.RenderData.render_annotations)
  return &render_annotations_;
}
inline const ::mediapipe::RenderAnnotation& RenderData::_internal_render_annotations(int index) const {
  return render_annotations_.Get(index);
}
inline const ::mediapipe::RenderAnnotation& RenderData::render_annotations(int index) const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderData.render_annotations)
  return _internal_render_annotations(index);
}
inline ::mediapipe::RenderAnnotation* RenderData::_internal_add_render_annotations() {
  return render_annotations_.Add();
}
inline ::mediapipe::RenderAnnotation* RenderData::add_render_annotations() {
  ::mediapipe::RenderAnnotation* _add = _internal_add_render_annotations();
  // @@protoc_insertion_point(field_add:mediapipe.RenderData.render_annotations)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation >&
RenderData::render_annotations() const {
  // @@protoc_insertion_point(field_list:mediapipe.RenderData.render_annotations)
  return render_annotations_;
}

// optional string scene_class = 2;
inline bool RenderData::_internal_has_scene_class() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool RenderData::has_scene_class() const {
  return _internal_has_scene_class();
}
inline void RenderData::clear_scene_class() {
  scene_class_.ClearToEmpty();
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& RenderData::scene_class() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderData.scene_class)
  return _internal_scene_class();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void RenderData::set_scene_class(ArgT0&& arg0, ArgT... args) {
 _has_bits_[0] |= 0x00000001u;
 scene_class_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mediapipe.RenderData.scene_class)
}
inline std::string* RenderData::mutable_scene_class() {
  std::string* _s = _internal_mutable_scene_class();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderData.scene_class)
  return _s;
}
inline const std::string& RenderData::_internal_scene_class() const {
  return scene_class_.Get();
}
inline void RenderData::_internal_set_scene_class(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  scene_class_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* RenderData::_internal_mutable_scene_class() {
  _has_bits_[0] |= 0x00000001u;
  return scene_class_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* RenderData::release_scene_class() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderData.scene_class)
  if (!_internal_has_scene_class()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  auto* p = scene_class_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (scene_class_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    scene_class_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void RenderData::set_allocated_scene_class(std::string* scene_class) {
  if (scene_class != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  scene_class_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), scene_class,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (scene_class_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    scene_class_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderData.scene_class)
}

// optional .mediapipe.RenderViewport scene_viewport = 3;
inline bool RenderData::_internal_has_scene_viewport() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || scene_viewport_ != nullptr);
  return value;
}
inline bool RenderData::has_scene_viewport() const {
  return _internal_has_scene_viewport();
}
inline void RenderData::clear_scene_viewport() {
  if (scene_viewport_ != nullptr) scene_viewport_->Clear();
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::mediapipe::RenderViewport& RenderData::_internal_scene_viewport() const {
  const ::mediapipe::RenderViewport* p = scene_viewport_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::RenderViewport&>(
      ::mediapipe::_RenderViewport_default_instance_);
}
inline const ::mediapipe::RenderViewport& RenderData::scene_viewport() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderData.scene_viewport)
  return _internal_scene_viewport();
}
inline void RenderData::unsafe_arena_set_allocated_scene_viewport(
    ::mediapipe::RenderViewport* scene_viewport) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(scene_viewport_);
  }
  scene_viewport_ = scene_viewport;
  if (scene_viewport) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderData.scene_viewport)
}
inline ::mediapipe::RenderViewport* RenderData::release_scene_viewport() {
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::RenderViewport* temp = scene_viewport_;
  scene_viewport_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::RenderViewport* RenderData::unsafe_arena_release_scene_viewport() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderData.scene_viewport)
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::RenderViewport* temp = scene_viewport_;
  scene_viewport_ = nullptr;
  return temp;
}
inline ::mediapipe::RenderViewport* RenderData::_internal_mutable_scene_viewport() {
  _has_bits_[0] |= 0x00000002u;
  if (scene_viewport_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::RenderViewport>(GetArenaForAllocation());
    scene_viewport_ = p;
  }
  return scene_viewport_;
}
inline ::mediapipe::RenderViewport* RenderData::mutable_scene_viewport() {
  ::mediapipe::RenderViewport* _msg = _internal_mutable_scene_viewport();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderData.scene_viewport)
  return _msg;
}
inline void RenderData::set_allocated_scene_viewport(::mediapipe::RenderViewport* scene_viewport) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete scene_viewport_;
  }
  if (scene_viewport) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::mediapipe::RenderViewport>::GetOwningArena(scene_viewport);
    if (message_arena != submessage_arena) {
      scene_viewport = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, scene_viewport, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  scene_viewport_ = scene_viewport;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderData.scene_viewport)
}

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

// RenderAnnotation_Rectangle

// optional double left = 1;
inline bool RenderAnnotation_Rectangle::_internal_has_left() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool RenderAnnotation_Rectangle::has_left() const {
  return _internal_has_left();
}
inline void RenderAnnotation_Rectangle::clear_left() {
  left_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline double RenderAnnotation_Rectangle::_internal_left() const {
  return left_;
}
inline double RenderAnnotation_Rectangle::left() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Rectangle.left)
  return _internal_left();
}
inline void RenderAnnotation_Rectangle::_internal_set_left(double value) {
  _has_bits_[0] |= 0x00000001u;
  left_ = value;
}
inline void RenderAnnotation_Rectangle::set_left(double value) {
  _internal_set_left(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Rectangle.left)
}

// optional double top = 2;
inline bool RenderAnnotation_Rectangle::_internal_has_top() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool RenderAnnotation_Rectangle::has_top() const {
  return _internal_has_top();
}
inline void RenderAnnotation_Rectangle::clear_top() {
  top_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline double RenderAnnotation_Rectangle::_internal_top() const {
  return top_;
}
inline double RenderAnnotation_Rectangle::top() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Rectangle.top)
  return _internal_top();
}
inline void RenderAnnotation_Rectangle::_internal_set_top(double value) {
  _has_bits_[0] |= 0x00000002u;
  top_ = value;
}
inline void RenderAnnotation_Rectangle::set_top(double value) {
  _internal_set_top(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Rectangle.top)
}

// optional double right = 3;
inline bool RenderAnnotation_Rectangle::_internal_has_right() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderAnnotation_Rectangle::has_right() const {
  return _internal_has_right();
}
inline void RenderAnnotation_Rectangle::clear_right() {
  right_ = 0;
  _has_bits_[0] &= ~0x00000004u;
}
inline double RenderAnnotation_Rectangle::_internal_right() const {
  return right_;
}
inline double RenderAnnotation_Rectangle::right() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Rectangle.right)
  return _internal_right();
}
inline void RenderAnnotation_Rectangle::_internal_set_right(double value) {
  _has_bits_[0] |= 0x00000004u;
  right_ = value;
}
inline void RenderAnnotation_Rectangle::set_right(double value) {
  _internal_set_right(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Rectangle.right)
}

// optional double bottom = 4;
inline bool RenderAnnotation_Rectangle::_internal_has_bottom() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool RenderAnnotation_Rectangle::has_bottom() const {
  return _internal_has_bottom();
}
inline void RenderAnnotation_Rectangle::clear_bottom() {
  bottom_ = 0;
  _has_bits_[0] &= ~0x00000008u;
}
inline double RenderAnnotation_Rectangle::_internal_bottom() const {
  return bottom_;
}
inline double RenderAnnotation_Rectangle::bottom() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Rectangle.bottom)
  return _internal_bottom();
}
inline void RenderAnnotation_Rectangle::_internal_set_bottom(double value) {
  _has_bits_[0] |= 0x00000008u;
  bottom_ = value;
}
inline void RenderAnnotation_Rectangle::set_bottom(double value) {
  _internal_set_bottom(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Rectangle.bottom)
}

// optional bool normalized = 5 [default = false];
inline bool RenderAnnotation_Rectangle::_internal_has_normalized() const {
  bool value = (_has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool RenderAnnotation_Rectangle::has_normalized() const {
  return _internal_has_normalized();
}
inline void RenderAnnotation_Rectangle::clear_normalized() {
  normalized_ = false;
  _has_bits_[0] &= ~0x00000040u;
}
inline bool RenderAnnotation_Rectangle::_internal_normalized() const {
  return normalized_;
}
inline bool RenderAnnotation_Rectangle::normalized() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Rectangle.normalized)
  return _internal_normalized();
}
inline void RenderAnnotation_Rectangle::_internal_set_normalized(bool value) {
  _has_bits_[0] |= 0x00000040u;
  normalized_ = value;
}
inline void RenderAnnotation_Rectangle::set_normalized(bool value) {
  _internal_set_normalized(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Rectangle.normalized)
}

// optional double rotation = 6;
inline bool RenderAnnotation_Rectangle::_internal_has_rotation() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool RenderAnnotation_Rectangle::has_rotation() const {
  return _internal_has_rotation();
}
inline void RenderAnnotation_Rectangle::clear_rotation() {
  rotation_ = 0;
  _has_bits_[0] &= ~0x00000010u;
}
inline double RenderAnnotation_Rectangle::_internal_rotation() const {
  return rotation_;
}
inline double RenderAnnotation_Rectangle::rotation() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Rectangle.rotation)
  return _internal_rotation();
}
inline void RenderAnnotation_Rectangle::_internal_set_rotation(double value) {
  _has_bits_[0] |= 0x00000010u;
  rotation_ = value;
}
inline void RenderAnnotation_Rectangle::set_rotation(double value) {
  _internal_set_rotation(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Rectangle.rotation)
}

// optional double top_left_thickness = 7;
inline bool RenderAnnotation_Rectangle::_internal_has_top_left_thickness() const {
  bool value = (_has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool RenderAnnotation_Rectangle::has_top_left_thickness() const {
  return _internal_has_top_left_thickness();
}
inline void RenderAnnotation_Rectangle::clear_top_left_thickness() {
  top_left_thickness_ = 0;
  _has_bits_[0] &= ~0x00000020u;
}
inline double RenderAnnotation_Rectangle::_internal_top_left_thickness() const {
  return top_left_thickness_;
}
inline double RenderAnnotation_Rectangle::top_left_thickness() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Rectangle.top_left_thickness)
  return _internal_top_left_thickness();
}
inline void RenderAnnotation_Rectangle::_internal_set_top_left_thickness(double value) {
  _has_bits_[0] |= 0x00000020u;
  top_left_thickness_ = value;
}
inline void RenderAnnotation_Rectangle::set_top_left_thickness(double value) {
  _internal_set_top_left_thickness(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Rectangle.top_left_thickness)
}

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

// RenderAnnotation_FilledRectangle

// optional .mediapipe.RenderAnnotation.Rectangle rectangle = 1;
inline bool RenderAnnotation_FilledRectangle::_internal_has_rectangle() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || rectangle_ != nullptr);
  return value;
}
inline bool RenderAnnotation_FilledRectangle::has_rectangle() const {
  return _internal_has_rectangle();
}
inline void RenderAnnotation_FilledRectangle::clear_rectangle() {
  if (rectangle_ != nullptr) rectangle_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
inline const ::mediapipe::RenderAnnotation_Rectangle& RenderAnnotation_FilledRectangle::_internal_rectangle() const {
  const ::mediapipe::RenderAnnotation_Rectangle* p = rectangle_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::RenderAnnotation_Rectangle&>(
      ::mediapipe::_RenderAnnotation_Rectangle_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Rectangle& RenderAnnotation_FilledRectangle::rectangle() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.FilledRectangle.rectangle)
  return _internal_rectangle();
}
inline void RenderAnnotation_FilledRectangle::unsafe_arena_set_allocated_rectangle(
    ::mediapipe::RenderAnnotation_Rectangle* rectangle) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(rectangle_);
  }
  rectangle_ = rectangle;
  if (rectangle) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.FilledRectangle.rectangle)
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_FilledRectangle::release_rectangle() {
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_Rectangle* temp = rectangle_;
  rectangle_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_FilledRectangle::unsafe_arena_release_rectangle() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.FilledRectangle.rectangle)
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_Rectangle* temp = rectangle_;
  rectangle_ = nullptr;
  return temp;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_FilledRectangle::_internal_mutable_rectangle() {
  _has_bits_[0] |= 0x00000001u;
  if (rectangle_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::RenderAnnotation_Rectangle>(GetArenaForAllocation());
    rectangle_ = p;
  }
  return rectangle_;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_FilledRectangle::mutable_rectangle() {
  ::mediapipe::RenderAnnotation_Rectangle* _msg = _internal_mutable_rectangle();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.FilledRectangle.rectangle)
  return _msg;
}
inline void RenderAnnotation_FilledRectangle::set_allocated_rectangle(::mediapipe::RenderAnnotation_Rectangle* rectangle) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete rectangle_;
  }
  if (rectangle) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::mediapipe::RenderAnnotation_Rectangle>::GetOwningArena(rectangle);
    if (message_arena != submessage_arena) {
      rectangle = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rectangle, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  rectangle_ = rectangle;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.FilledRectangle.rectangle)
}

// optional .mediapipe.Color fill_color = 2;
inline bool RenderAnnotation_FilledRectangle::_internal_has_fill_color() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || fill_color_ != nullptr);
  return value;
}
inline bool RenderAnnotation_FilledRectangle::has_fill_color() const {
  return _internal_has_fill_color();
}
inline const ::mediapipe::Color& RenderAnnotation_FilledRectangle::_internal_fill_color() const {
  const ::mediapipe::Color* p = fill_color_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::Color&>(
      ::mediapipe::_Color_default_instance_);
}
inline const ::mediapipe::Color& RenderAnnotation_FilledRectangle::fill_color() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.FilledRectangle.fill_color)
  return _internal_fill_color();
}
inline void RenderAnnotation_FilledRectangle::unsafe_arena_set_allocated_fill_color(
    ::mediapipe::Color* fill_color) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color_);
  }
  fill_color_ = fill_color;
  if (fill_color) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.FilledRectangle.fill_color)
}
inline ::mediapipe::Color* RenderAnnotation_FilledRectangle::release_fill_color() {
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = fill_color_;
  fill_color_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_FilledRectangle::unsafe_arena_release_fill_color() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.FilledRectangle.fill_color)
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = fill_color_;
  fill_color_ = nullptr;
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_FilledRectangle::_internal_mutable_fill_color() {
  _has_bits_[0] |= 0x00000002u;
  if (fill_color_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::Color>(GetArenaForAllocation());
    fill_color_ = p;
  }
  return fill_color_;
}
inline ::mediapipe::Color* RenderAnnotation_FilledRectangle::mutable_fill_color() {
  ::mediapipe::Color* _msg = _internal_mutable_fill_color();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.FilledRectangle.fill_color)
  return _msg;
}
inline void RenderAnnotation_FilledRectangle::set_allocated_fill_color(::mediapipe::Color* fill_color) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color_);
  }
  if (fill_color) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color));
    if (message_arena != submessage_arena) {
      fill_color = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, fill_color, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  fill_color_ = fill_color;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.FilledRectangle.fill_color)
}

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

// RenderAnnotation_RoundedRectangle

// optional .mediapipe.RenderAnnotation.Rectangle rectangle = 1;
inline bool RenderAnnotation_RoundedRectangle::_internal_has_rectangle() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || rectangle_ != nullptr);
  return value;
}
inline bool RenderAnnotation_RoundedRectangle::has_rectangle() const {
  return _internal_has_rectangle();
}
inline void RenderAnnotation_RoundedRectangle::clear_rectangle() {
  if (rectangle_ != nullptr) rectangle_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
inline const ::mediapipe::RenderAnnotation_Rectangle& RenderAnnotation_RoundedRectangle::_internal_rectangle() const {
  const ::mediapipe::RenderAnnotation_Rectangle* p = rectangle_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::RenderAnnotation_Rectangle&>(
      ::mediapipe::_RenderAnnotation_Rectangle_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Rectangle& RenderAnnotation_RoundedRectangle::rectangle() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.RoundedRectangle.rectangle)
  return _internal_rectangle();
}
inline void RenderAnnotation_RoundedRectangle::unsafe_arena_set_allocated_rectangle(
    ::mediapipe::RenderAnnotation_Rectangle* rectangle) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(rectangle_);
  }
  rectangle_ = rectangle;
  if (rectangle) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.RoundedRectangle.rectangle)
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_RoundedRectangle::release_rectangle() {
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_Rectangle* temp = rectangle_;
  rectangle_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_RoundedRectangle::unsafe_arena_release_rectangle() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.RoundedRectangle.rectangle)
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_Rectangle* temp = rectangle_;
  rectangle_ = nullptr;
  return temp;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_RoundedRectangle::_internal_mutable_rectangle() {
  _has_bits_[0] |= 0x00000001u;
  if (rectangle_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::RenderAnnotation_Rectangle>(GetArenaForAllocation());
    rectangle_ = p;
  }
  return rectangle_;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_RoundedRectangle::mutable_rectangle() {
  ::mediapipe::RenderAnnotation_Rectangle* _msg = _internal_mutable_rectangle();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.RoundedRectangle.rectangle)
  return _msg;
}
inline void RenderAnnotation_RoundedRectangle::set_allocated_rectangle(::mediapipe::RenderAnnotation_Rectangle* rectangle) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete rectangle_;
  }
  if (rectangle) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::mediapipe::RenderAnnotation_Rectangle>::GetOwningArena(rectangle);
    if (message_arena != submessage_arena) {
      rectangle = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rectangle, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  rectangle_ = rectangle;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.RoundedRectangle.rectangle)
}

// optional int32 corner_radius = 2 [default = 0];
inline bool RenderAnnotation_RoundedRectangle::_internal_has_corner_radius() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool RenderAnnotation_RoundedRectangle::has_corner_radius() const {
  return _internal_has_corner_radius();
}
inline void RenderAnnotation_RoundedRectangle::clear_corner_radius() {
  corner_radius_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline int32_t RenderAnnotation_RoundedRectangle::_internal_corner_radius() const {
  return corner_radius_;
}
inline int32_t RenderAnnotation_RoundedRectangle::corner_radius() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.RoundedRectangle.corner_radius)
  return _internal_corner_radius();
}
inline void RenderAnnotation_RoundedRectangle::_internal_set_corner_radius(int32_t value) {
  _has_bits_[0] |= 0x00000002u;
  corner_radius_ = value;
}
inline void RenderAnnotation_RoundedRectangle::set_corner_radius(int32_t value) {
  _internal_set_corner_radius(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.RoundedRectangle.corner_radius)
}

// optional int32 line_type = 3 [default = 4];
inline bool RenderAnnotation_RoundedRectangle::_internal_has_line_type() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderAnnotation_RoundedRectangle::has_line_type() const {
  return _internal_has_line_type();
}
inline void RenderAnnotation_RoundedRectangle::clear_line_type() {
  line_type_ = 4;
  _has_bits_[0] &= ~0x00000004u;
}
inline int32_t RenderAnnotation_RoundedRectangle::_internal_line_type() const {
  return line_type_;
}
inline int32_t RenderAnnotation_RoundedRectangle::line_type() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.RoundedRectangle.line_type)
  return _internal_line_type();
}
inline void RenderAnnotation_RoundedRectangle::_internal_set_line_type(int32_t value) {
  _has_bits_[0] |= 0x00000004u;
  line_type_ = value;
}
inline void RenderAnnotation_RoundedRectangle::set_line_type(int32_t value) {
  _internal_set_line_type(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.RoundedRectangle.line_type)
}

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

// RenderAnnotation_FilledRoundedRectangle

// optional .mediapipe.RenderAnnotation.RoundedRectangle rounded_rectangle = 1;
inline bool RenderAnnotation_FilledRoundedRectangle::_internal_has_rounded_rectangle() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || rounded_rectangle_ != nullptr);
  return value;
}
inline bool RenderAnnotation_FilledRoundedRectangle::has_rounded_rectangle() const {
  return _internal_has_rounded_rectangle();
}
inline void RenderAnnotation_FilledRoundedRectangle::clear_rounded_rectangle() {
  if (rounded_rectangle_ != nullptr) rounded_rectangle_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
inline const ::mediapipe::RenderAnnotation_RoundedRectangle& RenderAnnotation_FilledRoundedRectangle::_internal_rounded_rectangle() const {
  const ::mediapipe::RenderAnnotation_RoundedRectangle* p = rounded_rectangle_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::RenderAnnotation_RoundedRectangle&>(
      ::mediapipe::_RenderAnnotation_RoundedRectangle_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_RoundedRectangle& RenderAnnotation_FilledRoundedRectangle::rounded_rectangle() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.FilledRoundedRectangle.rounded_rectangle)
  return _internal_rounded_rectangle();
}
inline void RenderAnnotation_FilledRoundedRectangle::unsafe_arena_set_allocated_rounded_rectangle(
    ::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(rounded_rectangle_);
  }
  rounded_rectangle_ = rounded_rectangle;
  if (rounded_rectangle) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.FilledRoundedRectangle.rounded_rectangle)
}
inline ::mediapipe::RenderAnnotation_RoundedRectangle* RenderAnnotation_FilledRoundedRectangle::release_rounded_rectangle() {
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_RoundedRectangle* temp = rounded_rectangle_;
  rounded_rectangle_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::RenderAnnotation_RoundedRectangle* RenderAnnotation_FilledRoundedRectangle::unsafe_arena_release_rounded_rectangle() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.FilledRoundedRectangle.rounded_rectangle)
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_RoundedRectangle* temp = rounded_rectangle_;
  rounded_rectangle_ = nullptr;
  return temp;
}
inline ::mediapipe::RenderAnnotation_RoundedRectangle* RenderAnnotation_FilledRoundedRectangle::_internal_mutable_rounded_rectangle() {
  _has_bits_[0] |= 0x00000001u;
  if (rounded_rectangle_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::RenderAnnotation_RoundedRectangle>(GetArenaForAllocation());
    rounded_rectangle_ = p;
  }
  return rounded_rectangle_;
}
inline ::mediapipe::RenderAnnotation_RoundedRectangle* RenderAnnotation_FilledRoundedRectangle::mutable_rounded_rectangle() {
  ::mediapipe::RenderAnnotation_RoundedRectangle* _msg = _internal_mutable_rounded_rectangle();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.FilledRoundedRectangle.rounded_rectangle)
  return _msg;
}
inline void RenderAnnotation_FilledRoundedRectangle::set_allocated_rounded_rectangle(::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete rounded_rectangle_;
  }
  if (rounded_rectangle) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::mediapipe::RenderAnnotation_RoundedRectangle>::GetOwningArena(rounded_rectangle);
    if (message_arena != submessage_arena) {
      rounded_rectangle = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rounded_rectangle, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  rounded_rectangle_ = rounded_rectangle;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.FilledRoundedRectangle.rounded_rectangle)
}

// optional .mediapipe.Color fill_color = 2;
inline bool RenderAnnotation_FilledRoundedRectangle::_internal_has_fill_color() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || fill_color_ != nullptr);
  return value;
}
inline bool RenderAnnotation_FilledRoundedRectangle::has_fill_color() const {
  return _internal_has_fill_color();
}
inline const ::mediapipe::Color& RenderAnnotation_FilledRoundedRectangle::_internal_fill_color() const {
  const ::mediapipe::Color* p = fill_color_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::Color&>(
      ::mediapipe::_Color_default_instance_);
}
inline const ::mediapipe::Color& RenderAnnotation_FilledRoundedRectangle::fill_color() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.FilledRoundedRectangle.fill_color)
  return _internal_fill_color();
}
inline void RenderAnnotation_FilledRoundedRectangle::unsafe_arena_set_allocated_fill_color(
    ::mediapipe::Color* fill_color) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color_);
  }
  fill_color_ = fill_color;
  if (fill_color) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.FilledRoundedRectangle.fill_color)
}
inline ::mediapipe::Color* RenderAnnotation_FilledRoundedRectangle::release_fill_color() {
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = fill_color_;
  fill_color_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_FilledRoundedRectangle::unsafe_arena_release_fill_color() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.FilledRoundedRectangle.fill_color)
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = fill_color_;
  fill_color_ = nullptr;
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_FilledRoundedRectangle::_internal_mutable_fill_color() {
  _has_bits_[0] |= 0x00000002u;
  if (fill_color_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::Color>(GetArenaForAllocation());
    fill_color_ = p;
  }
  return fill_color_;
}
inline ::mediapipe::Color* RenderAnnotation_FilledRoundedRectangle::mutable_fill_color() {
  ::mediapipe::Color* _msg = _internal_mutable_fill_color();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.FilledRoundedRectangle.fill_color)
  return _msg;
}
inline void RenderAnnotation_FilledRoundedRectangle::set_allocated_fill_color(::mediapipe::Color* fill_color) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color_);
  }
  if (fill_color) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color));
    if (message_arena != submessage_arena) {
      fill_color = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, fill_color, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  fill_color_ = fill_color;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.FilledRoundedRectangle.fill_color)
}

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

// RenderAnnotation_Oval

// optional .mediapipe.RenderAnnotation.Rectangle rectangle = 1;
inline bool RenderAnnotation_Oval::_internal_has_rectangle() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || rectangle_ != nullptr);
  return value;
}
inline bool RenderAnnotation_Oval::has_rectangle() const {
  return _internal_has_rectangle();
}
inline void RenderAnnotation_Oval::clear_rectangle() {
  if (rectangle_ != nullptr) rectangle_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
inline const ::mediapipe::RenderAnnotation_Rectangle& RenderAnnotation_Oval::_internal_rectangle() const {
  const ::mediapipe::RenderAnnotation_Rectangle* p = rectangle_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::RenderAnnotation_Rectangle&>(
      ::mediapipe::_RenderAnnotation_Rectangle_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Rectangle& RenderAnnotation_Oval::rectangle() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Oval.rectangle)
  return _internal_rectangle();
}
inline void RenderAnnotation_Oval::unsafe_arena_set_allocated_rectangle(
    ::mediapipe::RenderAnnotation_Rectangle* rectangle) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(rectangle_);
  }
  rectangle_ = rectangle;
  if (rectangle) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.Oval.rectangle)
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_Oval::release_rectangle() {
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_Rectangle* temp = rectangle_;
  rectangle_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_Oval::unsafe_arena_release_rectangle() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.Oval.rectangle)
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_Rectangle* temp = rectangle_;
  rectangle_ = nullptr;
  return temp;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_Oval::_internal_mutable_rectangle() {
  _has_bits_[0] |= 0x00000001u;
  if (rectangle_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::RenderAnnotation_Rectangle>(GetArenaForAllocation());
    rectangle_ = p;
  }
  return rectangle_;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation_Oval::mutable_rectangle() {
  ::mediapipe::RenderAnnotation_Rectangle* _msg = _internal_mutable_rectangle();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.Oval.rectangle)
  return _msg;
}
inline void RenderAnnotation_Oval::set_allocated_rectangle(::mediapipe::RenderAnnotation_Rectangle* rectangle) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete rectangle_;
  }
  if (rectangle) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::mediapipe::RenderAnnotation_Rectangle>::GetOwningArena(rectangle);
    if (message_arena != submessage_arena) {
      rectangle = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rectangle, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  rectangle_ = rectangle;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.Oval.rectangle)
}

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

// RenderAnnotation_FilledOval

// optional .mediapipe.RenderAnnotation.Oval oval = 1;
inline bool RenderAnnotation_FilledOval::_internal_has_oval() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || oval_ != nullptr);
  return value;
}
inline bool RenderAnnotation_FilledOval::has_oval() const {
  return _internal_has_oval();
}
inline void RenderAnnotation_FilledOval::clear_oval() {
  if (oval_ != nullptr) oval_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
inline const ::mediapipe::RenderAnnotation_Oval& RenderAnnotation_FilledOval::_internal_oval() const {
  const ::mediapipe::RenderAnnotation_Oval* p = oval_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::RenderAnnotation_Oval&>(
      ::mediapipe::_RenderAnnotation_Oval_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Oval& RenderAnnotation_FilledOval::oval() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.FilledOval.oval)
  return _internal_oval();
}
inline void RenderAnnotation_FilledOval::unsafe_arena_set_allocated_oval(
    ::mediapipe::RenderAnnotation_Oval* oval) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(oval_);
  }
  oval_ = oval;
  if (oval) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.FilledOval.oval)
}
inline ::mediapipe::RenderAnnotation_Oval* RenderAnnotation_FilledOval::release_oval() {
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_Oval* temp = oval_;
  oval_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::RenderAnnotation_Oval* RenderAnnotation_FilledOval::unsafe_arena_release_oval() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.FilledOval.oval)
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::RenderAnnotation_Oval* temp = oval_;
  oval_ = nullptr;
  return temp;
}
inline ::mediapipe::RenderAnnotation_Oval* RenderAnnotation_FilledOval::_internal_mutable_oval() {
  _has_bits_[0] |= 0x00000001u;
  if (oval_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::RenderAnnotation_Oval>(GetArenaForAllocation());
    oval_ = p;
  }
  return oval_;
}
inline ::mediapipe::RenderAnnotation_Oval* RenderAnnotation_FilledOval::mutable_oval() {
  ::mediapipe::RenderAnnotation_Oval* _msg = _internal_mutable_oval();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.FilledOval.oval)
  return _msg;
}
inline void RenderAnnotation_FilledOval::set_allocated_oval(::mediapipe::RenderAnnotation_Oval* oval) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete oval_;
  }
  if (oval) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::mediapipe::RenderAnnotation_Oval>::GetOwningArena(oval);
    if (message_arena != submessage_arena) {
      oval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, oval, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  oval_ = oval;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.FilledOval.oval)
}

// optional .mediapipe.Color fill_color = 2;
inline bool RenderAnnotation_FilledOval::_internal_has_fill_color() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || fill_color_ != nullptr);
  return value;
}
inline bool RenderAnnotation_FilledOval::has_fill_color() const {
  return _internal_has_fill_color();
}
inline const ::mediapipe::Color& RenderAnnotation_FilledOval::_internal_fill_color() const {
  const ::mediapipe::Color* p = fill_color_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::Color&>(
      ::mediapipe::_Color_default_instance_);
}
inline const ::mediapipe::Color& RenderAnnotation_FilledOval::fill_color() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.FilledOval.fill_color)
  return _internal_fill_color();
}
inline void RenderAnnotation_FilledOval::unsafe_arena_set_allocated_fill_color(
    ::mediapipe::Color* fill_color) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color_);
  }
  fill_color_ = fill_color;
  if (fill_color) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.FilledOval.fill_color)
}
inline ::mediapipe::Color* RenderAnnotation_FilledOval::release_fill_color() {
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = fill_color_;
  fill_color_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_FilledOval::unsafe_arena_release_fill_color() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.FilledOval.fill_color)
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = fill_color_;
  fill_color_ = nullptr;
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_FilledOval::_internal_mutable_fill_color() {
  _has_bits_[0] |= 0x00000002u;
  if (fill_color_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::Color>(GetArenaForAllocation());
    fill_color_ = p;
  }
  return fill_color_;
}
inline ::mediapipe::Color* RenderAnnotation_FilledOval::mutable_fill_color() {
  ::mediapipe::Color* _msg = _internal_mutable_fill_color();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.FilledOval.fill_color)
  return _msg;
}
inline void RenderAnnotation_FilledOval::set_allocated_fill_color(::mediapipe::Color* fill_color) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color_);
  }
  if (fill_color) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fill_color));
    if (message_arena != submessage_arena) {
      fill_color = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, fill_color, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  fill_color_ = fill_color;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.FilledOval.fill_color)
}

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

// RenderAnnotation_Point

// optional double x = 1;
inline bool RenderAnnotation_Point::_internal_has_x() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool RenderAnnotation_Point::has_x() const {
  return _internal_has_x();
}
inline void RenderAnnotation_Point::clear_x() {
  x_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline double RenderAnnotation_Point::_internal_x() const {
  return x_;
}
inline double RenderAnnotation_Point::x() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Point.x)
  return _internal_x();
}
inline void RenderAnnotation_Point::_internal_set_x(double value) {
  _has_bits_[0] |= 0x00000001u;
  x_ = value;
}
inline void RenderAnnotation_Point::set_x(double value) {
  _internal_set_x(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Point.x)
}

// optional double y = 2;
inline bool RenderAnnotation_Point::_internal_has_y() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool RenderAnnotation_Point::has_y() const {
  return _internal_has_y();
}
inline void RenderAnnotation_Point::clear_y() {
  y_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline double RenderAnnotation_Point::_internal_y() const {
  return y_;
}
inline double RenderAnnotation_Point::y() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Point.y)
  return _internal_y();
}
inline void RenderAnnotation_Point::_internal_set_y(double value) {
  _has_bits_[0] |= 0x00000002u;
  y_ = value;
}
inline void RenderAnnotation_Point::set_y(double value) {
  _internal_set_y(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Point.y)
}

// optional bool normalized = 3 [default = false];
inline bool RenderAnnotation_Point::_internal_has_normalized() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderAnnotation_Point::has_normalized() const {
  return _internal_has_normalized();
}
inline void RenderAnnotation_Point::clear_normalized() {
  normalized_ = false;
  _has_bits_[0] &= ~0x00000004u;
}
inline bool RenderAnnotation_Point::_internal_normalized() const {
  return normalized_;
}
inline bool RenderAnnotation_Point::normalized() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Point.normalized)
  return _internal_normalized();
}
inline void RenderAnnotation_Point::_internal_set_normalized(bool value) {
  _has_bits_[0] |= 0x00000004u;
  normalized_ = value;
}
inline void RenderAnnotation_Point::set_normalized(bool value) {
  _internal_set_normalized(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Point.normalized)
}

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

// RenderAnnotation_Line

// optional double x_start = 1;
inline bool RenderAnnotation_Line::_internal_has_x_start() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool RenderAnnotation_Line::has_x_start() const {
  return _internal_has_x_start();
}
inline void RenderAnnotation_Line::clear_x_start() {
  x_start_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline double RenderAnnotation_Line::_internal_x_start() const {
  return x_start_;
}
inline double RenderAnnotation_Line::x_start() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Line.x_start)
  return _internal_x_start();
}
inline void RenderAnnotation_Line::_internal_set_x_start(double value) {
  _has_bits_[0] |= 0x00000001u;
  x_start_ = value;
}
inline void RenderAnnotation_Line::set_x_start(double value) {
  _internal_set_x_start(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Line.x_start)
}

// optional double y_start = 2;
inline bool RenderAnnotation_Line::_internal_has_y_start() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool RenderAnnotation_Line::has_y_start() const {
  return _internal_has_y_start();
}
inline void RenderAnnotation_Line::clear_y_start() {
  y_start_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline double RenderAnnotation_Line::_internal_y_start() const {
  return y_start_;
}
inline double RenderAnnotation_Line::y_start() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Line.y_start)
  return _internal_y_start();
}
inline void RenderAnnotation_Line::_internal_set_y_start(double value) {
  _has_bits_[0] |= 0x00000002u;
  y_start_ = value;
}
inline void RenderAnnotation_Line::set_y_start(double value) {
  _internal_set_y_start(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Line.y_start)
}

// optional double x_end = 3;
inline bool RenderAnnotation_Line::_internal_has_x_end() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderAnnotation_Line::has_x_end() const {
  return _internal_has_x_end();
}
inline void RenderAnnotation_Line::clear_x_end() {
  x_end_ = 0;
  _has_bits_[0] &= ~0x00000004u;
}
inline double RenderAnnotation_Line::_internal_x_end() const {
  return x_end_;
}
inline double RenderAnnotation_Line::x_end() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Line.x_end)
  return _internal_x_end();
}
inline void RenderAnnotation_Line::_internal_set_x_end(double value) {
  _has_bits_[0] |= 0x00000004u;
  x_end_ = value;
}
inline void RenderAnnotation_Line::set_x_end(double value) {
  _internal_set_x_end(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Line.x_end)
}

// optional double y_end = 4;
inline bool RenderAnnotation_Line::_internal_has_y_end() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool RenderAnnotation_Line::has_y_end() const {
  return _internal_has_y_end();
}
inline void RenderAnnotation_Line::clear_y_end() {
  y_end_ = 0;
  _has_bits_[0] &= ~0x00000008u;
}
inline double RenderAnnotation_Line::_internal_y_end() const {
  return y_end_;
}
inline double RenderAnnotation_Line::y_end() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Line.y_end)
  return _internal_y_end();
}
inline void RenderAnnotation_Line::_internal_set_y_end(double value) {
  _has_bits_[0] |= 0x00000008u;
  y_end_ = value;
}
inline void RenderAnnotation_Line::set_y_end(double value) {
  _internal_set_y_end(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Line.y_end)
}

// optional bool normalized = 5 [default = false];
inline bool RenderAnnotation_Line::_internal_has_normalized() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool RenderAnnotation_Line::has_normalized() const {
  return _internal_has_normalized();
}
inline void RenderAnnotation_Line::clear_normalized() {
  normalized_ = false;
  _has_bits_[0] &= ~0x00000010u;
}
inline bool RenderAnnotation_Line::_internal_normalized() const {
  return normalized_;
}
inline bool RenderAnnotation_Line::normalized() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Line.normalized)
  return _internal_normalized();
}
inline void RenderAnnotation_Line::_internal_set_normalized(bool value) {
  _has_bits_[0] |= 0x00000010u;
  normalized_ = value;
}
inline void RenderAnnotation_Line::set_normalized(bool value) {
  _internal_set_normalized(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Line.normalized)
}

// optional .mediapipe.RenderAnnotation.Line.LineType line_type = 6 [default = SOLID];
inline bool RenderAnnotation_Line::_internal_has_line_type() const {
  bool value = (_has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool RenderAnnotation_Line::has_line_type() const {
  return _internal_has_line_type();
}
inline void RenderAnnotation_Line::clear_line_type() {
  line_type_ = 1;
  _has_bits_[0] &= ~0x00000020u;
}
inline ::mediapipe::RenderAnnotation_Line_LineType RenderAnnotation_Line::_internal_line_type() const {
  return static_cast< ::mediapipe::RenderAnnotation_Line_LineType >(line_type_);
}
inline ::mediapipe::RenderAnnotation_Line_LineType RenderAnnotation_Line::line_type() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Line.line_type)
  return _internal_line_type();
}
inline void RenderAnnotation_Line::_internal_set_line_type(::mediapipe::RenderAnnotation_Line_LineType value) {
  assert(::mediapipe::RenderAnnotation_Line_LineType_IsValid(value));
  _has_bits_[0] |= 0x00000020u;
  line_type_ = value;
}
inline void RenderAnnotation_Line::set_line_type(::mediapipe::RenderAnnotation_Line_LineType value) {
  _internal_set_line_type(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Line.line_type)
}

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

// RenderAnnotation_GradientLine

// optional double x_start = 1;
inline bool RenderAnnotation_GradientLine::_internal_has_x_start() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderAnnotation_GradientLine::has_x_start() const {
  return _internal_has_x_start();
}
inline void RenderAnnotation_GradientLine::clear_x_start() {
  x_start_ = 0;
  _has_bits_[0] &= ~0x00000004u;
}
inline double RenderAnnotation_GradientLine::_internal_x_start() const {
  return x_start_;
}
inline double RenderAnnotation_GradientLine::x_start() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.GradientLine.x_start)
  return _internal_x_start();
}
inline void RenderAnnotation_GradientLine::_internal_set_x_start(double value) {
  _has_bits_[0] |= 0x00000004u;
  x_start_ = value;
}
inline void RenderAnnotation_GradientLine::set_x_start(double value) {
  _internal_set_x_start(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.GradientLine.x_start)
}

// optional double y_start = 2;
inline bool RenderAnnotation_GradientLine::_internal_has_y_start() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool RenderAnnotation_GradientLine::has_y_start() const {
  return _internal_has_y_start();
}
inline void RenderAnnotation_GradientLine::clear_y_start() {
  y_start_ = 0;
  _has_bits_[0] &= ~0x00000008u;
}
inline double RenderAnnotation_GradientLine::_internal_y_start() const {
  return y_start_;
}
inline double RenderAnnotation_GradientLine::y_start() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.GradientLine.y_start)
  return _internal_y_start();
}
inline void RenderAnnotation_GradientLine::_internal_set_y_start(double value) {
  _has_bits_[0] |= 0x00000008u;
  y_start_ = value;
}
inline void RenderAnnotation_GradientLine::set_y_start(double value) {
  _internal_set_y_start(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.GradientLine.y_start)
}

// optional double x_end = 3;
inline bool RenderAnnotation_GradientLine::_internal_has_x_end() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool RenderAnnotation_GradientLine::has_x_end() const {
  return _internal_has_x_end();
}
inline void RenderAnnotation_GradientLine::clear_x_end() {
  x_end_ = 0;
  _has_bits_[0] &= ~0x00000010u;
}
inline double RenderAnnotation_GradientLine::_internal_x_end() const {
  return x_end_;
}
inline double RenderAnnotation_GradientLine::x_end() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.GradientLine.x_end)
  return _internal_x_end();
}
inline void RenderAnnotation_GradientLine::_internal_set_x_end(double value) {
  _has_bits_[0] |= 0x00000010u;
  x_end_ = value;
}
inline void RenderAnnotation_GradientLine::set_x_end(double value) {
  _internal_set_x_end(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.GradientLine.x_end)
}

// optional double y_end = 4;
inline bool RenderAnnotation_GradientLine::_internal_has_y_end() const {
  bool value = (_has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool RenderAnnotation_GradientLine::has_y_end() const {
  return _internal_has_y_end();
}
inline void RenderAnnotation_GradientLine::clear_y_end() {
  y_end_ = 0;
  _has_bits_[0] &= ~0x00000020u;
}
inline double RenderAnnotation_GradientLine::_internal_y_end() const {
  return y_end_;
}
inline double RenderAnnotation_GradientLine::y_end() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.GradientLine.y_end)
  return _internal_y_end();
}
inline void RenderAnnotation_GradientLine::_internal_set_y_end(double value) {
  _has_bits_[0] |= 0x00000020u;
  y_end_ = value;
}
inline void RenderAnnotation_GradientLine::set_y_end(double value) {
  _internal_set_y_end(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.GradientLine.y_end)
}

// optional bool normalized = 5 [default = false];
inline bool RenderAnnotation_GradientLine::_internal_has_normalized() const {
  bool value = (_has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool RenderAnnotation_GradientLine::has_normalized() const {
  return _internal_has_normalized();
}
inline void RenderAnnotation_GradientLine::clear_normalized() {
  normalized_ = false;
  _has_bits_[0] &= ~0x00000040u;
}
inline bool RenderAnnotation_GradientLine::_internal_normalized() const {
  return normalized_;
}
inline bool RenderAnnotation_GradientLine::normalized() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.GradientLine.normalized)
  return _internal_normalized();
}
inline void RenderAnnotation_GradientLine::_internal_set_normalized(bool value) {
  _has_bits_[0] |= 0x00000040u;
  normalized_ = value;
}
inline void RenderAnnotation_GradientLine::set_normalized(bool value) {
  _internal_set_normalized(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.GradientLine.normalized)
}

// optional .mediapipe.Color color1 = 6;
inline bool RenderAnnotation_GradientLine::_internal_has_color1() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || color1_ != nullptr);
  return value;
}
inline bool RenderAnnotation_GradientLine::has_color1() const {
  return _internal_has_color1();
}
inline const ::mediapipe::Color& RenderAnnotation_GradientLine::_internal_color1() const {
  const ::mediapipe::Color* p = color1_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::Color&>(
      ::mediapipe::_Color_default_instance_);
}
inline const ::mediapipe::Color& RenderAnnotation_GradientLine::color1() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.GradientLine.color1)
  return _internal_color1();
}
inline void RenderAnnotation_GradientLine::unsafe_arena_set_allocated_color1(
    ::mediapipe::Color* color1) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(color1_);
  }
  color1_ = color1;
  if (color1) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.GradientLine.color1)
}
inline ::mediapipe::Color* RenderAnnotation_GradientLine::release_color1() {
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::Color* temp = color1_;
  color1_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_GradientLine::unsafe_arena_release_color1() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.GradientLine.color1)
  _has_bits_[0] &= ~0x00000001u;
  ::mediapipe::Color* temp = color1_;
  color1_ = nullptr;
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_GradientLine::_internal_mutable_color1() {
  _has_bits_[0] |= 0x00000001u;
  if (color1_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::Color>(GetArenaForAllocation());
    color1_ = p;
  }
  return color1_;
}
inline ::mediapipe::Color* RenderAnnotation_GradientLine::mutable_color1() {
  ::mediapipe::Color* _msg = _internal_mutable_color1();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.GradientLine.color1)
  return _msg;
}
inline void RenderAnnotation_GradientLine::set_allocated_color1(::mediapipe::Color* color1) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(color1_);
  }
  if (color1) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(color1));
    if (message_arena != submessage_arena) {
      color1 = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, color1, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  color1_ = color1;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.GradientLine.color1)
}

// optional .mediapipe.Color color2 = 7;
inline bool RenderAnnotation_GradientLine::_internal_has_color2() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || color2_ != nullptr);
  return value;
}
inline bool RenderAnnotation_GradientLine::has_color2() const {
  return _internal_has_color2();
}
inline const ::mediapipe::Color& RenderAnnotation_GradientLine::_internal_color2() const {
  const ::mediapipe::Color* p = color2_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::Color&>(
      ::mediapipe::_Color_default_instance_);
}
inline const ::mediapipe::Color& RenderAnnotation_GradientLine::color2() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.GradientLine.color2)
  return _internal_color2();
}
inline void RenderAnnotation_GradientLine::unsafe_arena_set_allocated_color2(
    ::mediapipe::Color* color2) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(color2_);
  }
  color2_ = color2;
  if (color2) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.GradientLine.color2)
}
inline ::mediapipe::Color* RenderAnnotation_GradientLine::release_color2() {
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = color2_;
  color2_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_GradientLine::unsafe_arena_release_color2() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.GradientLine.color2)
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = color2_;
  color2_ = nullptr;
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_GradientLine::_internal_mutable_color2() {
  _has_bits_[0] |= 0x00000002u;
  if (color2_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::Color>(GetArenaForAllocation());
    color2_ = p;
  }
  return color2_;
}
inline ::mediapipe::Color* RenderAnnotation_GradientLine::mutable_color2() {
  ::mediapipe::Color* _msg = _internal_mutable_color2();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.GradientLine.color2)
  return _msg;
}
inline void RenderAnnotation_GradientLine::set_allocated_color2(::mediapipe::Color* color2) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(color2_);
  }
  if (color2) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(color2));
    if (message_arena != submessage_arena) {
      color2 = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, color2, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  color2_ = color2;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.GradientLine.color2)
}

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

// RenderAnnotation_Scribble

// repeated .mediapipe.RenderAnnotation.Point point = 1;
inline int RenderAnnotation_Scribble::_internal_point_size() const {
  return point_.size();
}
inline int RenderAnnotation_Scribble::point_size() const {
  return _internal_point_size();
}
inline void RenderAnnotation_Scribble::clear_point() {
  point_.Clear();
}
inline ::mediapipe::RenderAnnotation_Point* RenderAnnotation_Scribble::mutable_point(int index) {
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.Scribble.point)
  return point_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation_Point >*
RenderAnnotation_Scribble::mutable_point() {
  // @@protoc_insertion_point(field_mutable_list:mediapipe.RenderAnnotation.Scribble.point)
  return &point_;
}
inline const ::mediapipe::RenderAnnotation_Point& RenderAnnotation_Scribble::_internal_point(int index) const {
  return point_.Get(index);
}
inline const ::mediapipe::RenderAnnotation_Point& RenderAnnotation_Scribble::point(int index) const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Scribble.point)
  return _internal_point(index);
}
inline ::mediapipe::RenderAnnotation_Point* RenderAnnotation_Scribble::_internal_add_point() {
  return point_.Add();
}
inline ::mediapipe::RenderAnnotation_Point* RenderAnnotation_Scribble::add_point() {
  ::mediapipe::RenderAnnotation_Point* _add = _internal_add_point();
  // @@protoc_insertion_point(field_add:mediapipe.RenderAnnotation.Scribble.point)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::RenderAnnotation_Point >&
RenderAnnotation_Scribble::point() const {
  // @@protoc_insertion_point(field_list:mediapipe.RenderAnnotation.Scribble.point)
  return point_;
}

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

// RenderAnnotation_Arrow

// optional double x_start = 1;
inline bool RenderAnnotation_Arrow::_internal_has_x_start() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool RenderAnnotation_Arrow::has_x_start() const {
  return _internal_has_x_start();
}
inline void RenderAnnotation_Arrow::clear_x_start() {
  x_start_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline double RenderAnnotation_Arrow::_internal_x_start() const {
  return x_start_;
}
inline double RenderAnnotation_Arrow::x_start() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Arrow.x_start)
  return _internal_x_start();
}
inline void RenderAnnotation_Arrow::_internal_set_x_start(double value) {
  _has_bits_[0] |= 0x00000001u;
  x_start_ = value;
}
inline void RenderAnnotation_Arrow::set_x_start(double value) {
  _internal_set_x_start(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Arrow.x_start)
}

// optional double y_start = 2;
inline bool RenderAnnotation_Arrow::_internal_has_y_start() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool RenderAnnotation_Arrow::has_y_start() const {
  return _internal_has_y_start();
}
inline void RenderAnnotation_Arrow::clear_y_start() {
  y_start_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline double RenderAnnotation_Arrow::_internal_y_start() const {
  return y_start_;
}
inline double RenderAnnotation_Arrow::y_start() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Arrow.y_start)
  return _internal_y_start();
}
inline void RenderAnnotation_Arrow::_internal_set_y_start(double value) {
  _has_bits_[0] |= 0x00000002u;
  y_start_ = value;
}
inline void RenderAnnotation_Arrow::set_y_start(double value) {
  _internal_set_y_start(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Arrow.y_start)
}

// optional double x_end = 3;
inline bool RenderAnnotation_Arrow::_internal_has_x_end() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderAnnotation_Arrow::has_x_end() const {
  return _internal_has_x_end();
}
inline void RenderAnnotation_Arrow::clear_x_end() {
  x_end_ = 0;
  _has_bits_[0] &= ~0x00000004u;
}
inline double RenderAnnotation_Arrow::_internal_x_end() const {
  return x_end_;
}
inline double RenderAnnotation_Arrow::x_end() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Arrow.x_end)
  return _internal_x_end();
}
inline void RenderAnnotation_Arrow::_internal_set_x_end(double value) {
  _has_bits_[0] |= 0x00000004u;
  x_end_ = value;
}
inline void RenderAnnotation_Arrow::set_x_end(double value) {
  _internal_set_x_end(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Arrow.x_end)
}

// optional double y_end = 4;
inline bool RenderAnnotation_Arrow::_internal_has_y_end() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool RenderAnnotation_Arrow::has_y_end() const {
  return _internal_has_y_end();
}
inline void RenderAnnotation_Arrow::clear_y_end() {
  y_end_ = 0;
  _has_bits_[0] &= ~0x00000008u;
}
inline double RenderAnnotation_Arrow::_internal_y_end() const {
  return y_end_;
}
inline double RenderAnnotation_Arrow::y_end() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Arrow.y_end)
  return _internal_y_end();
}
inline void RenderAnnotation_Arrow::_internal_set_y_end(double value) {
  _has_bits_[0] |= 0x00000008u;
  y_end_ = value;
}
inline void RenderAnnotation_Arrow::set_y_end(double value) {
  _internal_set_y_end(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Arrow.y_end)
}

// optional bool normalized = 5 [default = false];
inline bool RenderAnnotation_Arrow::_internal_has_normalized() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool RenderAnnotation_Arrow::has_normalized() const {
  return _internal_has_normalized();
}
inline void RenderAnnotation_Arrow::clear_normalized() {
  normalized_ = false;
  _has_bits_[0] &= ~0x00000010u;
}
inline bool RenderAnnotation_Arrow::_internal_normalized() const {
  return normalized_;
}
inline bool RenderAnnotation_Arrow::normalized() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Arrow.normalized)
  return _internal_normalized();
}
inline void RenderAnnotation_Arrow::_internal_set_normalized(bool value) {
  _has_bits_[0] |= 0x00000010u;
  normalized_ = value;
}
inline void RenderAnnotation_Arrow::set_normalized(bool value) {
  _internal_set_normalized(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Arrow.normalized)
}

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

// RenderAnnotation_Text

// optional string display_text = 1;
inline bool RenderAnnotation_Text::_internal_has_display_text() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_display_text() const {
  return _internal_has_display_text();
}
inline void RenderAnnotation_Text::clear_display_text() {
  display_text_.ClearToEmpty();
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& RenderAnnotation_Text::display_text() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.display_text)
  return _internal_display_text();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void RenderAnnotation_Text::set_display_text(ArgT0&& arg0, ArgT... args) {
 _has_bits_[0] |= 0x00000001u;
 display_text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.display_text)
}
inline std::string* RenderAnnotation_Text::mutable_display_text() {
  std::string* _s = _internal_mutable_display_text();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.Text.display_text)
  return _s;
}
inline const std::string& RenderAnnotation_Text::_internal_display_text() const {
  return display_text_.Get();
}
inline void RenderAnnotation_Text::_internal_set_display_text(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  display_text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* RenderAnnotation_Text::_internal_mutable_display_text() {
  _has_bits_[0] |= 0x00000001u;
  return display_text_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* RenderAnnotation_Text::release_display_text() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.Text.display_text)
  if (!_internal_has_display_text()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  auto* p = display_text_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (display_text_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    display_text_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void RenderAnnotation_Text::set_allocated_display_text(std::string* display_text) {
  if (display_text != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  display_text_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), display_text,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (display_text_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    display_text_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.Text.display_text)
}

// optional double left = 2;
inline bool RenderAnnotation_Text::_internal_has_left() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_left() const {
  return _internal_has_left();
}
inline void RenderAnnotation_Text::clear_left() {
  left_ = 0;
  _has_bits_[0] &= ~0x00000004u;
}
inline double RenderAnnotation_Text::_internal_left() const {
  return left_;
}
inline double RenderAnnotation_Text::left() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.left)
  return _internal_left();
}
inline void RenderAnnotation_Text::_internal_set_left(double value) {
  _has_bits_[0] |= 0x00000004u;
  left_ = value;
}
inline void RenderAnnotation_Text::set_left(double value) {
  _internal_set_left(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.left)
}

// optional double baseline = 3;
inline bool RenderAnnotation_Text::_internal_has_baseline() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_baseline() const {
  return _internal_has_baseline();
}
inline void RenderAnnotation_Text::clear_baseline() {
  baseline_ = 0;
  _has_bits_[0] &= ~0x00000008u;
}
inline double RenderAnnotation_Text::_internal_baseline() const {
  return baseline_;
}
inline double RenderAnnotation_Text::baseline() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.baseline)
  return _internal_baseline();
}
inline void RenderAnnotation_Text::_internal_set_baseline(double value) {
  _has_bits_[0] |= 0x00000008u;
  baseline_ = value;
}
inline void RenderAnnotation_Text::set_baseline(double value) {
  _internal_set_baseline(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.baseline)
}

// optional double font_height = 4 [default = 8];
inline bool RenderAnnotation_Text::_internal_has_font_height() const {
  bool value = (_has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_font_height() const {
  return _internal_has_font_height();
}
inline void RenderAnnotation_Text::clear_font_height() {
  font_height_ = 8;
  _has_bits_[0] &= ~0x00000200u;
}
inline double RenderAnnotation_Text::_internal_font_height() const {
  return font_height_;
}
inline double RenderAnnotation_Text::font_height() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.font_height)
  return _internal_font_height();
}
inline void RenderAnnotation_Text::_internal_set_font_height(double value) {
  _has_bits_[0] |= 0x00000200u;
  font_height_ = value;
}
inline void RenderAnnotation_Text::set_font_height(double value) {
  _internal_set_font_height(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.font_height)
}

// optional bool normalized = 5 [default = false];
inline bool RenderAnnotation_Text::_internal_has_normalized() const {
  bool value = (_has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_normalized() const {
  return _internal_has_normalized();
}
inline void RenderAnnotation_Text::clear_normalized() {
  normalized_ = false;
  _has_bits_[0] &= ~0x00000020u;
}
inline bool RenderAnnotation_Text::_internal_normalized() const {
  return normalized_;
}
inline bool RenderAnnotation_Text::normalized() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.normalized)
  return _internal_normalized();
}
inline void RenderAnnotation_Text::_internal_set_normalized(bool value) {
  _has_bits_[0] |= 0x00000020u;
  normalized_ = value;
}
inline void RenderAnnotation_Text::set_normalized(bool value) {
  _internal_set_normalized(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.normalized)
}

// optional int32 font_face = 6 [default = 0];
inline bool RenderAnnotation_Text::_internal_has_font_face() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_font_face() const {
  return _internal_has_font_face();
}
inline void RenderAnnotation_Text::clear_font_face() {
  font_face_ = 0;
  _has_bits_[0] &= ~0x00000010u;
}
inline int32_t RenderAnnotation_Text::_internal_font_face() const {
  return font_face_;
}
inline int32_t RenderAnnotation_Text::font_face() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.font_face)
  return _internal_font_face();
}
inline void RenderAnnotation_Text::_internal_set_font_face(int32_t value) {
  _has_bits_[0] |= 0x00000010u;
  font_face_ = value;
}
inline void RenderAnnotation_Text::set_font_face(int32_t value) {
  _internal_set_font_face(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.font_face)
}

// optional bool center_horizontally = 7 [default = false];
inline bool RenderAnnotation_Text::_internal_has_center_horizontally() const {
  bool value = (_has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_center_horizontally() const {
  return _internal_has_center_horizontally();
}
inline void RenderAnnotation_Text::clear_center_horizontally() {
  center_horizontally_ = false;
  _has_bits_[0] &= ~0x00000040u;
}
inline bool RenderAnnotation_Text::_internal_center_horizontally() const {
  return center_horizontally_;
}
inline bool RenderAnnotation_Text::center_horizontally() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.center_horizontally)
  return _internal_center_horizontally();
}
inline void RenderAnnotation_Text::_internal_set_center_horizontally(bool value) {
  _has_bits_[0] |= 0x00000040u;
  center_horizontally_ = value;
}
inline void RenderAnnotation_Text::set_center_horizontally(bool value) {
  _internal_set_center_horizontally(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.center_horizontally)
}

// optional bool center_vertically = 8 [default = false];
inline bool RenderAnnotation_Text::_internal_has_center_vertically() const {
  bool value = (_has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_center_vertically() const {
  return _internal_has_center_vertically();
}
inline void RenderAnnotation_Text::clear_center_vertically() {
  center_vertically_ = false;
  _has_bits_[0] &= ~0x00000080u;
}
inline bool RenderAnnotation_Text::_internal_center_vertically() const {
  return center_vertically_;
}
inline bool RenderAnnotation_Text::center_vertically() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.center_vertically)
  return _internal_center_vertically();
}
inline void RenderAnnotation_Text::_internal_set_center_vertically(bool value) {
  _has_bits_[0] |= 0x00000080u;
  center_vertically_ = value;
}
inline void RenderAnnotation_Text::set_center_vertically(bool value) {
  _internal_set_center_vertically(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.center_vertically)
}

// optional double outline_thickness = 11 [default = 0];
inline bool RenderAnnotation_Text::_internal_has_outline_thickness() const {
  bool value = (_has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool RenderAnnotation_Text::has_outline_thickness() const {
  return _internal_has_outline_thickness();
}
inline void RenderAnnotation_Text::clear_outline_thickness() {
  outline_thickness_ = 0;
  _has_bits_[0] &= ~0x00000100u;
}
inline double RenderAnnotation_Text::_internal_outline_thickness() const {
  return outline_thickness_;
}
inline double RenderAnnotation_Text::outline_thickness() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.outline_thickness)
  return _internal_outline_thickness();
}
inline void RenderAnnotation_Text::_internal_set_outline_thickness(double value) {
  _has_bits_[0] |= 0x00000100u;
  outline_thickness_ = value;
}
inline void RenderAnnotation_Text::set_outline_thickness(double value) {
  _internal_set_outline_thickness(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.Text.outline_thickness)
}

// optional .mediapipe.Color outline_color = 12;
inline bool RenderAnnotation_Text::_internal_has_outline_color() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || outline_color_ != nullptr);
  return value;
}
inline bool RenderAnnotation_Text::has_outline_color() const {
  return _internal_has_outline_color();
}
inline const ::mediapipe::Color& RenderAnnotation_Text::_internal_outline_color() const {
  const ::mediapipe::Color* p = outline_color_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::Color&>(
      ::mediapipe::_Color_default_instance_);
}
inline const ::mediapipe::Color& RenderAnnotation_Text::outline_color() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.Text.outline_color)
  return _internal_outline_color();
}
inline void RenderAnnotation_Text::unsafe_arena_set_allocated_outline_color(
    ::mediapipe::Color* outline_color) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(outline_color_);
  }
  outline_color_ = outline_color;
  if (outline_color) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.Text.outline_color)
}
inline ::mediapipe::Color* RenderAnnotation_Text::release_outline_color() {
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = outline_color_;
  outline_color_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_Text::unsafe_arena_release_outline_color() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.Text.outline_color)
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = outline_color_;
  outline_color_ = nullptr;
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation_Text::_internal_mutable_outline_color() {
  _has_bits_[0] |= 0x00000002u;
  if (outline_color_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::Color>(GetArenaForAllocation());
    outline_color_ = p;
  }
  return outline_color_;
}
inline ::mediapipe::Color* RenderAnnotation_Text::mutable_outline_color() {
  ::mediapipe::Color* _msg = _internal_mutable_outline_color();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.Text.outline_color)
  return _msg;
}
inline void RenderAnnotation_Text::set_allocated_outline_color(::mediapipe::Color* outline_color) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(outline_color_);
  }
  if (outline_color) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(outline_color));
    if (message_arena != submessage_arena) {
      outline_color = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, outline_color, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  outline_color_ = outline_color;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.Text.outline_color)
}

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

// RenderAnnotation

// .mediapipe.RenderAnnotation.Rectangle rectangle = 1;
inline bool RenderAnnotation::_internal_has_rectangle() const {
  return data_case() == kRectangle;
}
inline bool RenderAnnotation::has_rectangle() const {
  return _internal_has_rectangle();
}
inline void RenderAnnotation::set_has_rectangle() {
  _oneof_case_[0] = kRectangle;
}
inline void RenderAnnotation::clear_rectangle() {
  if (_internal_has_rectangle()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.rectangle_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation::release_rectangle() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.rectangle)
  if (_internal_has_rectangle()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_Rectangle* temp = data_.rectangle_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.rectangle_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_Rectangle& RenderAnnotation::_internal_rectangle() const {
  return _internal_has_rectangle()
      ? *data_.rectangle_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_Rectangle&>(::mediapipe::_RenderAnnotation_Rectangle_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Rectangle& RenderAnnotation::rectangle() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.rectangle)
  return _internal_rectangle();
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation::unsafe_arena_release_rectangle() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.rectangle)
  if (_internal_has_rectangle()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_Rectangle* temp = data_.rectangle_;
    data_.rectangle_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_rectangle(::mediapipe::RenderAnnotation_Rectangle* rectangle) {
  clear_data();
  if (rectangle) {
    set_has_rectangle();
    data_.rectangle_ = rectangle;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.rectangle)
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation::_internal_mutable_rectangle() {
  if (!_internal_has_rectangle()) {
    clear_data();
    set_has_rectangle();
    data_.rectangle_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_Rectangle >(GetArenaForAllocation());
  }
  return data_.rectangle_;
}
inline ::mediapipe::RenderAnnotation_Rectangle* RenderAnnotation::mutable_rectangle() {
  ::mediapipe::RenderAnnotation_Rectangle* _msg = _internal_mutable_rectangle();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.rectangle)
  return _msg;
}

// .mediapipe.RenderAnnotation.FilledRectangle filled_rectangle = 2;
inline bool RenderAnnotation::_internal_has_filled_rectangle() const {
  return data_case() == kFilledRectangle;
}
inline bool RenderAnnotation::has_filled_rectangle() const {
  return _internal_has_filled_rectangle();
}
inline void RenderAnnotation::set_has_filled_rectangle() {
  _oneof_case_[0] = kFilledRectangle;
}
inline void RenderAnnotation::clear_filled_rectangle() {
  if (_internal_has_filled_rectangle()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.filled_rectangle_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_FilledRectangle* RenderAnnotation::release_filled_rectangle() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.filled_rectangle)
  if (_internal_has_filled_rectangle()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_FilledRectangle* temp = data_.filled_rectangle_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.filled_rectangle_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_FilledRectangle& RenderAnnotation::_internal_filled_rectangle() const {
  return _internal_has_filled_rectangle()
      ? *data_.filled_rectangle_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_FilledRectangle&>(::mediapipe::_RenderAnnotation_FilledRectangle_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_FilledRectangle& RenderAnnotation::filled_rectangle() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.filled_rectangle)
  return _internal_filled_rectangle();
}
inline ::mediapipe::RenderAnnotation_FilledRectangle* RenderAnnotation::unsafe_arena_release_filled_rectangle() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.filled_rectangle)
  if (_internal_has_filled_rectangle()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_FilledRectangle* temp = data_.filled_rectangle_;
    data_.filled_rectangle_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_filled_rectangle(::mediapipe::RenderAnnotation_FilledRectangle* filled_rectangle) {
  clear_data();
  if (filled_rectangle) {
    set_has_filled_rectangle();
    data_.filled_rectangle_ = filled_rectangle;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.filled_rectangle)
}
inline ::mediapipe::RenderAnnotation_FilledRectangle* RenderAnnotation::_internal_mutable_filled_rectangle() {
  if (!_internal_has_filled_rectangle()) {
    clear_data();
    set_has_filled_rectangle();
    data_.filled_rectangle_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_FilledRectangle >(GetArenaForAllocation());
  }
  return data_.filled_rectangle_;
}
inline ::mediapipe::RenderAnnotation_FilledRectangle* RenderAnnotation::mutable_filled_rectangle() {
  ::mediapipe::RenderAnnotation_FilledRectangle* _msg = _internal_mutable_filled_rectangle();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.filled_rectangle)
  return _msg;
}

// .mediapipe.RenderAnnotation.Oval oval = 3;
inline bool RenderAnnotation::_internal_has_oval() const {
  return data_case() == kOval;
}
inline bool RenderAnnotation::has_oval() const {
  return _internal_has_oval();
}
inline void RenderAnnotation::set_has_oval() {
  _oneof_case_[0] = kOval;
}
inline void RenderAnnotation::clear_oval() {
  if (_internal_has_oval()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.oval_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_Oval* RenderAnnotation::release_oval() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.oval)
  if (_internal_has_oval()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_Oval* temp = data_.oval_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.oval_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_Oval& RenderAnnotation::_internal_oval() const {
  return _internal_has_oval()
      ? *data_.oval_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_Oval&>(::mediapipe::_RenderAnnotation_Oval_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Oval& RenderAnnotation::oval() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.oval)
  return _internal_oval();
}
inline ::mediapipe::RenderAnnotation_Oval* RenderAnnotation::unsafe_arena_release_oval() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.oval)
  if (_internal_has_oval()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_Oval* temp = data_.oval_;
    data_.oval_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_oval(::mediapipe::RenderAnnotation_Oval* oval) {
  clear_data();
  if (oval) {
    set_has_oval();
    data_.oval_ = oval;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.oval)
}
inline ::mediapipe::RenderAnnotation_Oval* RenderAnnotation::_internal_mutable_oval() {
  if (!_internal_has_oval()) {
    clear_data();
    set_has_oval();
    data_.oval_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_Oval >(GetArenaForAllocation());
  }
  return data_.oval_;
}
inline ::mediapipe::RenderAnnotation_Oval* RenderAnnotation::mutable_oval() {
  ::mediapipe::RenderAnnotation_Oval* _msg = _internal_mutable_oval();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.oval)
  return _msg;
}

// .mediapipe.RenderAnnotation.FilledOval filled_oval = 4;
inline bool RenderAnnotation::_internal_has_filled_oval() const {
  return data_case() == kFilledOval;
}
inline bool RenderAnnotation::has_filled_oval() const {
  return _internal_has_filled_oval();
}
inline void RenderAnnotation::set_has_filled_oval() {
  _oneof_case_[0] = kFilledOval;
}
inline void RenderAnnotation::clear_filled_oval() {
  if (_internal_has_filled_oval()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.filled_oval_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_FilledOval* RenderAnnotation::release_filled_oval() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.filled_oval)
  if (_internal_has_filled_oval()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_FilledOval* temp = data_.filled_oval_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.filled_oval_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_FilledOval& RenderAnnotation::_internal_filled_oval() const {
  return _internal_has_filled_oval()
      ? *data_.filled_oval_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_FilledOval&>(::mediapipe::_RenderAnnotation_FilledOval_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_FilledOval& RenderAnnotation::filled_oval() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.filled_oval)
  return _internal_filled_oval();
}
inline ::mediapipe::RenderAnnotation_FilledOval* RenderAnnotation::unsafe_arena_release_filled_oval() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.filled_oval)
  if (_internal_has_filled_oval()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_FilledOval* temp = data_.filled_oval_;
    data_.filled_oval_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_filled_oval(::mediapipe::RenderAnnotation_FilledOval* filled_oval) {
  clear_data();
  if (filled_oval) {
    set_has_filled_oval();
    data_.filled_oval_ = filled_oval;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.filled_oval)
}
inline ::mediapipe::RenderAnnotation_FilledOval* RenderAnnotation::_internal_mutable_filled_oval() {
  if (!_internal_has_filled_oval()) {
    clear_data();
    set_has_filled_oval();
    data_.filled_oval_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_FilledOval >(GetArenaForAllocation());
  }
  return data_.filled_oval_;
}
inline ::mediapipe::RenderAnnotation_FilledOval* RenderAnnotation::mutable_filled_oval() {
  ::mediapipe::RenderAnnotation_FilledOval* _msg = _internal_mutable_filled_oval();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.filled_oval)
  return _msg;
}

// .mediapipe.RenderAnnotation.Point point = 5;
inline bool RenderAnnotation::_internal_has_point() const {
  return data_case() == kPoint;
}
inline bool RenderAnnotation::has_point() const {
  return _internal_has_point();
}
inline void RenderAnnotation::set_has_point() {
  _oneof_case_[0] = kPoint;
}
inline void RenderAnnotation::clear_point() {
  if (_internal_has_point()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.point_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_Point* RenderAnnotation::release_point() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.point)
  if (_internal_has_point()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_Point* temp = data_.point_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.point_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_Point& RenderAnnotation::_internal_point() const {
  return _internal_has_point()
      ? *data_.point_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_Point&>(::mediapipe::_RenderAnnotation_Point_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Point& RenderAnnotation::point() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.point)
  return _internal_point();
}
inline ::mediapipe::RenderAnnotation_Point* RenderAnnotation::unsafe_arena_release_point() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.point)
  if (_internal_has_point()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_Point* temp = data_.point_;
    data_.point_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_point(::mediapipe::RenderAnnotation_Point* point) {
  clear_data();
  if (point) {
    set_has_point();
    data_.point_ = point;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.point)
}
inline ::mediapipe::RenderAnnotation_Point* RenderAnnotation::_internal_mutable_point() {
  if (!_internal_has_point()) {
    clear_data();
    set_has_point();
    data_.point_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_Point >(GetArenaForAllocation());
  }
  return data_.point_;
}
inline ::mediapipe::RenderAnnotation_Point* RenderAnnotation::mutable_point() {
  ::mediapipe::RenderAnnotation_Point* _msg = _internal_mutable_point();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.point)
  return _msg;
}

// .mediapipe.RenderAnnotation.Line line = 6;
inline bool RenderAnnotation::_internal_has_line() const {
  return data_case() == kLine;
}
inline bool RenderAnnotation::has_line() const {
  return _internal_has_line();
}
inline void RenderAnnotation::set_has_line() {
  _oneof_case_[0] = kLine;
}
inline void RenderAnnotation::clear_line() {
  if (_internal_has_line()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.line_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_Line* RenderAnnotation::release_line() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.line)
  if (_internal_has_line()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_Line* temp = data_.line_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.line_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_Line& RenderAnnotation::_internal_line() const {
  return _internal_has_line()
      ? *data_.line_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_Line&>(::mediapipe::_RenderAnnotation_Line_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Line& RenderAnnotation::line() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.line)
  return _internal_line();
}
inline ::mediapipe::RenderAnnotation_Line* RenderAnnotation::unsafe_arena_release_line() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.line)
  if (_internal_has_line()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_Line* temp = data_.line_;
    data_.line_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_line(::mediapipe::RenderAnnotation_Line* line) {
  clear_data();
  if (line) {
    set_has_line();
    data_.line_ = line;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.line)
}
inline ::mediapipe::RenderAnnotation_Line* RenderAnnotation::_internal_mutable_line() {
  if (!_internal_has_line()) {
    clear_data();
    set_has_line();
    data_.line_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_Line >(GetArenaForAllocation());
  }
  return data_.line_;
}
inline ::mediapipe::RenderAnnotation_Line* RenderAnnotation::mutable_line() {
  ::mediapipe::RenderAnnotation_Line* _msg = _internal_mutable_line();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.line)
  return _msg;
}

// .mediapipe.RenderAnnotation.Arrow arrow = 7;
inline bool RenderAnnotation::_internal_has_arrow() const {
  return data_case() == kArrow;
}
inline bool RenderAnnotation::has_arrow() const {
  return _internal_has_arrow();
}
inline void RenderAnnotation::set_has_arrow() {
  _oneof_case_[0] = kArrow;
}
inline void RenderAnnotation::clear_arrow() {
  if (_internal_has_arrow()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.arrow_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_Arrow* RenderAnnotation::release_arrow() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.arrow)
  if (_internal_has_arrow()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_Arrow* temp = data_.arrow_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.arrow_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_Arrow& RenderAnnotation::_internal_arrow() const {
  return _internal_has_arrow()
      ? *data_.arrow_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_Arrow&>(::mediapipe::_RenderAnnotation_Arrow_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Arrow& RenderAnnotation::arrow() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.arrow)
  return _internal_arrow();
}
inline ::mediapipe::RenderAnnotation_Arrow* RenderAnnotation::unsafe_arena_release_arrow() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.arrow)
  if (_internal_has_arrow()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_Arrow* temp = data_.arrow_;
    data_.arrow_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_arrow(::mediapipe::RenderAnnotation_Arrow* arrow) {
  clear_data();
  if (arrow) {
    set_has_arrow();
    data_.arrow_ = arrow;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.arrow)
}
inline ::mediapipe::RenderAnnotation_Arrow* RenderAnnotation::_internal_mutable_arrow() {
  if (!_internal_has_arrow()) {
    clear_data();
    set_has_arrow();
    data_.arrow_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_Arrow >(GetArenaForAllocation());
  }
  return data_.arrow_;
}
inline ::mediapipe::RenderAnnotation_Arrow* RenderAnnotation::mutable_arrow() {
  ::mediapipe::RenderAnnotation_Arrow* _msg = _internal_mutable_arrow();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.arrow)
  return _msg;
}

// .mediapipe.RenderAnnotation.Text text = 8;
inline bool RenderAnnotation::_internal_has_text() const {
  return data_case() == kText;
}
inline bool RenderAnnotation::has_text() const {
  return _internal_has_text();
}
inline void RenderAnnotation::set_has_text() {
  _oneof_case_[0] = kText;
}
inline void RenderAnnotation::clear_text() {
  if (_internal_has_text()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.text_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_Text* RenderAnnotation::release_text() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.text)
  if (_internal_has_text()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_Text* temp = data_.text_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.text_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_Text& RenderAnnotation::_internal_text() const {
  return _internal_has_text()
      ? *data_.text_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_Text&>(::mediapipe::_RenderAnnotation_Text_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Text& RenderAnnotation::text() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.text)
  return _internal_text();
}
inline ::mediapipe::RenderAnnotation_Text* RenderAnnotation::unsafe_arena_release_text() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.text)
  if (_internal_has_text()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_Text* temp = data_.text_;
    data_.text_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_text(::mediapipe::RenderAnnotation_Text* text) {
  clear_data();
  if (text) {
    set_has_text();
    data_.text_ = text;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.text)
}
inline ::mediapipe::RenderAnnotation_Text* RenderAnnotation::_internal_mutable_text() {
  if (!_internal_has_text()) {
    clear_data();
    set_has_text();
    data_.text_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_Text >(GetArenaForAllocation());
  }
  return data_.text_;
}
inline ::mediapipe::RenderAnnotation_Text* RenderAnnotation::mutable_text() {
  ::mediapipe::RenderAnnotation_Text* _msg = _internal_mutable_text();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.text)
  return _msg;
}

// .mediapipe.RenderAnnotation.RoundedRectangle rounded_rectangle = 9;
inline bool RenderAnnotation::_internal_has_rounded_rectangle() const {
  return data_case() == kRoundedRectangle;
}
inline bool RenderAnnotation::has_rounded_rectangle() const {
  return _internal_has_rounded_rectangle();
}
inline void RenderAnnotation::set_has_rounded_rectangle() {
  _oneof_case_[0] = kRoundedRectangle;
}
inline void RenderAnnotation::clear_rounded_rectangle() {
  if (_internal_has_rounded_rectangle()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.rounded_rectangle_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_RoundedRectangle* RenderAnnotation::release_rounded_rectangle() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.rounded_rectangle)
  if (_internal_has_rounded_rectangle()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_RoundedRectangle* temp = data_.rounded_rectangle_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.rounded_rectangle_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_RoundedRectangle& RenderAnnotation::_internal_rounded_rectangle() const {
  return _internal_has_rounded_rectangle()
      ? *data_.rounded_rectangle_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_RoundedRectangle&>(::mediapipe::_RenderAnnotation_RoundedRectangle_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_RoundedRectangle& RenderAnnotation::rounded_rectangle() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.rounded_rectangle)
  return _internal_rounded_rectangle();
}
inline ::mediapipe::RenderAnnotation_RoundedRectangle* RenderAnnotation::unsafe_arena_release_rounded_rectangle() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.rounded_rectangle)
  if (_internal_has_rounded_rectangle()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_RoundedRectangle* temp = data_.rounded_rectangle_;
    data_.rounded_rectangle_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_rounded_rectangle(::mediapipe::RenderAnnotation_RoundedRectangle* rounded_rectangle) {
  clear_data();
  if (rounded_rectangle) {
    set_has_rounded_rectangle();
    data_.rounded_rectangle_ = rounded_rectangle;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.rounded_rectangle)
}
inline ::mediapipe::RenderAnnotation_RoundedRectangle* RenderAnnotation::_internal_mutable_rounded_rectangle() {
  if (!_internal_has_rounded_rectangle()) {
    clear_data();
    set_has_rounded_rectangle();
    data_.rounded_rectangle_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_RoundedRectangle >(GetArenaForAllocation());
  }
  return data_.rounded_rectangle_;
}
inline ::mediapipe::RenderAnnotation_RoundedRectangle* RenderAnnotation::mutable_rounded_rectangle() {
  ::mediapipe::RenderAnnotation_RoundedRectangle* _msg = _internal_mutable_rounded_rectangle();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.rounded_rectangle)
  return _msg;
}

// .mediapipe.RenderAnnotation.FilledRoundedRectangle filled_rounded_rectangle = 10;
inline bool RenderAnnotation::_internal_has_filled_rounded_rectangle() const {
  return data_case() == kFilledRoundedRectangle;
}
inline bool RenderAnnotation::has_filled_rounded_rectangle() const {
  return _internal_has_filled_rounded_rectangle();
}
inline void RenderAnnotation::set_has_filled_rounded_rectangle() {
  _oneof_case_[0] = kFilledRoundedRectangle;
}
inline void RenderAnnotation::clear_filled_rounded_rectangle() {
  if (_internal_has_filled_rounded_rectangle()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.filled_rounded_rectangle_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_FilledRoundedRectangle* RenderAnnotation::release_filled_rounded_rectangle() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.filled_rounded_rectangle)
  if (_internal_has_filled_rounded_rectangle()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_FilledRoundedRectangle* temp = data_.filled_rounded_rectangle_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.filled_rounded_rectangle_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_FilledRoundedRectangle& RenderAnnotation::_internal_filled_rounded_rectangle() const {
  return _internal_has_filled_rounded_rectangle()
      ? *data_.filled_rounded_rectangle_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_FilledRoundedRectangle&>(::mediapipe::_RenderAnnotation_FilledRoundedRectangle_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_FilledRoundedRectangle& RenderAnnotation::filled_rounded_rectangle() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.filled_rounded_rectangle)
  return _internal_filled_rounded_rectangle();
}
inline ::mediapipe::RenderAnnotation_FilledRoundedRectangle* RenderAnnotation::unsafe_arena_release_filled_rounded_rectangle() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.filled_rounded_rectangle)
  if (_internal_has_filled_rounded_rectangle()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_FilledRoundedRectangle* temp = data_.filled_rounded_rectangle_;
    data_.filled_rounded_rectangle_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_filled_rounded_rectangle(::mediapipe::RenderAnnotation_FilledRoundedRectangle* filled_rounded_rectangle) {
  clear_data();
  if (filled_rounded_rectangle) {
    set_has_filled_rounded_rectangle();
    data_.filled_rounded_rectangle_ = filled_rounded_rectangle;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.filled_rounded_rectangle)
}
inline ::mediapipe::RenderAnnotation_FilledRoundedRectangle* RenderAnnotation::_internal_mutable_filled_rounded_rectangle() {
  if (!_internal_has_filled_rounded_rectangle()) {
    clear_data();
    set_has_filled_rounded_rectangle();
    data_.filled_rounded_rectangle_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_FilledRoundedRectangle >(GetArenaForAllocation());
  }
  return data_.filled_rounded_rectangle_;
}
inline ::mediapipe::RenderAnnotation_FilledRoundedRectangle* RenderAnnotation::mutable_filled_rounded_rectangle() {
  ::mediapipe::RenderAnnotation_FilledRoundedRectangle* _msg = _internal_mutable_filled_rounded_rectangle();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.filled_rounded_rectangle)
  return _msg;
}

// .mediapipe.RenderAnnotation.GradientLine gradient_line = 14;
inline bool RenderAnnotation::_internal_has_gradient_line() const {
  return data_case() == kGradientLine;
}
inline bool RenderAnnotation::has_gradient_line() const {
  return _internal_has_gradient_line();
}
inline void RenderAnnotation::set_has_gradient_line() {
  _oneof_case_[0] = kGradientLine;
}
inline void RenderAnnotation::clear_gradient_line() {
  if (_internal_has_gradient_line()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.gradient_line_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_GradientLine* RenderAnnotation::release_gradient_line() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.gradient_line)
  if (_internal_has_gradient_line()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_GradientLine* temp = data_.gradient_line_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.gradient_line_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_GradientLine& RenderAnnotation::_internal_gradient_line() const {
  return _internal_has_gradient_line()
      ? *data_.gradient_line_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_GradientLine&>(::mediapipe::_RenderAnnotation_GradientLine_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_GradientLine& RenderAnnotation::gradient_line() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.gradient_line)
  return _internal_gradient_line();
}
inline ::mediapipe::RenderAnnotation_GradientLine* RenderAnnotation::unsafe_arena_release_gradient_line() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.gradient_line)
  if (_internal_has_gradient_line()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_GradientLine* temp = data_.gradient_line_;
    data_.gradient_line_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_gradient_line(::mediapipe::RenderAnnotation_GradientLine* gradient_line) {
  clear_data();
  if (gradient_line) {
    set_has_gradient_line();
    data_.gradient_line_ = gradient_line;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.gradient_line)
}
inline ::mediapipe::RenderAnnotation_GradientLine* RenderAnnotation::_internal_mutable_gradient_line() {
  if (!_internal_has_gradient_line()) {
    clear_data();
    set_has_gradient_line();
    data_.gradient_line_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_GradientLine >(GetArenaForAllocation());
  }
  return data_.gradient_line_;
}
inline ::mediapipe::RenderAnnotation_GradientLine* RenderAnnotation::mutable_gradient_line() {
  ::mediapipe::RenderAnnotation_GradientLine* _msg = _internal_mutable_gradient_line();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.gradient_line)
  return _msg;
}

// .mediapipe.RenderAnnotation.Scribble scribble = 15;
inline bool RenderAnnotation::_internal_has_scribble() const {
  return data_case() == kScribble;
}
inline bool RenderAnnotation::has_scribble() const {
  return _internal_has_scribble();
}
inline void RenderAnnotation::set_has_scribble() {
  _oneof_case_[0] = kScribble;
}
inline void RenderAnnotation::clear_scribble() {
  if (_internal_has_scribble()) {
    if (GetArenaForAllocation() == nullptr) {
      delete data_.scribble_;
    }
    clear_has_data();
  }
}
inline ::mediapipe::RenderAnnotation_Scribble* RenderAnnotation::release_scribble() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.scribble)
  if (_internal_has_scribble()) {
    clear_has_data();
      ::mediapipe::RenderAnnotation_Scribble* temp = data_.scribble_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    data_.scribble_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::mediapipe::RenderAnnotation_Scribble& RenderAnnotation::_internal_scribble() const {
  return _internal_has_scribble()
      ? *data_.scribble_
      : reinterpret_cast< ::mediapipe::RenderAnnotation_Scribble&>(::mediapipe::_RenderAnnotation_Scribble_default_instance_);
}
inline const ::mediapipe::RenderAnnotation_Scribble& RenderAnnotation::scribble() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.scribble)
  return _internal_scribble();
}
inline ::mediapipe::RenderAnnotation_Scribble* RenderAnnotation::unsafe_arena_release_scribble() {
  // @@protoc_insertion_point(field_unsafe_arena_release:mediapipe.RenderAnnotation.scribble)
  if (_internal_has_scribble()) {
    clear_has_data();
    ::mediapipe::RenderAnnotation_Scribble* temp = data_.scribble_;
    data_.scribble_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void RenderAnnotation::unsafe_arena_set_allocated_scribble(::mediapipe::RenderAnnotation_Scribble* scribble) {
  clear_data();
  if (scribble) {
    set_has_scribble();
    data_.scribble_ = scribble;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.scribble)
}
inline ::mediapipe::RenderAnnotation_Scribble* RenderAnnotation::_internal_mutable_scribble() {
  if (!_internal_has_scribble()) {
    clear_data();
    set_has_scribble();
    data_.scribble_ = CreateMaybeMessage< ::mediapipe::RenderAnnotation_Scribble >(GetArenaForAllocation());
  }
  return data_.scribble_;
}
inline ::mediapipe::RenderAnnotation_Scribble* RenderAnnotation::mutable_scribble() {
  ::mediapipe::RenderAnnotation_Scribble* _msg = _internal_mutable_scribble();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.scribble)
  return _msg;
}

// optional double thickness = 11 [default = 1];
inline bool RenderAnnotation::_internal_has_thickness() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderAnnotation::has_thickness() const {
  return _internal_has_thickness();
}
inline void RenderAnnotation::clear_thickness() {
  thickness_ = 1;
  _has_bits_[0] &= ~0x00000004u;
}
inline double RenderAnnotation::_internal_thickness() const {
  return thickness_;
}
inline double RenderAnnotation::thickness() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.thickness)
  return _internal_thickness();
}
inline void RenderAnnotation::_internal_set_thickness(double value) {
  _has_bits_[0] |= 0x00000004u;
  thickness_ = value;
}
inline void RenderAnnotation::set_thickness(double value) {
  _internal_set_thickness(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.thickness)
}

// optional .mediapipe.Color color = 12;
inline bool RenderAnnotation::_internal_has_color() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || color_ != nullptr);
  return value;
}
inline bool RenderAnnotation::has_color() const {
  return _internal_has_color();
}
inline const ::mediapipe::Color& RenderAnnotation::_internal_color() const {
  const ::mediapipe::Color* p = color_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::Color&>(
      ::mediapipe::_Color_default_instance_);
}
inline const ::mediapipe::Color& RenderAnnotation::color() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.color)
  return _internal_color();
}
inline void RenderAnnotation::unsafe_arena_set_allocated_color(
    ::mediapipe::Color* color) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(color_);
  }
  color_ = color;
  if (color) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.RenderAnnotation.color)
}
inline ::mediapipe::Color* RenderAnnotation::release_color() {
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = color_;
  color_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation::unsafe_arena_release_color() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.color)
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::Color* temp = color_;
  color_ = nullptr;
  return temp;
}
inline ::mediapipe::Color* RenderAnnotation::_internal_mutable_color() {
  _has_bits_[0] |= 0x00000002u;
  if (color_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::Color>(GetArenaForAllocation());
    color_ = p;
  }
  return color_;
}
inline ::mediapipe::Color* RenderAnnotation::mutable_color() {
  ::mediapipe::Color* _msg = _internal_mutable_color();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.color)
  return _msg;
}
inline void RenderAnnotation::set_allocated_color(::mediapipe::Color* color) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(color_);
  }
  if (color) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(color));
    if (message_arena != submessage_arena) {
      color = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, color, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  color_ = color;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.color)
}

// optional string scene_tag = 13;
inline bool RenderAnnotation::_internal_has_scene_tag() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool RenderAnnotation::has_scene_tag() const {
  return _internal_has_scene_tag();
}
inline void RenderAnnotation::clear_scene_tag() {
  scene_tag_.ClearToEmpty();
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& RenderAnnotation::scene_tag() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderAnnotation.scene_tag)
  return _internal_scene_tag();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void RenderAnnotation::set_scene_tag(ArgT0&& arg0, ArgT... args) {
 _has_bits_[0] |= 0x00000001u;
 scene_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mediapipe.RenderAnnotation.scene_tag)
}
inline std::string* RenderAnnotation::mutable_scene_tag() {
  std::string* _s = _internal_mutable_scene_tag();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderAnnotation.scene_tag)
  return _s;
}
inline const std::string& RenderAnnotation::_internal_scene_tag() const {
  return scene_tag_.Get();
}
inline void RenderAnnotation::_internal_set_scene_tag(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  scene_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* RenderAnnotation::_internal_mutable_scene_tag() {
  _has_bits_[0] |= 0x00000001u;
  return scene_tag_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* RenderAnnotation::release_scene_tag() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderAnnotation.scene_tag)
  if (!_internal_has_scene_tag()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  auto* p = scene_tag_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (scene_tag_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    scene_tag_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void RenderAnnotation::set_allocated_scene_tag(std::string* scene_tag) {
  if (scene_tag != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  scene_tag_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), scene_tag,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (scene_tag_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    scene_tag_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderAnnotation.scene_tag)
}

inline bool RenderAnnotation::has_data() const {
  return data_case() != DATA_NOT_SET;
}
inline void RenderAnnotation::clear_has_data() {
  _oneof_case_[0] = DATA_NOT_SET;
}
inline RenderAnnotation::DataCase RenderAnnotation::data_case() const {
  return RenderAnnotation::DataCase(_oneof_case_[0]);
}
// -------------------------------------------------------------------

// RenderViewport

// optional string id = 1;
inline bool RenderViewport::_internal_has_id() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool RenderViewport::has_id() const {
  return _internal_has_id();
}
inline void RenderViewport::clear_id() {
  id_.ClearToEmpty();
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& RenderViewport::id() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderViewport.id)
  return _internal_id();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void RenderViewport::set_id(ArgT0&& arg0, ArgT... args) {
 _has_bits_[0] |= 0x00000001u;
 id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mediapipe.RenderViewport.id)
}
inline std::string* RenderViewport::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:mediapipe.RenderViewport.id)
  return _s;
}
inline const std::string& RenderViewport::_internal_id() const {
  return id_.Get();
}
inline void RenderViewport::_internal_set_id(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* RenderViewport::_internal_mutable_id() {
  _has_bits_[0] |= 0x00000001u;
  return id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* RenderViewport::release_id() {
  // @@protoc_insertion_point(field_release:mediapipe.RenderViewport.id)
  if (!_internal_has_id()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  auto* p = id_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (id_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    id_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void RenderViewport::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (id_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    id_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mediapipe.RenderViewport.id)
}

// optional int32 width_px = 2;
inline bool RenderViewport::_internal_has_width_px() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool RenderViewport::has_width_px() const {
  return _internal_has_width_px();
}
inline void RenderViewport::clear_width_px() {
  width_px_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline int32_t RenderViewport::_internal_width_px() const {
  return width_px_;
}
inline int32_t RenderViewport::width_px() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderViewport.width_px)
  return _internal_width_px();
}
inline void RenderViewport::_internal_set_width_px(int32_t value) {
  _has_bits_[0] |= 0x00000002u;
  width_px_ = value;
}
inline void RenderViewport::set_width_px(int32_t value) {
  _internal_set_width_px(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderViewport.width_px)
}

// optional int32 height_px = 3;
inline bool RenderViewport::_internal_has_height_px() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool RenderViewport::has_height_px() const {
  return _internal_has_height_px();
}
inline void RenderViewport::clear_height_px() {
  height_px_ = 0;
  _has_bits_[0] &= ~0x00000004u;
}
inline int32_t RenderViewport::_internal_height_px() const {
  return height_px_;
}
inline int32_t RenderViewport::height_px() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderViewport.height_px)
  return _internal_height_px();
}
inline void RenderViewport::_internal_set_height_px(int32_t value) {
  _has_bits_[0] |= 0x00000004u;
  height_px_ = value;
}
inline void RenderViewport::set_height_px(int32_t value) {
  _internal_set_height_px(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderViewport.height_px)
}

// optional bool compose_on_video = 4;
inline bool RenderViewport::_internal_has_compose_on_video() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool RenderViewport::has_compose_on_video() const {
  return _internal_has_compose_on_video();
}
inline void RenderViewport::clear_compose_on_video() {
  compose_on_video_ = false;
  _has_bits_[0] &= ~0x00000008u;
}
inline bool RenderViewport::_internal_compose_on_video() const {
  return compose_on_video_;
}
inline bool RenderViewport::compose_on_video() const {
  // @@protoc_insertion_point(field_get:mediapipe.RenderViewport.compose_on_video)
  return _internal_compose_on_video();
}
inline void RenderViewport::_internal_set_compose_on_video(bool value) {
  _has_bits_[0] |= 0x00000008u;
  compose_on_video_ = value;
}
inline void RenderViewport::set_compose_on_video(bool value) {
  _internal_set_compose_on_video(value);
  // @@protoc_insertion_point(field_set:mediapipe.RenderViewport.compose_on_video)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace mediapipe

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::mediapipe::RenderAnnotation_Line_LineType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::mediapipe::RenderAnnotation_Line_LineType>() {
  return ::mediapipe::RenderAnnotation_Line_LineType_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_mediapipe_2futil_2frender_5fdata_2eproto