// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/vc/v1/keyapis_vc_camera_dictionary_v1.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto_2epb_2eh

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

#include "google/protobuf/port_def.inc"
#if PROTOBUF_VERSION < 4023000
#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  // PROTOBUF_VERSION

#if 4023001 < 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  // PROTOBUF_MIN_PROTOC_VERSION
#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_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/api/annotations.pb.h"
#include "google/api/field_behavior.pb.h"
#include "google/protobuf/descriptor.pb.h"
#include "google/protobuf/wrappers.pb.h"
#include "google/protobuf/timestamp.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto

PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto {
  static const ::uint32_t offsets[];
};
namespace keyapis {
namespace vc {
namespace v1 {
class Category;
struct CategoryDefaultTypeInternal;
extern CategoryDefaultTypeInternal _Category_default_instance_;
class GetDictionaryCategoriesRequest;
struct GetDictionaryCategoriesRequestDefaultTypeInternal;
extern GetDictionaryCategoriesRequestDefaultTypeInternal _GetDictionaryCategoriesRequest_default_instance_;
class GetDictionaryCategoriesResponse;
struct GetDictionaryCategoriesResponseDefaultTypeInternal;
extern GetDictionaryCategoriesResponseDefaultTypeInternal _GetDictionaryCategoriesResponse_default_instance_;
class GetDictionaryCategoriesResponse_CameraCategories;
struct GetDictionaryCategoriesResponse_CameraCategoriesDefaultTypeInternal;
extern GetDictionaryCategoriesResponse_CameraCategoriesDefaultTypeInternal _GetDictionaryCategoriesResponse_CameraCategories_default_instance_;
class GetDictionaryCategoriesResponse_Error;
struct GetDictionaryCategoriesResponse_ErrorDefaultTypeInternal;
extern GetDictionaryCategoriesResponse_ErrorDefaultTypeInternal _GetDictionaryCategoriesResponse_Error_default_instance_;
class GetDictionaryRolesRequest;
struct GetDictionaryRolesRequestDefaultTypeInternal;
extern GetDictionaryRolesRequestDefaultTypeInternal _GetDictionaryRolesRequest_default_instance_;
class GetDictionaryRolesResponse;
struct GetDictionaryRolesResponseDefaultTypeInternal;
extern GetDictionaryRolesResponseDefaultTypeInternal _GetDictionaryRolesResponse_default_instance_;
class GetDictionaryRolesResponse_Error;
struct GetDictionaryRolesResponse_ErrorDefaultTypeInternal;
extern GetDictionaryRolesResponse_ErrorDefaultTypeInternal _GetDictionaryRolesResponse_Error_default_instance_;
class GetDictionaryRolesResponse_Roles;
struct GetDictionaryRolesResponse_RolesDefaultTypeInternal;
extern GetDictionaryRolesResponse_RolesDefaultTypeInternal _GetDictionaryRolesResponse_Roles_default_instance_;
class GetDictionaryTariffsRequest;
struct GetDictionaryTariffsRequestDefaultTypeInternal;
extern GetDictionaryTariffsRequestDefaultTypeInternal _GetDictionaryTariffsRequest_default_instance_;
class GetDictionaryTariffsResponse;
struct GetDictionaryTariffsResponseDefaultTypeInternal;
extern GetDictionaryTariffsResponseDefaultTypeInternal _GetDictionaryTariffsResponse_default_instance_;
class GetDictionaryTariffsResponse_CameraTariffs;
struct GetDictionaryTariffsResponse_CameraTariffsDefaultTypeInternal;
extern GetDictionaryTariffsResponse_CameraTariffsDefaultTypeInternal _GetDictionaryTariffsResponse_CameraTariffs_default_instance_;
class GetDictionaryTariffsResponse_Error;
struct GetDictionaryTariffsResponse_ErrorDefaultTypeInternal;
extern GetDictionaryTariffsResponse_ErrorDefaultTypeInternal _GetDictionaryTariffsResponse_Error_default_instance_;
class Role;
struct RoleDefaultTypeInternal;
extern RoleDefaultTypeInternal _Role_default_instance_;
class Tariff;
struct TariffDefaultTypeInternal;
extern TariffDefaultTypeInternal _Tariff_default_instance_;
class VcDictionaryError;
struct VcDictionaryErrorDefaultTypeInternal;
extern VcDictionaryErrorDefaultTypeInternal _VcDictionaryError_default_instance_;
class VcDictionaryError_Reason;
struct VcDictionaryError_ReasonDefaultTypeInternal;
extern VcDictionaryError_ReasonDefaultTypeInternal _VcDictionaryError_Reason_default_instance_;
}  // namespace v1
}  // namespace vc
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template <>
::keyapis::vc::v1::Category* Arena::CreateMaybeMessage<::keyapis::vc::v1::Category>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryCategoriesRequest* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryCategoriesRequest>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryCategoriesResponse* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryCategoriesResponse>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryRolesRequest* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryRolesRequest>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryRolesResponse* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryRolesResponse>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryRolesResponse_Error* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryRolesResponse_Error>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryRolesResponse_Roles>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryTariffsRequest* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryTariffsRequest>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryTariffsResponse* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryTariffsResponse>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs>(Arena*);
template <>
::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetDictionaryTariffsResponse_Error>(Arena*);
template <>
::keyapis::vc::v1::Role* Arena::CreateMaybeMessage<::keyapis::vc::v1::Role>(Arena*);
template <>
::keyapis::vc::v1::Tariff* Arena::CreateMaybeMessage<::keyapis::vc::v1::Tariff>(Arena*);
template <>
::keyapis::vc::v1::VcDictionaryError* Arena::CreateMaybeMessage<::keyapis::vc::v1::VcDictionaryError>(Arena*);
template <>
::keyapis::vc::v1::VcDictionaryError_Reason* Arena::CreateMaybeMessage<::keyapis::vc::v1::VcDictionaryError_Reason>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace keyapis {
namespace vc {
namespace v1 {

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


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

class Category final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.Category) */ {
 public:
  inline Category() : Category(nullptr) {}
  ~Category() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR Category(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline Category& operator=(const Category& from) {
    CopyFrom(from);
    return *this;
  }
  inline Category& operator=(Category&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const Category& default_instance() {
    return *internal_default_instance();
  }
  static inline const Category* internal_default_instance() {
    return reinterpret_cast<const Category*>(
               &_Category_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(Category& a, Category& b) {
    a.Swap(&b);
  }
  inline void Swap(Category* 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(Category* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Category* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Category>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Category& from);
  void MergeFrom(const Category& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Category* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.Category";
  }
  protected:
  explicit Category(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kTitleFieldNumber = 2,
    kKindFieldNumber = 3,
    kIdFieldNumber = 1,
  };
  // string title = 2;
  void clear_title() ;
  const std::string& title() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  std::string* mutable_title();
  PROTOBUF_NODISCARD std::string* release_title();
  void set_allocated_title(std::string* ptr);

  private:
  const std::string& _internal_title() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(
      const std::string& value);
  std::string* _internal_mutable_title();

  public:
  // string kind = 3;
  void clear_kind() ;
  const std::string& kind() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_kind(Arg_&& arg, Args_... args);
  std::string* mutable_kind();
  PROTOBUF_NODISCARD std::string* release_kind();
  void set_allocated_kind(std::string* ptr);

  private:
  const std::string& _internal_kind() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_kind(
      const std::string& value);
  std::string* _internal_mutable_kind();

  public:
  // int32 id = 1;
  void clear_id() ;
  ::int32_t id() const;
  void set_id(::int32_t value);

  private:
  ::int32_t _internal_id() const;
  void _internal_set_id(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.Category)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr kind_;
    ::int32_t id_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class Tariff final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.Tariff) */ {
 public:
  inline Tariff() : Tariff(nullptr) {}
  ~Tariff() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR Tariff(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline Tariff& operator=(const Tariff& from) {
    CopyFrom(from);
    return *this;
  }
  inline Tariff& operator=(Tariff&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const Tariff& default_instance() {
    return *internal_default_instance();
  }
  static inline const Tariff* internal_default_instance() {
    return reinterpret_cast<const Tariff*>(
               &_Tariff_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(Tariff& a, Tariff& b) {
    a.Swap(&b);
  }
  inline void Swap(Tariff* 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(Tariff* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Tariff* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Tariff>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Tariff& from);
  void MergeFrom(const Tariff& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Tariff* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.Tariff";
  }
  protected:
  explicit Tariff(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kTitleFieldNumber = 2,
    kSlugFieldNumber = 3,
    kStatusKindFieldNumber = 4,
    kFromAtFieldNumber = 5,
    kToAtFieldNumber = 6,
    kIdFieldNumber = 1,
  };
  // string title = 2;
  void clear_title() ;
  const std::string& title() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  std::string* mutable_title();
  PROTOBUF_NODISCARD std::string* release_title();
  void set_allocated_title(std::string* ptr);

  private:
  const std::string& _internal_title() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(
      const std::string& value);
  std::string* _internal_mutable_title();

  public:
  // string slug = 3;
  void clear_slug() ;
  const std::string& slug() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_slug(Arg_&& arg, Args_... args);
  std::string* mutable_slug();
  PROTOBUF_NODISCARD std::string* release_slug();
  void set_allocated_slug(std::string* ptr);

  private:
  const std::string& _internal_slug() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_slug(
      const std::string& value);
  std::string* _internal_mutable_slug();

  public:
  // string status_kind = 4;
  void clear_status_kind() ;
  const std::string& status_kind() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_status_kind(Arg_&& arg, Args_... args);
  std::string* mutable_status_kind();
  PROTOBUF_NODISCARD std::string* release_status_kind();
  void set_allocated_status_kind(std::string* ptr);

  private:
  const std::string& _internal_status_kind() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_status_kind(
      const std::string& value);
  std::string* _internal_mutable_status_kind();

  public:
  // .google.protobuf.Timestamp from_at = 5;
  bool has_from_at() const;
  void clear_from_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& from_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_from_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_from_at();
  void set_allocated_from_at(::PROTOBUF_NAMESPACE_ID::Timestamp* from_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_from_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_from_at();
  public:
  void unsafe_arena_set_allocated_from_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* from_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_from_at();
  // .google.protobuf.Timestamp to_at = 6;
  bool has_to_at() const;
  void clear_to_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& to_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_to_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_to_at();
  void set_allocated_to_at(::PROTOBUF_NAMESPACE_ID::Timestamp* to_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_to_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_to_at();
  public:
  void unsafe_arena_set_allocated_to_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* to_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_to_at();
  // int32 id = 1;
  void clear_id() ;
  ::int32_t id() const;
  void set_id(::int32_t value);

  private:
  ::int32_t _internal_id() const;
  void _internal_set_id(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.Tariff)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr slug_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr status_kind_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* from_at_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* to_at_;
    ::int32_t id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class Role final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.Role) */ {
 public:
  inline Role() : Role(nullptr) {}
  ~Role() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR Role(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline Role& operator=(const Role& from) {
    CopyFrom(from);
    return *this;
  }
  inline Role& operator=(Role&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const Role& default_instance() {
    return *internal_default_instance();
  }
  static inline const Role* internal_default_instance() {
    return reinterpret_cast<const Role*>(
               &_Role_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(Role& a, Role& b) {
    a.Swap(&b);
  }
  inline void Swap(Role* 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(Role* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Role* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Role>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Role& from);
  void MergeFrom(const Role& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Role* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.Role";
  }
  protected:
  explicit Role(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kPermissionsFieldNumber = 3,
    kTitleFieldNumber = 2,
    kIdFieldNumber = 1,
    kIsGlobalFieldNumber = 4,
  };
  // repeated string permissions = 3;
  int permissions_size() const;
  private:
  int _internal_permissions_size() const;

  public:
  void clear_permissions() ;
  const std::string& permissions(int index) const;
  std::string* mutable_permissions(int index);
  void set_permissions(int index, const std::string& value);
  void set_permissions(int index, std::string&& value);
  void set_permissions(int index, const char* value);
  void set_permissions(int index, const char* value, std::size_t size);
  void set_permissions(int index, absl::string_view value);
  std::string* add_permissions();
  void add_permissions(const std::string& value);
  void add_permissions(std::string&& value);
  void add_permissions(const char* value);
  void add_permissions(const char* value, std::size_t size);
  void add_permissions(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& permissions() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_permissions();

  private:
  const std::string& _internal_permissions(int index) const;
  std::string* _internal_add_permissions();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_permissions() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_permissions();

  public:
  // string title = 2;
  void clear_title() ;
  const std::string& title() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  std::string* mutable_title();
  PROTOBUF_NODISCARD std::string* release_title();
  void set_allocated_title(std::string* ptr);

  private:
  const std::string& _internal_title() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(
      const std::string& value);
  std::string* _internal_mutable_title();

  public:
  // int32 id = 1;
  void clear_id() ;
  ::int32_t id() const;
  void set_id(::int32_t value);

  private:
  ::int32_t _internal_id() const;
  void _internal_set_id(::int32_t value);

  public:
  // bool is_global = 4;
  void clear_is_global() ;
  bool is_global() const;
  void set_is_global(bool value);

  private:
  bool _internal_is_global() const;
  void _internal_set_is_global(bool value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.Role)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> permissions_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
    ::int32_t id_;
    bool is_global_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryCategoriesRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryCategoriesRequest) */ {
 public:
  inline GetDictionaryCategoriesRequest() : GetDictionaryCategoriesRequest(nullptr) {}
  ~GetDictionaryCategoriesRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryCategoriesRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryCategoriesRequest& operator=(const GetDictionaryCategoriesRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryCategoriesRequest& operator=(GetDictionaryCategoriesRequest&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryCategoriesRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetDictionaryCategoriesRequest* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryCategoriesRequest*>(
               &_GetDictionaryCategoriesRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(GetDictionaryCategoriesRequest& a, GetDictionaryCategoriesRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryCategoriesRequest* 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(GetDictionaryCategoriesRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryCategoriesRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryCategoriesRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryCategoriesRequest& from);
  void MergeFrom(const GetDictionaryCategoriesRequest& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryCategoriesRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryCategoriesRequest";
  }
  protected:
  explicit GetDictionaryCategoriesRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryCategoriesRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryCategoriesResponse_CameraCategories final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories) */ {
 public:
  inline GetDictionaryCategoriesResponse_CameraCategories() : GetDictionaryCategoriesResponse_CameraCategories(nullptr) {}
  ~GetDictionaryCategoriesResponse_CameraCategories() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryCategoriesResponse_CameraCategories(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryCategoriesResponse_CameraCategories& operator=(const GetDictionaryCategoriesResponse_CameraCategories& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryCategoriesResponse_CameraCategories& operator=(GetDictionaryCategoriesResponse_CameraCategories&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryCategoriesResponse_CameraCategories& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetDictionaryCategoriesResponse_CameraCategories* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryCategoriesResponse_CameraCategories*>(
               &_GetDictionaryCategoriesResponse_CameraCategories_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(GetDictionaryCategoriesResponse_CameraCategories& a, GetDictionaryCategoriesResponse_CameraCategories& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryCategoriesResponse_CameraCategories* 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(GetDictionaryCategoriesResponse_CameraCategories* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryCategoriesResponse_CameraCategories* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryCategoriesResponse_CameraCategories>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryCategoriesResponse_CameraCategories& from);
  void MergeFrom(const GetDictionaryCategoriesResponse_CameraCategories& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryCategoriesResponse_CameraCategories* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories";
  }
  protected:
  explicit GetDictionaryCategoriesResponse_CameraCategories(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCategoryFieldNumber = 1,
  };
  // repeated .keyapis.vc.v1.Category category = 1;
  int category_size() const;
  private:
  int _internal_category_size() const;

  public:
  void clear_category() ;
  ::keyapis::vc::v1::Category* mutable_category(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Category >*
      mutable_category();
  private:
  const ::keyapis::vc::v1::Category& _internal_category(int index) const;
  ::keyapis::vc::v1::Category* _internal_add_category();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Category>& _internal_category() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Category>* _internal_mutable_category();
  public:
  const ::keyapis::vc::v1::Category& category(int index) const;
  ::keyapis::vc::v1::Category* add_category();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Category >&
      category() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Category > category_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryCategoriesResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryCategoriesResponse.Error) */ {
 public:
  inline GetDictionaryCategoriesResponse_Error() : GetDictionaryCategoriesResponse_Error(nullptr) {}
  ~GetDictionaryCategoriesResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryCategoriesResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryCategoriesResponse_Error& operator=(const GetDictionaryCategoriesResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryCategoriesResponse_Error& operator=(GetDictionaryCategoriesResponse_Error&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryCategoriesResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kVcDictionaryError = 1,
    REASON_NOT_SET = 0,
  };

  static inline const GetDictionaryCategoriesResponse_Error* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryCategoriesResponse_Error*>(
               &_GetDictionaryCategoriesResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(GetDictionaryCategoriesResponse_Error& a, GetDictionaryCategoriesResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryCategoriesResponse_Error* 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(GetDictionaryCategoriesResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryCategoriesResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryCategoriesResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryCategoriesResponse_Error& from);
  void MergeFrom(const GetDictionaryCategoriesResponse_Error& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryCategoriesResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryCategoriesResponse.Error";
  }
  protected:
  explicit GetDictionaryCategoriesResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kVcDictionaryErrorFieldNumber = 1,
  };
  // .keyapis.vc.v1.VcDictionaryError vc_dictionary_error = 1;
  bool has_vc_dictionary_error() const;
  private:
  bool _internal_has_vc_dictionary_error() const;

  public:
  void clear_vc_dictionary_error() ;
  const ::keyapis::vc::v1::VcDictionaryError& vc_dictionary_error() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::VcDictionaryError* release_vc_dictionary_error();
  ::keyapis::vc::v1::VcDictionaryError* mutable_vc_dictionary_error();
  void set_allocated_vc_dictionary_error(::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error);
  private:
  const ::keyapis::vc::v1::VcDictionaryError& _internal_vc_dictionary_error() const;
  ::keyapis::vc::v1::VcDictionaryError* _internal_mutable_vc_dictionary_error();
  public:
  void unsafe_arena_set_allocated_vc_dictionary_error(
      ::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error);
  ::keyapis::vc::v1::VcDictionaryError* unsafe_arena_release_vc_dictionary_error();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryCategoriesResponse.Error)
 private:
  class _Internal;
  void set_has_vc_dictionary_error();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryCategoriesResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryCategoriesResponse) */ {
 public:
  inline GetDictionaryCategoriesResponse() : GetDictionaryCategoriesResponse(nullptr) {}
  ~GetDictionaryCategoriesResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryCategoriesResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryCategoriesResponse& operator=(const GetDictionaryCategoriesResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryCategoriesResponse& operator=(GetDictionaryCategoriesResponse&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryCategoriesResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

  static inline const GetDictionaryCategoriesResponse* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryCategoriesResponse*>(
               &_GetDictionaryCategoriesResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(GetDictionaryCategoriesResponse& a, GetDictionaryCategoriesResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryCategoriesResponse* 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(GetDictionaryCategoriesResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryCategoriesResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryCategoriesResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryCategoriesResponse& from);
  void MergeFrom(const GetDictionaryCategoriesResponse& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryCategoriesResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryCategoriesResponse";
  }
  protected:
  explicit GetDictionaryCategoriesResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

  typedef GetDictionaryCategoriesResponse_CameraCategories CameraCategories;
  typedef GetDictionaryCategoriesResponse_Error Error;

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

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories& data() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* release_data();
  ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* mutable_data();
  void set_allocated_data(::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* data);
  private:
  const ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories& _internal_data() const;
  ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* data);
  ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* unsafe_arena_release_data();
  // .keyapis.vc.v1.GetDictionaryCategoriesResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* release_error();
  ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* error);
  private:
  const ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error& _internal_error() const;
  ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* error);
  ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryCategoriesResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* data_;
      ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryTariffsRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryTariffsRequest) */ {
 public:
  inline GetDictionaryTariffsRequest() : GetDictionaryTariffsRequest(nullptr) {}
  ~GetDictionaryTariffsRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryTariffsRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryTariffsRequest& operator=(const GetDictionaryTariffsRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryTariffsRequest& operator=(GetDictionaryTariffsRequest&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryTariffsRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetDictionaryTariffsRequest* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryTariffsRequest*>(
               &_GetDictionaryTariffsRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(GetDictionaryTariffsRequest& a, GetDictionaryTariffsRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryTariffsRequest* 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(GetDictionaryTariffsRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryTariffsRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryTariffsRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryTariffsRequest& from);
  void MergeFrom(const GetDictionaryTariffsRequest& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryTariffsRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryTariffsRequest";
  }
  protected:
  explicit GetDictionaryTariffsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryTariffsRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryTariffsResponse_CameraTariffs final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs) */ {
 public:
  inline GetDictionaryTariffsResponse_CameraTariffs() : GetDictionaryTariffsResponse_CameraTariffs(nullptr) {}
  ~GetDictionaryTariffsResponse_CameraTariffs() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryTariffsResponse_CameraTariffs(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryTariffsResponse_CameraTariffs& operator=(const GetDictionaryTariffsResponse_CameraTariffs& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryTariffsResponse_CameraTariffs& operator=(GetDictionaryTariffsResponse_CameraTariffs&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryTariffsResponse_CameraTariffs& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetDictionaryTariffsResponse_CameraTariffs* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryTariffsResponse_CameraTariffs*>(
               &_GetDictionaryTariffsResponse_CameraTariffs_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(GetDictionaryTariffsResponse_CameraTariffs& a, GetDictionaryTariffsResponse_CameraTariffs& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryTariffsResponse_CameraTariffs* 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(GetDictionaryTariffsResponse_CameraTariffs* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryTariffsResponse_CameraTariffs* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryTariffsResponse_CameraTariffs>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryTariffsResponse_CameraTariffs& from);
  void MergeFrom(const GetDictionaryTariffsResponse_CameraTariffs& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryTariffsResponse_CameraTariffs* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs";
  }
  protected:
  explicit GetDictionaryTariffsResponse_CameraTariffs(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kTariffFieldNumber = 1,
  };
  // repeated .keyapis.vc.v1.Tariff tariff = 1;
  int tariff_size() const;
  private:
  int _internal_tariff_size() const;

  public:
  void clear_tariff() ;
  ::keyapis::vc::v1::Tariff* mutable_tariff(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Tariff >*
      mutable_tariff();
  private:
  const ::keyapis::vc::v1::Tariff& _internal_tariff(int index) const;
  ::keyapis::vc::v1::Tariff* _internal_add_tariff();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Tariff>& _internal_tariff() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Tariff>* _internal_mutable_tariff();
  public:
  const ::keyapis::vc::v1::Tariff& tariff(int index) const;
  ::keyapis::vc::v1::Tariff* add_tariff();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Tariff >&
      tariff() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Tariff > tariff_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryTariffsResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryTariffsResponse.Error) */ {
 public:
  inline GetDictionaryTariffsResponse_Error() : GetDictionaryTariffsResponse_Error(nullptr) {}
  ~GetDictionaryTariffsResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryTariffsResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryTariffsResponse_Error& operator=(const GetDictionaryTariffsResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryTariffsResponse_Error& operator=(GetDictionaryTariffsResponse_Error&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryTariffsResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kVcDictionaryError = 1,
    REASON_NOT_SET = 0,
  };

  static inline const GetDictionaryTariffsResponse_Error* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryTariffsResponse_Error*>(
               &_GetDictionaryTariffsResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(GetDictionaryTariffsResponse_Error& a, GetDictionaryTariffsResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryTariffsResponse_Error* 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(GetDictionaryTariffsResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryTariffsResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryTariffsResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryTariffsResponse_Error& from);
  void MergeFrom(const GetDictionaryTariffsResponse_Error& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryTariffsResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryTariffsResponse.Error";
  }
  protected:
  explicit GetDictionaryTariffsResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kVcDictionaryErrorFieldNumber = 1,
  };
  // .keyapis.vc.v1.VcDictionaryError vc_dictionary_error = 1;
  bool has_vc_dictionary_error() const;
  private:
  bool _internal_has_vc_dictionary_error() const;

  public:
  void clear_vc_dictionary_error() ;
  const ::keyapis::vc::v1::VcDictionaryError& vc_dictionary_error() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::VcDictionaryError* release_vc_dictionary_error();
  ::keyapis::vc::v1::VcDictionaryError* mutable_vc_dictionary_error();
  void set_allocated_vc_dictionary_error(::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error);
  private:
  const ::keyapis::vc::v1::VcDictionaryError& _internal_vc_dictionary_error() const;
  ::keyapis::vc::v1::VcDictionaryError* _internal_mutable_vc_dictionary_error();
  public:
  void unsafe_arena_set_allocated_vc_dictionary_error(
      ::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error);
  ::keyapis::vc::v1::VcDictionaryError* unsafe_arena_release_vc_dictionary_error();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryTariffsResponse.Error)
 private:
  class _Internal;
  void set_has_vc_dictionary_error();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryTariffsResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryTariffsResponse) */ {
 public:
  inline GetDictionaryTariffsResponse() : GetDictionaryTariffsResponse(nullptr) {}
  ~GetDictionaryTariffsResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryTariffsResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryTariffsResponse& operator=(const GetDictionaryTariffsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryTariffsResponse& operator=(GetDictionaryTariffsResponse&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryTariffsResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

  static inline const GetDictionaryTariffsResponse* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryTariffsResponse*>(
               &_GetDictionaryTariffsResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(GetDictionaryTariffsResponse& a, GetDictionaryTariffsResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryTariffsResponse* 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(GetDictionaryTariffsResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryTariffsResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryTariffsResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryTariffsResponse& from);
  void MergeFrom(const GetDictionaryTariffsResponse& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryTariffsResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryTariffsResponse";
  }
  protected:
  explicit GetDictionaryTariffsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

  typedef GetDictionaryTariffsResponse_CameraTariffs CameraTariffs;
  typedef GetDictionaryTariffsResponse_Error Error;

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

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs& data() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* release_data();
  ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* mutable_data();
  void set_allocated_data(::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* data);
  private:
  const ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs& _internal_data() const;
  ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* data);
  ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* unsafe_arena_release_data();
  // .keyapis.vc.v1.GetDictionaryTariffsResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* release_error();
  ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* error);
  private:
  const ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error& _internal_error() const;
  ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* error);
  ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryTariffsResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* data_;
      ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryRolesRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryRolesRequest) */ {
 public:
  inline GetDictionaryRolesRequest() : GetDictionaryRolesRequest(nullptr) {}
  ~GetDictionaryRolesRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryRolesRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryRolesRequest& operator=(const GetDictionaryRolesRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryRolesRequest& operator=(GetDictionaryRolesRequest&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryRolesRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetDictionaryRolesRequest* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryRolesRequest*>(
               &_GetDictionaryRolesRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(GetDictionaryRolesRequest& a, GetDictionaryRolesRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryRolesRequest* 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(GetDictionaryRolesRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryRolesRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryRolesRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryRolesRequest& from);
  void MergeFrom(const GetDictionaryRolesRequest& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryRolesRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryRolesRequest";
  }
  protected:
  explicit GetDictionaryRolesRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryRolesRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryRolesResponse_Roles final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryRolesResponse.Roles) */ {
 public:
  inline GetDictionaryRolesResponse_Roles() : GetDictionaryRolesResponse_Roles(nullptr) {}
  ~GetDictionaryRolesResponse_Roles() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryRolesResponse_Roles(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryRolesResponse_Roles& operator=(const GetDictionaryRolesResponse_Roles& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryRolesResponse_Roles& operator=(GetDictionaryRolesResponse_Roles&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryRolesResponse_Roles& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetDictionaryRolesResponse_Roles* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryRolesResponse_Roles*>(
               &_GetDictionaryRolesResponse_Roles_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(GetDictionaryRolesResponse_Roles& a, GetDictionaryRolesResponse_Roles& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryRolesResponse_Roles* 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(GetDictionaryRolesResponse_Roles* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryRolesResponse_Roles* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryRolesResponse_Roles>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryRolesResponse_Roles& from);
  void MergeFrom(const GetDictionaryRolesResponse_Roles& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryRolesResponse_Roles* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryRolesResponse.Roles";
  }
  protected:
  explicit GetDictionaryRolesResponse_Roles(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kRolesFieldNumber = 1,
  };
  // repeated .keyapis.vc.v1.Role roles = 1;
  int roles_size() const;
  private:
  int _internal_roles_size() const;

  public:
  void clear_roles() ;
  ::keyapis::vc::v1::Role* mutable_roles(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Role >*
      mutable_roles();
  private:
  const ::keyapis::vc::v1::Role& _internal_roles(int index) const;
  ::keyapis::vc::v1::Role* _internal_add_roles();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Role>& _internal_roles() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Role>* _internal_mutable_roles();
  public:
  const ::keyapis::vc::v1::Role& roles(int index) const;
  ::keyapis::vc::v1::Role* add_roles();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Role >&
      roles() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryRolesResponse.Roles)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Role > roles_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryRolesResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryRolesResponse.Error) */ {
 public:
  inline GetDictionaryRolesResponse_Error() : GetDictionaryRolesResponse_Error(nullptr) {}
  ~GetDictionaryRolesResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryRolesResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryRolesResponse_Error& operator=(const GetDictionaryRolesResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryRolesResponse_Error& operator=(GetDictionaryRolesResponse_Error&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryRolesResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kVcDictionaryError = 1,
    REASON_NOT_SET = 0,
  };

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

  friend void swap(GetDictionaryRolesResponse_Error& a, GetDictionaryRolesResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryRolesResponse_Error* 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(GetDictionaryRolesResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryRolesResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryRolesResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryRolesResponse_Error& from);
  void MergeFrom(const GetDictionaryRolesResponse_Error& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryRolesResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryRolesResponse.Error";
  }
  protected:
  explicit GetDictionaryRolesResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kVcDictionaryErrorFieldNumber = 1,
  };
  // .keyapis.vc.v1.VcDictionaryError vc_dictionary_error = 1;
  bool has_vc_dictionary_error() const;
  private:
  bool _internal_has_vc_dictionary_error() const;

  public:
  void clear_vc_dictionary_error() ;
  const ::keyapis::vc::v1::VcDictionaryError& vc_dictionary_error() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::VcDictionaryError* release_vc_dictionary_error();
  ::keyapis::vc::v1::VcDictionaryError* mutable_vc_dictionary_error();
  void set_allocated_vc_dictionary_error(::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error);
  private:
  const ::keyapis::vc::v1::VcDictionaryError& _internal_vc_dictionary_error() const;
  ::keyapis::vc::v1::VcDictionaryError* _internal_mutable_vc_dictionary_error();
  public:
  void unsafe_arena_set_allocated_vc_dictionary_error(
      ::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error);
  ::keyapis::vc::v1::VcDictionaryError* unsafe_arena_release_vc_dictionary_error();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryRolesResponse.Error)
 private:
  class _Internal;
  void set_has_vc_dictionary_error();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetDictionaryRolesResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetDictionaryRolesResponse) */ {
 public:
  inline GetDictionaryRolesResponse() : GetDictionaryRolesResponse(nullptr) {}
  ~GetDictionaryRolesResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetDictionaryRolesResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline GetDictionaryRolesResponse& operator=(const GetDictionaryRolesResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDictionaryRolesResponse& operator=(GetDictionaryRolesResponse&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetDictionaryRolesResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

  static inline const GetDictionaryRolesResponse* internal_default_instance() {
    return reinterpret_cast<const GetDictionaryRolesResponse*>(
               &_GetDictionaryRolesResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

  friend void swap(GetDictionaryRolesResponse& a, GetDictionaryRolesResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDictionaryRolesResponse* 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(GetDictionaryRolesResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetDictionaryRolesResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetDictionaryRolesResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetDictionaryRolesResponse& from);
  void MergeFrom(const GetDictionaryRolesResponse& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetDictionaryRolesResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetDictionaryRolesResponse";
  }
  protected:
  explicit GetDictionaryRolesResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

  typedef GetDictionaryRolesResponse_Roles Roles;
  typedef GetDictionaryRolesResponse_Error Error;

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

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.vc.v1.GetDictionaryRolesResponse.Roles data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles& data() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* release_data();
  ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* mutable_data();
  void set_allocated_data(::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* data);
  private:
  const ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles& _internal_data() const;
  ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* data);
  ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* unsafe_arena_release_data();
  // .keyapis.vc.v1.GetDictionaryRolesResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::vc::v1::GetDictionaryRolesResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* release_error();
  ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::vc::v1::GetDictionaryRolesResponse_Error* error);
  private:
  const ::keyapis::vc::v1::GetDictionaryRolesResponse_Error& _internal_error() const;
  ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* error);
  ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetDictionaryRolesResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* data_;
      ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class VcDictionaryError_Reason final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.VcDictionaryError.Reason) */ {
 public:
  inline VcDictionaryError_Reason() : VcDictionaryError_Reason(nullptr) {}
  ~VcDictionaryError_Reason() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR VcDictionaryError_Reason(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline VcDictionaryError_Reason& operator=(const VcDictionaryError_Reason& from) {
    CopyFrom(from);
    return *this;
  }
  inline VcDictionaryError_Reason& operator=(VcDictionaryError_Reason&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const VcDictionaryError_Reason& default_instance() {
    return *internal_default_instance();
  }
  static inline const VcDictionaryError_Reason* internal_default_instance() {
    return reinterpret_cast<const VcDictionaryError_Reason*>(
               &_VcDictionaryError_Reason_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    15;

  friend void swap(VcDictionaryError_Reason& a, VcDictionaryError_Reason& b) {
    a.Swap(&b);
  }
  inline void Swap(VcDictionaryError_Reason* 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(VcDictionaryError_Reason* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  VcDictionaryError_Reason* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<VcDictionaryError_Reason>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const VcDictionaryError_Reason& from);
  void MergeFrom(const VcDictionaryError_Reason& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(VcDictionaryError_Reason* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.VcDictionaryError.Reason";
  }
  protected:
  explicit VcDictionaryError_Reason(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kMessageFieldNumber = 1,
  };
  // string message = 1;
  void clear_message() ;
  const std::string& message() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_message(Arg_&& arg, Args_... args);
  std::string* mutable_message();
  PROTOBUF_NODISCARD std::string* release_message();
  void set_allocated_message(std::string* ptr);

  private:
  const std::string& _internal_message() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_message(
      const std::string& value);
  std::string* _internal_mutable_message();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.VcDictionaryError.Reason)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr message_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};// -------------------------------------------------------------------

class VcDictionaryError final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.VcDictionaryError) */ {
 public:
  inline VcDictionaryError() : VcDictionaryError(nullptr) {}
  ~VcDictionaryError() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR VcDictionaryError(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

  inline VcDictionaryError& operator=(const VcDictionaryError& from) {
    CopyFrom(from);
    return *this;
  }
  inline VcDictionaryError& operator=(VcDictionaryError&& 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 std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const VcDictionaryError& default_instance() {
    return *internal_default_instance();
  }
  static inline const VcDictionaryError* internal_default_instance() {
    return reinterpret_cast<const VcDictionaryError*>(
               &_VcDictionaryError_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    16;

  friend void swap(VcDictionaryError& a, VcDictionaryError& b) {
    a.Swap(&b);
  }
  inline void Swap(VcDictionaryError* 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(VcDictionaryError* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  VcDictionaryError* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<VcDictionaryError>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const VcDictionaryError& from);
  void MergeFrom(const VcDictionaryError& from);
  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 _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(VcDictionaryError* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.VcDictionaryError";
  }
  protected:
  explicit VcDictionaryError(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

  typedef VcDictionaryError_Reason Reason;

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

  enum : int {
    kReasonsFieldNumber = 4,
    kServiceFieldNumber = 1,
    kProductFieldNumber = 2,
    kMessageFieldNumber = 3,
  };
  // repeated .keyapis.vc.v1.VcDictionaryError.Reason reasons = 4;
  int reasons_size() const;
  private:
  int _internal_reasons_size() const;

  public:
  void clear_reasons() ;
  ::keyapis::vc::v1::VcDictionaryError_Reason* mutable_reasons(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::VcDictionaryError_Reason >*
      mutable_reasons();
  private:
  const ::keyapis::vc::v1::VcDictionaryError_Reason& _internal_reasons(int index) const;
  ::keyapis::vc::v1::VcDictionaryError_Reason* _internal_add_reasons();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::VcDictionaryError_Reason>& _internal_reasons() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::VcDictionaryError_Reason>* _internal_mutable_reasons();
  public:
  const ::keyapis::vc::v1::VcDictionaryError_Reason& reasons(int index) const;
  ::keyapis::vc::v1::VcDictionaryError_Reason* add_reasons();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::VcDictionaryError_Reason >&
      reasons() const;
  // string service = 1;
  void clear_service() ;
  const std::string& service() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_service(Arg_&& arg, Args_... args);
  std::string* mutable_service();
  PROTOBUF_NODISCARD std::string* release_service();
  void set_allocated_service(std::string* ptr);

  private:
  const std::string& _internal_service() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_service(
      const std::string& value);
  std::string* _internal_mutable_service();

  public:
  // string product = 2;
  void clear_product() ;
  const std::string& product() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_product(Arg_&& arg, Args_... args);
  std::string* mutable_product();
  PROTOBUF_NODISCARD std::string* release_product();
  void set_allocated_product(std::string* ptr);

  private:
  const std::string& _internal_product() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_product(
      const std::string& value);
  std::string* _internal_mutable_product();

  public:
  // string message = 3;
  void clear_message() ;
  const std::string& message() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_message(Arg_&& arg, Args_... args);
  std::string* mutable_message();
  PROTOBUF_NODISCARD std::string* release_message();
  void set_allocated_message(std::string* ptr);

  private:
  const std::string& _internal_message() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_message(
      const std::string& value);
  std::string* _internal_mutable_message();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.VcDictionaryError)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::VcDictionaryError_Reason > reasons_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr service_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr product_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr message_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto;
};

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




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


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

// Category

// int32 id = 1;
inline void Category::clear_id() {
  _impl_.id_ = 0;
}
inline ::int32_t Category::id() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Category.id)
  return _internal_id();
}
inline void Category::set_id(::int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Category.id)
}
inline ::int32_t Category::_internal_id() const {
  return _impl_.id_;
}
inline void Category::_internal_set_id(::int32_t value) {
  ;
  _impl_.id_ = value;
}

// string title = 2;
inline void Category::clear_title() {
  _impl_.title_.ClearToEmpty();
}
inline const std::string& Category::title() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Category.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Category::set_title(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Category.title)
}
inline std::string* Category::mutable_title() {
  std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Category.title)
  return _s;
}
inline const std::string& Category::_internal_title() const {
  return _impl_.title_.Get();
}
inline void Category::_internal_set_title(const std::string& value) {
  ;


  _impl_.title_.Set(value, GetArenaForAllocation());
}
inline std::string* Category::_internal_mutable_title() {
  ;
  return _impl_.title_.Mutable( GetArenaForAllocation());
}
inline std::string* Category::release_title() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.Category.title)
  return _impl_.title_.Release();
}
inline void Category::set_allocated_title(std::string* value) {
  _impl_.title_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.title_.IsDefault()) {
          _impl_.title_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Category.title)
}

// string kind = 3;
inline void Category::clear_kind() {
  _impl_.kind_.ClearToEmpty();
}
inline const std::string& Category::kind() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Category.kind)
  return _internal_kind();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Category::set_kind(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.kind_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Category.kind)
}
inline std::string* Category::mutable_kind() {
  std::string* _s = _internal_mutable_kind();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Category.kind)
  return _s;
}
inline const std::string& Category::_internal_kind() const {
  return _impl_.kind_.Get();
}
inline void Category::_internal_set_kind(const std::string& value) {
  ;


  _impl_.kind_.Set(value, GetArenaForAllocation());
}
inline std::string* Category::_internal_mutable_kind() {
  ;
  return _impl_.kind_.Mutable( GetArenaForAllocation());
}
inline std::string* Category::release_kind() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.Category.kind)
  return _impl_.kind_.Release();
}
inline void Category::set_allocated_kind(std::string* value) {
  _impl_.kind_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.kind_.IsDefault()) {
          _impl_.kind_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Category.kind)
}

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

// Tariff

// int32 id = 1;
inline void Tariff::clear_id() {
  _impl_.id_ = 0;
}
inline ::int32_t Tariff::id() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Tariff.id)
  return _internal_id();
}
inline void Tariff::set_id(::int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Tariff.id)
}
inline ::int32_t Tariff::_internal_id() const {
  return _impl_.id_;
}
inline void Tariff::_internal_set_id(::int32_t value) {
  ;
  _impl_.id_ = value;
}

// string title = 2;
inline void Tariff::clear_title() {
  _impl_.title_.ClearToEmpty();
}
inline const std::string& Tariff::title() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Tariff.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Tariff::set_title(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Tariff.title)
}
inline std::string* Tariff::mutable_title() {
  std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Tariff.title)
  return _s;
}
inline const std::string& Tariff::_internal_title() const {
  return _impl_.title_.Get();
}
inline void Tariff::_internal_set_title(const std::string& value) {
  ;


  _impl_.title_.Set(value, GetArenaForAllocation());
}
inline std::string* Tariff::_internal_mutable_title() {
  ;
  return _impl_.title_.Mutable( GetArenaForAllocation());
}
inline std::string* Tariff::release_title() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.Tariff.title)
  return _impl_.title_.Release();
}
inline void Tariff::set_allocated_title(std::string* value) {
  _impl_.title_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.title_.IsDefault()) {
          _impl_.title_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Tariff.title)
}

// string slug = 3;
inline void Tariff::clear_slug() {
  _impl_.slug_.ClearToEmpty();
}
inline const std::string& Tariff::slug() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Tariff.slug)
  return _internal_slug();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Tariff::set_slug(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.slug_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Tariff.slug)
}
inline std::string* Tariff::mutable_slug() {
  std::string* _s = _internal_mutable_slug();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Tariff.slug)
  return _s;
}
inline const std::string& Tariff::_internal_slug() const {
  return _impl_.slug_.Get();
}
inline void Tariff::_internal_set_slug(const std::string& value) {
  ;


  _impl_.slug_.Set(value, GetArenaForAllocation());
}
inline std::string* Tariff::_internal_mutable_slug() {
  ;
  return _impl_.slug_.Mutable( GetArenaForAllocation());
}
inline std::string* Tariff::release_slug() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.Tariff.slug)
  return _impl_.slug_.Release();
}
inline void Tariff::set_allocated_slug(std::string* value) {
  _impl_.slug_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.slug_.IsDefault()) {
          _impl_.slug_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Tariff.slug)
}

// string status_kind = 4;
inline void Tariff::clear_status_kind() {
  _impl_.status_kind_.ClearToEmpty();
}
inline const std::string& Tariff::status_kind() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Tariff.status_kind)
  return _internal_status_kind();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Tariff::set_status_kind(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.status_kind_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Tariff.status_kind)
}
inline std::string* Tariff::mutable_status_kind() {
  std::string* _s = _internal_mutable_status_kind();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Tariff.status_kind)
  return _s;
}
inline const std::string& Tariff::_internal_status_kind() const {
  return _impl_.status_kind_.Get();
}
inline void Tariff::_internal_set_status_kind(const std::string& value) {
  ;


  _impl_.status_kind_.Set(value, GetArenaForAllocation());
}
inline std::string* Tariff::_internal_mutable_status_kind() {
  ;
  return _impl_.status_kind_.Mutable( GetArenaForAllocation());
}
inline std::string* Tariff::release_status_kind() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.Tariff.status_kind)
  return _impl_.status_kind_.Release();
}
inline void Tariff::set_allocated_status_kind(std::string* value) {
  _impl_.status_kind_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.status_kind_.IsDefault()) {
          _impl_.status_kind_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Tariff.status_kind)
}

// .google.protobuf.Timestamp from_at = 5;
inline bool Tariff::has_from_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.from_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& Tariff::_internal_from_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.from_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& Tariff::from_at() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Tariff.from_at)
  return _internal_from_at();
}
inline void Tariff::unsafe_arena_set_allocated_from_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* from_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.from_at_);
  }
  _impl_.from_at_ = from_at;
  if (from_at) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.Tariff.from_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Tariff::release_from_at() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.from_at_;
  _impl_.from_at_ = 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 ::PROTOBUF_NAMESPACE_ID::Timestamp* Tariff::unsafe_arena_release_from_at() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.Tariff.from_at)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.from_at_;
  _impl_.from_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Tariff::_internal_mutable_from_at() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.from_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.from_at_ = p;
  }
  return _impl_.from_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Tariff::mutable_from_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_from_at();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Tariff.from_at)
  return _msg;
}
inline void Tariff::set_allocated_from_at(::PROTOBUF_NAMESPACE_ID::Timestamp* from_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.from_at_);
  }
  if (from_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(from_at));
    if (message_arena != submessage_arena) {
      from_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, from_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.from_at_ = from_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Tariff.from_at)
}

// .google.protobuf.Timestamp to_at = 6;
inline bool Tariff::has_to_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.to_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& Tariff::_internal_to_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.to_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& Tariff::to_at() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Tariff.to_at)
  return _internal_to_at();
}
inline void Tariff::unsafe_arena_set_allocated_to_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* to_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.to_at_);
  }
  _impl_.to_at_ = to_at;
  if (to_at) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.Tariff.to_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Tariff::release_to_at() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.to_at_;
  _impl_.to_at_ = 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 ::PROTOBUF_NAMESPACE_ID::Timestamp* Tariff::unsafe_arena_release_to_at() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.Tariff.to_at)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.to_at_;
  _impl_.to_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Tariff::_internal_mutable_to_at() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.to_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.to_at_ = p;
  }
  return _impl_.to_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Tariff::mutable_to_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_to_at();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Tariff.to_at)
  return _msg;
}
inline void Tariff::set_allocated_to_at(::PROTOBUF_NAMESPACE_ID::Timestamp* to_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.to_at_);
  }
  if (to_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(to_at));
    if (message_arena != submessage_arena) {
      to_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, to_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.to_at_ = to_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Tariff.to_at)
}

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

// Role

// int32 id = 1;
inline void Role::clear_id() {
  _impl_.id_ = 0;
}
inline ::int32_t Role::id() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Role.id)
  return _internal_id();
}
inline void Role::set_id(::int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Role.id)
}
inline ::int32_t Role::_internal_id() const {
  return _impl_.id_;
}
inline void Role::_internal_set_id(::int32_t value) {
  ;
  _impl_.id_ = value;
}

// string title = 2;
inline void Role::clear_title() {
  _impl_.title_.ClearToEmpty();
}
inline const std::string& Role::title() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Role.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Role::set_title(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Role.title)
}
inline std::string* Role::mutable_title() {
  std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Role.title)
  return _s;
}
inline const std::string& Role::_internal_title() const {
  return _impl_.title_.Get();
}
inline void Role::_internal_set_title(const std::string& value) {
  ;


  _impl_.title_.Set(value, GetArenaForAllocation());
}
inline std::string* Role::_internal_mutable_title() {
  ;
  return _impl_.title_.Mutable( GetArenaForAllocation());
}
inline std::string* Role::release_title() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.Role.title)
  return _impl_.title_.Release();
}
inline void Role::set_allocated_title(std::string* value) {
  _impl_.title_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.title_.IsDefault()) {
          _impl_.title_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Role.title)
}

// repeated string permissions = 3;
inline int Role::_internal_permissions_size() const {
  return _impl_.permissions_.size();
}
inline int Role::permissions_size() const {
  return _internal_permissions_size();
}
inline void Role::clear_permissions() {
  _internal_mutable_permissions()->Clear();
}
inline std::string* Role::add_permissions() {
  std::string* _s = _internal_add_permissions();
  // @@protoc_insertion_point(field_add_mutable:keyapis.vc.v1.Role.permissions)
  return _s;
}
inline const std::string& Role::permissions(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Role.permissions)
  return _internal_permissions(index);
}
inline std::string* Role::mutable_permissions(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.Role.permissions)
  return _internal_mutable_permissions()->Mutable(index);
}
inline void Role::set_permissions(int index, const std::string& value) {
  _internal_mutable_permissions()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Role.permissions)
}
inline void Role::set_permissions(int index, std::string&& value) {
  _internal_mutable_permissions()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Role.permissions)
}
inline void Role::set_permissions(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_permissions()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.vc.v1.Role.permissions)
}
inline void Role::set_permissions(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_permissions()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.vc.v1.Role.permissions)
}
inline void Role::set_permissions(int index, absl::string_view value) {
  _internal_mutable_permissions()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.vc.v1.Role.permissions)
}
inline void Role::add_permissions(const std::string& value) {
  _internal_mutable_permissions()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.Role.permissions)
}
inline void Role::add_permissions(std::string&& value) {
  _internal_mutable_permissions()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.Role.permissions)
}
inline void Role::add_permissions(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_permissions()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.vc.v1.Role.permissions)
}
inline void Role::add_permissions(const char* value, std::size_t size) {
  _internal_mutable_permissions()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.vc.v1.Role.permissions)
}
inline void Role::add_permissions(absl::string_view value) {
  _internal_mutable_permissions()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.vc.v1.Role.permissions)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Role::permissions() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.Role.permissions)
  return _internal_permissions();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* Role::mutable_permissions() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.Role.permissions)
  return _internal_mutable_permissions();
}
inline const std::string& Role::_internal_permissions(int index) const {
  return _internal_permissions().Get(index);
}
inline std::string* Role::_internal_add_permissions() {
  return _internal_mutable_permissions()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Role::_internal_permissions() const {
  return _impl_.permissions_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Role::_internal_mutable_permissions() {
  return &_impl_.permissions_;
}

// bool is_global = 4;
inline void Role::clear_is_global() {
  _impl_.is_global_ = false;
}
inline bool Role::is_global() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.Role.is_global)
  return _internal_is_global();
}
inline void Role::set_is_global(bool value) {
  _internal_set_is_global(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.Role.is_global)
}
inline bool Role::_internal_is_global() const {
  return _impl_.is_global_;
}
inline void Role::_internal_set_is_global(bool value) {
  ;
  _impl_.is_global_ = value;
}

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

// GetDictionaryCategoriesRequest

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

// GetDictionaryCategoriesResponse_CameraCategories

// repeated .keyapis.vc.v1.Category category = 1;
inline int GetDictionaryCategoriesResponse_CameraCategories::_internal_category_size() const {
  return _impl_.category_.size();
}
inline int GetDictionaryCategoriesResponse_CameraCategories::category_size() const {
  return _internal_category_size();
}
inline void GetDictionaryCategoriesResponse_CameraCategories::clear_category() {
  _internal_mutable_category()->Clear();
}
inline ::keyapis::vc::v1::Category* GetDictionaryCategoriesResponse_CameraCategories::mutable_category(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories.category)
  return _internal_mutable_category()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Category >*
GetDictionaryCategoriesResponse_CameraCategories::mutable_category() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories.category)
  return _internal_mutable_category();
}
inline const ::keyapis::vc::v1::Category& GetDictionaryCategoriesResponse_CameraCategories::_internal_category(int index) const {
  return _internal_category().Get(index);
}
inline const ::keyapis::vc::v1::Category& GetDictionaryCategoriesResponse_CameraCategories::category(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories.category)
  return _internal_category(index);
}
inline ::keyapis::vc::v1::Category* GetDictionaryCategoriesResponse_CameraCategories::_internal_add_category() {
  return _internal_mutable_category()->Add();
}
inline ::keyapis::vc::v1::Category* GetDictionaryCategoriesResponse_CameraCategories::add_category() {
  ::keyapis::vc::v1::Category* _add = _internal_add_category();
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories.category)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Category >&
GetDictionaryCategoriesResponse_CameraCategories::category() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories.category)
  return _internal_category();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Category>&
GetDictionaryCategoriesResponse_CameraCategories::_internal_category() const {
  return _impl_.category_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Category>*
GetDictionaryCategoriesResponse_CameraCategories::_internal_mutable_category() {
  return &_impl_.category_;
}

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

// GetDictionaryCategoriesResponse_Error

// .keyapis.vc.v1.VcDictionaryError vc_dictionary_error = 1;
inline bool GetDictionaryCategoriesResponse_Error::has_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError;
}
inline bool GetDictionaryCategoriesResponse_Error::_internal_has_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError;
}
inline void GetDictionaryCategoriesResponse_Error::set_has_vc_dictionary_error() {
  _impl_._oneof_case_[0] = kVcDictionaryError;
}
inline void GetDictionaryCategoriesResponse_Error::clear_vc_dictionary_error() {
  if (reason_case() == kVcDictionaryError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.vc_dictionary_error_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryCategoriesResponse_Error::release_vc_dictionary_error() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryCategoriesResponse.Error.vc_dictionary_error)
  if (reason_case() == kVcDictionaryError) {
    clear_has_reason();
    ::keyapis::vc::v1::VcDictionaryError* temp = _impl_.reason_.vc_dictionary_error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.vc_dictionary_error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::VcDictionaryError& GetDictionaryCategoriesResponse_Error::_internal_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError
      ? *_impl_.reason_.vc_dictionary_error_
      : reinterpret_cast<::keyapis::vc::v1::VcDictionaryError&>(::keyapis::vc::v1::_VcDictionaryError_default_instance_);
}
inline const ::keyapis::vc::v1::VcDictionaryError& GetDictionaryCategoriesResponse_Error::vc_dictionary_error() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryCategoriesResponse.Error.vc_dictionary_error)
  return _internal_vc_dictionary_error();
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryCategoriesResponse_Error::unsafe_arena_release_vc_dictionary_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryCategoriesResponse.Error.vc_dictionary_error)
  if (reason_case() == kVcDictionaryError) {
    clear_has_reason();
    ::keyapis::vc::v1::VcDictionaryError* temp = _impl_.reason_.vc_dictionary_error_;
    _impl_.reason_.vc_dictionary_error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryCategoriesResponse_Error::unsafe_arena_set_allocated_vc_dictionary_error(::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error) {
  clear_reason();
  if (vc_dictionary_error) {
    set_has_vc_dictionary_error();
    _impl_.reason_.vc_dictionary_error_ = vc_dictionary_error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryCategoriesResponse.Error.vc_dictionary_error)
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryCategoriesResponse_Error::_internal_mutable_vc_dictionary_error() {
  if (reason_case() != kVcDictionaryError) {
    clear_reason();
    set_has_vc_dictionary_error();
    _impl_.reason_.vc_dictionary_error_ = CreateMaybeMessage< ::keyapis::vc::v1::VcDictionaryError >(GetArenaForAllocation());
  }
  return _impl_.reason_.vc_dictionary_error_;
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryCategoriesResponse_Error::mutable_vc_dictionary_error() {
  ::keyapis::vc::v1::VcDictionaryError* _msg = _internal_mutable_vc_dictionary_error();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryCategoriesResponse.Error.vc_dictionary_error)
  return _msg;
}

inline bool GetDictionaryCategoriesResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void GetDictionaryCategoriesResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline GetDictionaryCategoriesResponse_Error::ReasonCase GetDictionaryCategoriesResponse_Error::reason_case() const {
  return GetDictionaryCategoriesResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetDictionaryCategoriesResponse

// .keyapis.vc.v1.GetDictionaryCategoriesResponse.CameraCategories data = 1;
inline bool GetDictionaryCategoriesResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetDictionaryCategoriesResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetDictionaryCategoriesResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetDictionaryCategoriesResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* GetDictionaryCategoriesResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryCategoriesResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories& GetDictionaryCategoriesResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories&>(::keyapis::vc::v1::_GetDictionaryCategoriesResponse_CameraCategories_default_instance_);
}
inline const ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories& GetDictionaryCategoriesResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryCategoriesResponse.data)
  return _internal_data();
}
inline ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* GetDictionaryCategoriesResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryCategoriesResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryCategoriesResponse::unsafe_arena_set_allocated_data(::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryCategoriesResponse.data)
}
inline ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* GetDictionaryCategoriesResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* GetDictionaryCategoriesResponse::mutable_data() {
  ::keyapis::vc::v1::GetDictionaryCategoriesResponse_CameraCategories* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryCategoriesResponse.data)
  return _msg;
}

// .keyapis.vc.v1.GetDictionaryCategoriesResponse.Error error = 2;
inline bool GetDictionaryCategoriesResponse::has_error() const {
  return type_case() == kError;
}
inline bool GetDictionaryCategoriesResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void GetDictionaryCategoriesResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void GetDictionaryCategoriesResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* GetDictionaryCategoriesResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryCategoriesResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error& GetDictionaryCategoriesResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error&>(::keyapis::vc::v1::_GetDictionaryCategoriesResponse_Error_default_instance_);
}
inline const ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error& GetDictionaryCategoriesResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryCategoriesResponse.error)
  return _internal_error();
}
inline ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* GetDictionaryCategoriesResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryCategoriesResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryCategoriesResponse::unsafe_arena_set_allocated_error(::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryCategoriesResponse.error)
}
inline ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* GetDictionaryCategoriesResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* GetDictionaryCategoriesResponse::mutable_error() {
  ::keyapis::vc::v1::GetDictionaryCategoriesResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryCategoriesResponse.error)
  return _msg;
}

inline bool GetDictionaryCategoriesResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetDictionaryCategoriesResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetDictionaryCategoriesResponse::TypeCase GetDictionaryCategoriesResponse::type_case() const {
  return GetDictionaryCategoriesResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetDictionaryTariffsRequest

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

// GetDictionaryTariffsResponse_CameraTariffs

// repeated .keyapis.vc.v1.Tariff tariff = 1;
inline int GetDictionaryTariffsResponse_CameraTariffs::_internal_tariff_size() const {
  return _impl_.tariff_.size();
}
inline int GetDictionaryTariffsResponse_CameraTariffs::tariff_size() const {
  return _internal_tariff_size();
}
inline void GetDictionaryTariffsResponse_CameraTariffs::clear_tariff() {
  _internal_mutable_tariff()->Clear();
}
inline ::keyapis::vc::v1::Tariff* GetDictionaryTariffsResponse_CameraTariffs::mutable_tariff(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs.tariff)
  return _internal_mutable_tariff()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Tariff >*
GetDictionaryTariffsResponse_CameraTariffs::mutable_tariff() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs.tariff)
  return _internal_mutable_tariff();
}
inline const ::keyapis::vc::v1::Tariff& GetDictionaryTariffsResponse_CameraTariffs::_internal_tariff(int index) const {
  return _internal_tariff().Get(index);
}
inline const ::keyapis::vc::v1::Tariff& GetDictionaryTariffsResponse_CameraTariffs::tariff(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs.tariff)
  return _internal_tariff(index);
}
inline ::keyapis::vc::v1::Tariff* GetDictionaryTariffsResponse_CameraTariffs::_internal_add_tariff() {
  return _internal_mutable_tariff()->Add();
}
inline ::keyapis::vc::v1::Tariff* GetDictionaryTariffsResponse_CameraTariffs::add_tariff() {
  ::keyapis::vc::v1::Tariff* _add = _internal_add_tariff();
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs.tariff)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Tariff >&
GetDictionaryTariffsResponse_CameraTariffs::tariff() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs.tariff)
  return _internal_tariff();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Tariff>&
GetDictionaryTariffsResponse_CameraTariffs::_internal_tariff() const {
  return _impl_.tariff_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Tariff>*
GetDictionaryTariffsResponse_CameraTariffs::_internal_mutable_tariff() {
  return &_impl_.tariff_;
}

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

// GetDictionaryTariffsResponse_Error

// .keyapis.vc.v1.VcDictionaryError vc_dictionary_error = 1;
inline bool GetDictionaryTariffsResponse_Error::has_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError;
}
inline bool GetDictionaryTariffsResponse_Error::_internal_has_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError;
}
inline void GetDictionaryTariffsResponse_Error::set_has_vc_dictionary_error() {
  _impl_._oneof_case_[0] = kVcDictionaryError;
}
inline void GetDictionaryTariffsResponse_Error::clear_vc_dictionary_error() {
  if (reason_case() == kVcDictionaryError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.vc_dictionary_error_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryTariffsResponse_Error::release_vc_dictionary_error() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryTariffsResponse.Error.vc_dictionary_error)
  if (reason_case() == kVcDictionaryError) {
    clear_has_reason();
    ::keyapis::vc::v1::VcDictionaryError* temp = _impl_.reason_.vc_dictionary_error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.vc_dictionary_error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::VcDictionaryError& GetDictionaryTariffsResponse_Error::_internal_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError
      ? *_impl_.reason_.vc_dictionary_error_
      : reinterpret_cast<::keyapis::vc::v1::VcDictionaryError&>(::keyapis::vc::v1::_VcDictionaryError_default_instance_);
}
inline const ::keyapis::vc::v1::VcDictionaryError& GetDictionaryTariffsResponse_Error::vc_dictionary_error() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryTariffsResponse.Error.vc_dictionary_error)
  return _internal_vc_dictionary_error();
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryTariffsResponse_Error::unsafe_arena_release_vc_dictionary_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryTariffsResponse.Error.vc_dictionary_error)
  if (reason_case() == kVcDictionaryError) {
    clear_has_reason();
    ::keyapis::vc::v1::VcDictionaryError* temp = _impl_.reason_.vc_dictionary_error_;
    _impl_.reason_.vc_dictionary_error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryTariffsResponse_Error::unsafe_arena_set_allocated_vc_dictionary_error(::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error) {
  clear_reason();
  if (vc_dictionary_error) {
    set_has_vc_dictionary_error();
    _impl_.reason_.vc_dictionary_error_ = vc_dictionary_error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryTariffsResponse.Error.vc_dictionary_error)
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryTariffsResponse_Error::_internal_mutable_vc_dictionary_error() {
  if (reason_case() != kVcDictionaryError) {
    clear_reason();
    set_has_vc_dictionary_error();
    _impl_.reason_.vc_dictionary_error_ = CreateMaybeMessage< ::keyapis::vc::v1::VcDictionaryError >(GetArenaForAllocation());
  }
  return _impl_.reason_.vc_dictionary_error_;
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryTariffsResponse_Error::mutable_vc_dictionary_error() {
  ::keyapis::vc::v1::VcDictionaryError* _msg = _internal_mutable_vc_dictionary_error();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryTariffsResponse.Error.vc_dictionary_error)
  return _msg;
}

inline bool GetDictionaryTariffsResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void GetDictionaryTariffsResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline GetDictionaryTariffsResponse_Error::ReasonCase GetDictionaryTariffsResponse_Error::reason_case() const {
  return GetDictionaryTariffsResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetDictionaryTariffsResponse

// .keyapis.vc.v1.GetDictionaryTariffsResponse.CameraTariffs data = 1;
inline bool GetDictionaryTariffsResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetDictionaryTariffsResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetDictionaryTariffsResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetDictionaryTariffsResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* GetDictionaryTariffsResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryTariffsResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs& GetDictionaryTariffsResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs&>(::keyapis::vc::v1::_GetDictionaryTariffsResponse_CameraTariffs_default_instance_);
}
inline const ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs& GetDictionaryTariffsResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryTariffsResponse.data)
  return _internal_data();
}
inline ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* GetDictionaryTariffsResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryTariffsResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryTariffsResponse::unsafe_arena_set_allocated_data(::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryTariffsResponse.data)
}
inline ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* GetDictionaryTariffsResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* GetDictionaryTariffsResponse::mutable_data() {
  ::keyapis::vc::v1::GetDictionaryTariffsResponse_CameraTariffs* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryTariffsResponse.data)
  return _msg;
}

// .keyapis.vc.v1.GetDictionaryTariffsResponse.Error error = 2;
inline bool GetDictionaryTariffsResponse::has_error() const {
  return type_case() == kError;
}
inline bool GetDictionaryTariffsResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void GetDictionaryTariffsResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void GetDictionaryTariffsResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* GetDictionaryTariffsResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryTariffsResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error& GetDictionaryTariffsResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::vc::v1::GetDictionaryTariffsResponse_Error&>(::keyapis::vc::v1::_GetDictionaryTariffsResponse_Error_default_instance_);
}
inline const ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error& GetDictionaryTariffsResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryTariffsResponse.error)
  return _internal_error();
}
inline ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* GetDictionaryTariffsResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryTariffsResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryTariffsResponse::unsafe_arena_set_allocated_error(::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryTariffsResponse.error)
}
inline ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* GetDictionaryTariffsResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* GetDictionaryTariffsResponse::mutable_error() {
  ::keyapis::vc::v1::GetDictionaryTariffsResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryTariffsResponse.error)
  return _msg;
}

inline bool GetDictionaryTariffsResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetDictionaryTariffsResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetDictionaryTariffsResponse::TypeCase GetDictionaryTariffsResponse::type_case() const {
  return GetDictionaryTariffsResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetDictionaryRolesRequest

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

// GetDictionaryRolesResponse_Roles

// repeated .keyapis.vc.v1.Role roles = 1;
inline int GetDictionaryRolesResponse_Roles::_internal_roles_size() const {
  return _impl_.roles_.size();
}
inline int GetDictionaryRolesResponse_Roles::roles_size() const {
  return _internal_roles_size();
}
inline void GetDictionaryRolesResponse_Roles::clear_roles() {
  _internal_mutable_roles()->Clear();
}
inline ::keyapis::vc::v1::Role* GetDictionaryRolesResponse_Roles::mutable_roles(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryRolesResponse.Roles.roles)
  return _internal_mutable_roles()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Role >*
GetDictionaryRolesResponse_Roles::mutable_roles() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.GetDictionaryRolesResponse.Roles.roles)
  return _internal_mutable_roles();
}
inline const ::keyapis::vc::v1::Role& GetDictionaryRolesResponse_Roles::_internal_roles(int index) const {
  return _internal_roles().Get(index);
}
inline const ::keyapis::vc::v1::Role& GetDictionaryRolesResponse_Roles::roles(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryRolesResponse.Roles.roles)
  return _internal_roles(index);
}
inline ::keyapis::vc::v1::Role* GetDictionaryRolesResponse_Roles::_internal_add_roles() {
  return _internal_mutable_roles()->Add();
}
inline ::keyapis::vc::v1::Role* GetDictionaryRolesResponse_Roles::add_roles() {
  ::keyapis::vc::v1::Role* _add = _internal_add_roles();
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.GetDictionaryRolesResponse.Roles.roles)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::Role >&
GetDictionaryRolesResponse_Roles::roles() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.GetDictionaryRolesResponse.Roles.roles)
  return _internal_roles();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Role>&
GetDictionaryRolesResponse_Roles::_internal_roles() const {
  return _impl_.roles_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::Role>*
GetDictionaryRolesResponse_Roles::_internal_mutable_roles() {
  return &_impl_.roles_;
}

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

// GetDictionaryRolesResponse_Error

// .keyapis.vc.v1.VcDictionaryError vc_dictionary_error = 1;
inline bool GetDictionaryRolesResponse_Error::has_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError;
}
inline bool GetDictionaryRolesResponse_Error::_internal_has_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError;
}
inline void GetDictionaryRolesResponse_Error::set_has_vc_dictionary_error() {
  _impl_._oneof_case_[0] = kVcDictionaryError;
}
inline void GetDictionaryRolesResponse_Error::clear_vc_dictionary_error() {
  if (reason_case() == kVcDictionaryError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.vc_dictionary_error_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryRolesResponse_Error::release_vc_dictionary_error() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryRolesResponse.Error.vc_dictionary_error)
  if (reason_case() == kVcDictionaryError) {
    clear_has_reason();
    ::keyapis::vc::v1::VcDictionaryError* temp = _impl_.reason_.vc_dictionary_error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.vc_dictionary_error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::VcDictionaryError& GetDictionaryRolesResponse_Error::_internal_vc_dictionary_error() const {
  return reason_case() == kVcDictionaryError
      ? *_impl_.reason_.vc_dictionary_error_
      : reinterpret_cast<::keyapis::vc::v1::VcDictionaryError&>(::keyapis::vc::v1::_VcDictionaryError_default_instance_);
}
inline const ::keyapis::vc::v1::VcDictionaryError& GetDictionaryRolesResponse_Error::vc_dictionary_error() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryRolesResponse.Error.vc_dictionary_error)
  return _internal_vc_dictionary_error();
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryRolesResponse_Error::unsafe_arena_release_vc_dictionary_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryRolesResponse.Error.vc_dictionary_error)
  if (reason_case() == kVcDictionaryError) {
    clear_has_reason();
    ::keyapis::vc::v1::VcDictionaryError* temp = _impl_.reason_.vc_dictionary_error_;
    _impl_.reason_.vc_dictionary_error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryRolesResponse_Error::unsafe_arena_set_allocated_vc_dictionary_error(::keyapis::vc::v1::VcDictionaryError* vc_dictionary_error) {
  clear_reason();
  if (vc_dictionary_error) {
    set_has_vc_dictionary_error();
    _impl_.reason_.vc_dictionary_error_ = vc_dictionary_error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryRolesResponse.Error.vc_dictionary_error)
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryRolesResponse_Error::_internal_mutable_vc_dictionary_error() {
  if (reason_case() != kVcDictionaryError) {
    clear_reason();
    set_has_vc_dictionary_error();
    _impl_.reason_.vc_dictionary_error_ = CreateMaybeMessage< ::keyapis::vc::v1::VcDictionaryError >(GetArenaForAllocation());
  }
  return _impl_.reason_.vc_dictionary_error_;
}
inline ::keyapis::vc::v1::VcDictionaryError* GetDictionaryRolesResponse_Error::mutable_vc_dictionary_error() {
  ::keyapis::vc::v1::VcDictionaryError* _msg = _internal_mutable_vc_dictionary_error();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryRolesResponse.Error.vc_dictionary_error)
  return _msg;
}

inline bool GetDictionaryRolesResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void GetDictionaryRolesResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline GetDictionaryRolesResponse_Error::ReasonCase GetDictionaryRolesResponse_Error::reason_case() const {
  return GetDictionaryRolesResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetDictionaryRolesResponse

// .keyapis.vc.v1.GetDictionaryRolesResponse.Roles data = 1;
inline bool GetDictionaryRolesResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetDictionaryRolesResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetDictionaryRolesResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetDictionaryRolesResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* GetDictionaryRolesResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryRolesResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles& GetDictionaryRolesResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::vc::v1::GetDictionaryRolesResponse_Roles&>(::keyapis::vc::v1::_GetDictionaryRolesResponse_Roles_default_instance_);
}
inline const ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles& GetDictionaryRolesResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryRolesResponse.data)
  return _internal_data();
}
inline ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* GetDictionaryRolesResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryRolesResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryRolesResponse::unsafe_arena_set_allocated_data(::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryRolesResponse.data)
}
inline ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* GetDictionaryRolesResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* GetDictionaryRolesResponse::mutable_data() {
  ::keyapis::vc::v1::GetDictionaryRolesResponse_Roles* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryRolesResponse.data)
  return _msg;
}

// .keyapis.vc.v1.GetDictionaryRolesResponse.Error error = 2;
inline bool GetDictionaryRolesResponse::has_error() const {
  return type_case() == kError;
}
inline bool GetDictionaryRolesResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void GetDictionaryRolesResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void GetDictionaryRolesResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* GetDictionaryRolesResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetDictionaryRolesResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::GetDictionaryRolesResponse_Error& GetDictionaryRolesResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::vc::v1::GetDictionaryRolesResponse_Error&>(::keyapis::vc::v1::_GetDictionaryRolesResponse_Error_default_instance_);
}
inline const ::keyapis::vc::v1::GetDictionaryRolesResponse_Error& GetDictionaryRolesResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetDictionaryRolesResponse.error)
  return _internal_error();
}
inline ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* GetDictionaryRolesResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetDictionaryRolesResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetDictionaryRolesResponse::unsafe_arena_set_allocated_error(::keyapis::vc::v1::GetDictionaryRolesResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetDictionaryRolesResponse.error)
}
inline ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* GetDictionaryRolesResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::vc::v1::GetDictionaryRolesResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* GetDictionaryRolesResponse::mutable_error() {
  ::keyapis::vc::v1::GetDictionaryRolesResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetDictionaryRolesResponse.error)
  return _msg;
}

inline bool GetDictionaryRolesResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetDictionaryRolesResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetDictionaryRolesResponse::TypeCase GetDictionaryRolesResponse::type_case() const {
  return GetDictionaryRolesResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// VcDictionaryError_Reason

// string message = 1;
inline void VcDictionaryError_Reason::clear_message() {
  _impl_.message_.ClearToEmpty();
}
inline const std::string& VcDictionaryError_Reason::message() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.VcDictionaryError.Reason.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void VcDictionaryError_Reason::set_message(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.message_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.VcDictionaryError.Reason.message)
}
inline std::string* VcDictionaryError_Reason::mutable_message() {
  std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.VcDictionaryError.Reason.message)
  return _s;
}
inline const std::string& VcDictionaryError_Reason::_internal_message() const {
  return _impl_.message_.Get();
}
inline void VcDictionaryError_Reason::_internal_set_message(const std::string& value) {
  ;


  _impl_.message_.Set(value, GetArenaForAllocation());
}
inline std::string* VcDictionaryError_Reason::_internal_mutable_message() {
  ;
  return _impl_.message_.Mutable( GetArenaForAllocation());
}
inline std::string* VcDictionaryError_Reason::release_message() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.VcDictionaryError.Reason.message)
  return _impl_.message_.Release();
}
inline void VcDictionaryError_Reason::set_allocated_message(std::string* value) {
  _impl_.message_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.message_.IsDefault()) {
          _impl_.message_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.VcDictionaryError.Reason.message)
}

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

// VcDictionaryError

// string service = 1;
inline void VcDictionaryError::clear_service() {
  _impl_.service_.ClearToEmpty();
}
inline const std::string& VcDictionaryError::service() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.VcDictionaryError.service)
  return _internal_service();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void VcDictionaryError::set_service(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.service_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.VcDictionaryError.service)
}
inline std::string* VcDictionaryError::mutable_service() {
  std::string* _s = _internal_mutable_service();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.VcDictionaryError.service)
  return _s;
}
inline const std::string& VcDictionaryError::_internal_service() const {
  return _impl_.service_.Get();
}
inline void VcDictionaryError::_internal_set_service(const std::string& value) {
  ;


  _impl_.service_.Set(value, GetArenaForAllocation());
}
inline std::string* VcDictionaryError::_internal_mutable_service() {
  ;
  return _impl_.service_.Mutable( GetArenaForAllocation());
}
inline std::string* VcDictionaryError::release_service() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.VcDictionaryError.service)
  return _impl_.service_.Release();
}
inline void VcDictionaryError::set_allocated_service(std::string* value) {
  _impl_.service_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.service_.IsDefault()) {
          _impl_.service_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.VcDictionaryError.service)
}

// string product = 2;
inline void VcDictionaryError::clear_product() {
  _impl_.product_.ClearToEmpty();
}
inline const std::string& VcDictionaryError::product() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.VcDictionaryError.product)
  return _internal_product();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void VcDictionaryError::set_product(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.product_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.VcDictionaryError.product)
}
inline std::string* VcDictionaryError::mutable_product() {
  std::string* _s = _internal_mutable_product();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.VcDictionaryError.product)
  return _s;
}
inline const std::string& VcDictionaryError::_internal_product() const {
  return _impl_.product_.Get();
}
inline void VcDictionaryError::_internal_set_product(const std::string& value) {
  ;


  _impl_.product_.Set(value, GetArenaForAllocation());
}
inline std::string* VcDictionaryError::_internal_mutable_product() {
  ;
  return _impl_.product_.Mutable( GetArenaForAllocation());
}
inline std::string* VcDictionaryError::release_product() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.VcDictionaryError.product)
  return _impl_.product_.Release();
}
inline void VcDictionaryError::set_allocated_product(std::string* value) {
  _impl_.product_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.product_.IsDefault()) {
          _impl_.product_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.VcDictionaryError.product)
}

// string message = 3;
inline void VcDictionaryError::clear_message() {
  _impl_.message_.ClearToEmpty();
}
inline const std::string& VcDictionaryError::message() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.VcDictionaryError.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void VcDictionaryError::set_message(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.message_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.VcDictionaryError.message)
}
inline std::string* VcDictionaryError::mutable_message() {
  std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.VcDictionaryError.message)
  return _s;
}
inline const std::string& VcDictionaryError::_internal_message() const {
  return _impl_.message_.Get();
}
inline void VcDictionaryError::_internal_set_message(const std::string& value) {
  ;


  _impl_.message_.Set(value, GetArenaForAllocation());
}
inline std::string* VcDictionaryError::_internal_mutable_message() {
  ;
  return _impl_.message_.Mutable( GetArenaForAllocation());
}
inline std::string* VcDictionaryError::release_message() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.VcDictionaryError.message)
  return _impl_.message_.Release();
}
inline void VcDictionaryError::set_allocated_message(std::string* value) {
  _impl_.message_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.message_.IsDefault()) {
          _impl_.message_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.VcDictionaryError.message)
}

// repeated .keyapis.vc.v1.VcDictionaryError.Reason reasons = 4;
inline int VcDictionaryError::_internal_reasons_size() const {
  return _impl_.reasons_.size();
}
inline int VcDictionaryError::reasons_size() const {
  return _internal_reasons_size();
}
inline void VcDictionaryError::clear_reasons() {
  _internal_mutable_reasons()->Clear();
}
inline ::keyapis::vc::v1::VcDictionaryError_Reason* VcDictionaryError::mutable_reasons(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.VcDictionaryError.reasons)
  return _internal_mutable_reasons()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::VcDictionaryError_Reason >*
VcDictionaryError::mutable_reasons() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.VcDictionaryError.reasons)
  return _internal_mutable_reasons();
}
inline const ::keyapis::vc::v1::VcDictionaryError_Reason& VcDictionaryError::_internal_reasons(int index) const {
  return _internal_reasons().Get(index);
}
inline const ::keyapis::vc::v1::VcDictionaryError_Reason& VcDictionaryError::reasons(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.VcDictionaryError.reasons)
  return _internal_reasons(index);
}
inline ::keyapis::vc::v1::VcDictionaryError_Reason* VcDictionaryError::_internal_add_reasons() {
  return _internal_mutable_reasons()->Add();
}
inline ::keyapis::vc::v1::VcDictionaryError_Reason* VcDictionaryError::add_reasons() {
  ::keyapis::vc::v1::VcDictionaryError_Reason* _add = _internal_add_reasons();
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.VcDictionaryError.reasons)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::VcDictionaryError_Reason >&
VcDictionaryError::reasons() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.VcDictionaryError.reasons)
  return _internal_reasons();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::VcDictionaryError_Reason>&
VcDictionaryError::_internal_reasons() const {
  return _impl_.reasons_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::VcDictionaryError_Reason>*
VcDictionaryError::_internal_mutable_reasons() {
  return &_impl_.reasons_;
}

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

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace vc
}  // namespace keyapis


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fdictionary_5fv1_2eproto_2epb_2eh
