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

#include "keyapis/vc/v1/keyapis_vc_camera_v1.pb.h"

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

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = ::PROTOBUF_NAMESPACE_ID::internal;
namespace keyapis {
namespace vc {
namespace v1 {
template <typename>
PROTOBUF_CONSTEXPR CameraRoom::CameraRoom(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.camera_uid_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.room_number_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.orpon_)*/ ::int64_t{0}

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraRoomDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraRoomDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraRoomDefaultTypeInternal() {}
  union {
    CameraRoom _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraRoomDefaultTypeInternal _CameraRoom_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraRoomFilter::CameraRoomFilter(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.camera_uids_)*/{}
  , /*decltype(_impl_.orpons_)*/ {}
  ,/* _impl_._orpons_cached_byte_size_ = */ { 0 }

  , /*decltype(_impl_.room_numbers_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraRoomFilterDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraRoomFilterDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraRoomFilterDefaultTypeInternal() {}
  union {
    CameraRoomFilter _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraRoomFilterDefaultTypeInternal _CameraRoomFilter_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraRoomPaging::CameraRoomPaging(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.order_by_type_)*/ 0

  , /*decltype(_impl_.direction_type_)*/ 0

  , /*decltype(_impl_.limit_)*/ 0

  , /*decltype(_impl_.offset_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraRoomPagingDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraRoomPagingDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraRoomPagingDefaultTypeInternal() {}
  union {
    CameraRoomPaging _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraRoomPagingDefaultTypeInternal _CameraRoomPaging_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR Camera_ValidationError_RtspUrlRequired::Camera_ValidationError_RtspUrlRequired(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._cached_size_)*/{}} {}
struct Camera_ValidationError_RtspUrlRequiredDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Camera_ValidationError_RtspUrlRequiredDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Camera_ValidationError_RtspUrlRequiredDefaultTypeInternal() {}
  union {
    Camera_ValidationError_RtspUrlRequired _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Camera_ValidationError_RtspUrlRequiredDefaultTypeInternal _Camera_ValidationError_RtspUrlRequired_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR Camera_ValidationError_OneFieldMacOrSerialNumberRequired::Camera_ValidationError_OneFieldMacOrSerialNumberRequired(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._cached_size_)*/{}} {}
struct Camera_ValidationError_OneFieldMacOrSerialNumberRequiredDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Camera_ValidationError_OneFieldMacOrSerialNumberRequiredDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Camera_ValidationError_OneFieldMacOrSerialNumberRequiredDefaultTypeInternal() {}
  union {
    Camera_ValidationError_OneFieldMacOrSerialNumberRequired _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Camera_ValidationError_OneFieldMacOrSerialNumberRequiredDefaultTypeInternal _Camera_ValidationError_OneFieldMacOrSerialNumberRequired_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR Camera_ValidationError::Camera_ValidationError(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct Camera_ValidationErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Camera_ValidationErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Camera_ValidationErrorDefaultTypeInternal() {}
  union {
    Camera_ValidationError _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Camera_ValidationErrorDefaultTypeInternal _Camera_ValidationError_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR Camera::Camera(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.id_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.uid_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.name_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.mac_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.ip_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.remote_ip_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.tariff_title_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.rtsp_url_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.serial_number_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.status_changed_at_)*/nullptr
  , /*decltype(_impl_.tariff_started_at_)*/nullptr
  , /*decltype(_impl_.tariff_ended_at_)*/nullptr
  , /*decltype(_impl_.is_online_)*/ false

  , /*decltype(_impl_.is_active_user_camera_)*/ false

  , /*decltype(_impl_.type_)*/ 0

  , /*decltype(_impl_.camera_category_id_)*/ 0

  , /*decltype(_impl_.company_id_)*/ 0
} {}
struct CameraDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraDefaultTypeInternal() {}
  union {
    Camera _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraDefaultTypeInternal _Camera_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraFilter::CameraFilter(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.is_active_)*/nullptr
  , /*decltype(_impl_.is_channel_alive_)*/nullptr
  , /*decltype(_impl_.is_online_)*/nullptr
  , /*decltype(_impl_.camera_type_)*/ 0
} {}
struct CameraFilterDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraFilterDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraFilterDefaultTypeInternal() {}
  union {
    CameraFilter _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraFilterDefaultTypeInternal _CameraFilter_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraPaging::CameraPaging(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.order_by_type_)*/ 0

  , /*decltype(_impl_.direction_type_)*/ 0

  , /*decltype(_impl_.limit_)*/ 0

  , /*decltype(_impl_.offset_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraPagingDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraPagingDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraPagingDefaultTypeInternal() {}
  union {
    CameraPaging _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraPagingDefaultTypeInternal _CameraPaging_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR CameraScope::CameraScope(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.vc_company_id_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CameraScopeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CameraScopeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CameraScopeDefaultTypeInternal() {}
  union {
    CameraScope _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CameraScopeDefaultTypeInternal _CameraScope_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraListRequest::GetCameraListRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.scope_)*/nullptr
  , /*decltype(_impl_.filter_)*/nullptr
  , /*decltype(_impl_.pagination_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraListRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraListRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraListRequestDefaultTypeInternal() {}
  union {
    GetCameraListRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraListRequestDefaultTypeInternal _GetCameraListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraListResponse_Error::GetCameraListResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraListResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraListResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraListResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraListResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraListResponse_ErrorDefaultTypeInternal _GetCameraListResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraListResponse_Data::GetCameraListResponse_Data(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_.total_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GetCameraListResponse_DataDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraListResponse_DataDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraListResponse_DataDefaultTypeInternal() {}
  union {
    GetCameraListResponse_Data _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraListResponse_DataDefaultTypeInternal _GetCameraListResponse_Data_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraListResponse::GetCameraListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraListResponseDefaultTypeInternal() {}
  union {
    GetCameraListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraListResponseDefaultTypeInternal _GetCameraListResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRequest::GetCameraRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.uid_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.scope_)*/nullptr} {}
struct GetCameraRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRequestDefaultTypeInternal() {}
  union {
    GetCameraRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRequestDefaultTypeInternal _GetCameraRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraResponse_Error::GetCameraResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraResponse_ErrorDefaultTypeInternal _GetCameraResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraResponse::GetCameraResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraResponseDefaultTypeInternal() {}
  union {
    GetCameraResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraResponseDefaultTypeInternal _GetCameraResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRtspUrlExternalIdRequest::GetCameraRtspUrlExternalIdRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.external_id_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GetCameraRtspUrlExternalIdRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRtspUrlExternalIdRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRtspUrlExternalIdRequestDefaultTypeInternal() {}
  union {
    GetCameraRtspUrlExternalIdRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRtspUrlExternalIdRequestDefaultTypeInternal _GetCameraRtspUrlExternalIdRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.rtsp_url_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GetCameraRtspUrlExternalIdResponse_CameraRtspUrlDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRtspUrlExternalIdResponse_CameraRtspUrlDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRtspUrlExternalIdResponse_CameraRtspUrlDefaultTypeInternal() {}
  union {
    GetCameraRtspUrlExternalIdResponse_CameraRtspUrl _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRtspUrlExternalIdResponse_CameraRtspUrlDefaultTypeInternal _GetCameraRtspUrlExternalIdResponse_CameraRtspUrl_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRtspUrlExternalIdResponse_Error::GetCameraRtspUrlExternalIdResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraRtspUrlExternalIdResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRtspUrlExternalIdResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRtspUrlExternalIdResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraRtspUrlExternalIdResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRtspUrlExternalIdResponse_ErrorDefaultTypeInternal _GetCameraRtspUrlExternalIdResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRtspUrlExternalIdResponse::GetCameraRtspUrlExternalIdResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraRtspUrlExternalIdResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRtspUrlExternalIdResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRtspUrlExternalIdResponseDefaultTypeInternal() {}
  union {
    GetCameraRtspUrlExternalIdResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRtspUrlExternalIdResponseDefaultTypeInternal _GetCameraRtspUrlExternalIdResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomAttachRequest::PutCameraRoomAttachRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.data_)*/nullptr} {}
struct PutCameraRoomAttachRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomAttachRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomAttachRequestDefaultTypeInternal() {}
  union {
    PutCameraRoomAttachRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomAttachRequestDefaultTypeInternal _PutCameraRoomAttachRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomAttachResponse_Error::PutCameraRoomAttachResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PutCameraRoomAttachResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomAttachResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomAttachResponse_ErrorDefaultTypeInternal() {}
  union {
    PutCameraRoomAttachResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomAttachResponse_ErrorDefaultTypeInternal _PutCameraRoomAttachResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomAttachResponse::PutCameraRoomAttachResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PutCameraRoomAttachResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomAttachResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomAttachResponseDefaultTypeInternal() {}
  union {
    PutCameraRoomAttachResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomAttachResponseDefaultTypeInternal _PutCameraRoomAttachResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomAttachListRequest::PutCameraRoomAttachListRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.data_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PutCameraRoomAttachListRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomAttachListRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomAttachListRequestDefaultTypeInternal() {}
  union {
    PutCameraRoomAttachListRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomAttachListRequestDefaultTypeInternal _PutCameraRoomAttachListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomAttachListResponse_Error::PutCameraRoomAttachListResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PutCameraRoomAttachListResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomAttachListResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomAttachListResponse_ErrorDefaultTypeInternal() {}
  union {
    PutCameraRoomAttachListResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomAttachListResponse_ErrorDefaultTypeInternal _PutCameraRoomAttachListResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomAttachListResponse::PutCameraRoomAttachListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PutCameraRoomAttachListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomAttachListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomAttachListResponseDefaultTypeInternal() {}
  union {
    PutCameraRoomAttachListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomAttachListResponseDefaultTypeInternal _PutCameraRoomAttachListResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomDetachRequest::PutCameraRoomDetachRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.data_)*/nullptr} {}
struct PutCameraRoomDetachRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomDetachRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomDetachRequestDefaultTypeInternal() {}
  union {
    PutCameraRoomDetachRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomDetachRequestDefaultTypeInternal _PutCameraRoomDetachRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomDetachResponse_Error::PutCameraRoomDetachResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PutCameraRoomDetachResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomDetachResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomDetachResponse_ErrorDefaultTypeInternal() {}
  union {
    PutCameraRoomDetachResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomDetachResponse_ErrorDefaultTypeInternal _PutCameraRoomDetachResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomDetachResponse::PutCameraRoomDetachResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PutCameraRoomDetachResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomDetachResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomDetachResponseDefaultTypeInternal() {}
  union {
    PutCameraRoomDetachResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomDetachResponseDefaultTypeInternal _PutCameraRoomDetachResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomDetachListRequest::PutCameraRoomDetachListRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.data_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PutCameraRoomDetachListRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomDetachListRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomDetachListRequestDefaultTypeInternal() {}
  union {
    PutCameraRoomDetachListRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomDetachListRequestDefaultTypeInternal _PutCameraRoomDetachListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomDetachListResponse_Error::PutCameraRoomDetachListResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PutCameraRoomDetachListResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomDetachListResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomDetachListResponse_ErrorDefaultTypeInternal() {}
  union {
    PutCameraRoomDetachListResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomDetachListResponse_ErrorDefaultTypeInternal _PutCameraRoomDetachListResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PutCameraRoomDetachListResponse::PutCameraRoomDetachListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PutCameraRoomDetachListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PutCameraRoomDetachListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PutCameraRoomDetachListResponseDefaultTypeInternal() {}
  union {
    PutCameraRoomDetachListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PutCameraRoomDetachListResponseDefaultTypeInternal _PutCameraRoomDetachListResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRoomCountRequest::GetCameraRoomCountRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.filter_)*/nullptr} {}
struct GetCameraRoomCountRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRoomCountRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRoomCountRequestDefaultTypeInternal() {}
  union {
    GetCameraRoomCountRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRoomCountRequestDefaultTypeInternal _GetCameraRoomCountRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRoomCountResponse_Error::GetCameraRoomCountResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraRoomCountResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRoomCountResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRoomCountResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraRoomCountResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRoomCountResponse_ErrorDefaultTypeInternal _GetCameraRoomCountResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRoomCountResponse::GetCameraRoomCountResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraRoomCountResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRoomCountResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRoomCountResponseDefaultTypeInternal() {}
  union {
    GetCameraRoomCountResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRoomCountResponseDefaultTypeInternal _GetCameraRoomCountResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRoomListRequest::GetCameraRoomListRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.filter_)*/nullptr
  , /*decltype(_impl_.pagination_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraRoomListRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRoomListRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRoomListRequestDefaultTypeInternal() {}
  union {
    GetCameraRoomListRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRoomListRequestDefaultTypeInternal _GetCameraRoomListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRoomListResponse_Error::GetCameraRoomListResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraRoomListResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRoomListResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRoomListResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraRoomListResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRoomListResponse_ErrorDefaultTypeInternal _GetCameraRoomListResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraRoomListResponse::GetCameraRoomListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraRoomListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraRoomListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraRoomListResponseDefaultTypeInternal() {}
  union {
    GetCameraRoomListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraRoomListResponseDefaultTypeInternal _GetCameraRoomListResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteCameraRequest::DeleteCameraRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.uid_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.is_delete_permanently_)*/ false

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DeleteCameraRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteCameraRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteCameraRequestDefaultTypeInternal() {}
  union {
    DeleteCameraRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteCameraRequestDefaultTypeInternal _DeleteCameraRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteCameraResponse_Error::DeleteCameraResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct DeleteCameraResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteCameraResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteCameraResponse_ErrorDefaultTypeInternal() {}
  union {
    DeleteCameraResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteCameraResponse_ErrorDefaultTypeInternal _DeleteCameraResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteCameraResponse::DeleteCameraResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct DeleteCameraResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteCameraResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteCameraResponseDefaultTypeInternal() {}
  union {
    DeleteCameraResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteCameraResponseDefaultTypeInternal _DeleteCameraResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostCameraRequest::PostCameraRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.data_)*/nullptr} {}
struct PostCameraRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostCameraRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostCameraRequestDefaultTypeInternal() {}
  union {
    PostCameraRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostCameraRequestDefaultTypeInternal _PostCameraRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostCameraResponse_Error_VcError::PostCameraResponse_Error_VcError(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.text_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PostCameraResponse_Error_VcErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostCameraResponse_Error_VcErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostCameraResponse_Error_VcErrorDefaultTypeInternal() {}
  union {
    PostCameraResponse_Error_VcError _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostCameraResponse_Error_VcErrorDefaultTypeInternal _PostCameraResponse_Error_VcError_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostCameraResponse_Error::PostCameraResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PostCameraResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostCameraResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostCameraResponse_ErrorDefaultTypeInternal() {}
  union {
    PostCameraResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostCameraResponse_ErrorDefaultTypeInternal _PostCameraResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostCameraResponse::PostCameraResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PostCameraResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostCameraResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostCameraResponseDefaultTypeInternal() {}
  union {
    PostCameraResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostCameraResponseDefaultTypeInternal _PostCameraResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraCalendarRequest::GetCameraCalendarRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.uid_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.offset_)*/nullptr} {}
struct GetCameraCalendarRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraCalendarRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraCalendarRequestDefaultTypeInternal() {}
  union {
    GetCameraCalendarRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraCalendarRequestDefaultTypeInternal _GetCameraCalendarRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraCalendarResponse_Caledar::GetCameraCalendarResponse_Caledar(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GetCameraCalendarResponse_CaledarDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraCalendarResponse_CaledarDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraCalendarResponse_CaledarDefaultTypeInternal() {}
  union {
    GetCameraCalendarResponse_Caledar _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraCalendarResponse_CaledarDefaultTypeInternal _GetCameraCalendarResponse_Caledar_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraCalendarResponse_Error_VcError::GetCameraCalendarResponse_Error_VcError(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.text_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GetCameraCalendarResponse_Error_VcErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraCalendarResponse_Error_VcErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraCalendarResponse_Error_VcErrorDefaultTypeInternal() {}
  union {
    GetCameraCalendarResponse_Error_VcError _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraCalendarResponse_Error_VcErrorDefaultTypeInternal _GetCameraCalendarResponse_Error_VcError_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraCalendarResponse_Error::GetCameraCalendarResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraCalendarResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraCalendarResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraCalendarResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraCalendarResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraCalendarResponse_ErrorDefaultTypeInternal _GetCameraCalendarResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraCalendarResponse::GetCameraCalendarResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraCalendarResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraCalendarResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraCalendarResponseDefaultTypeInternal() {}
  union {
    GetCameraCalendarResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraCalendarResponseDefaultTypeInternal _GetCameraCalendarResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraIntervalsRequest::GetCameraIntervalsRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.uid_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.offset_)*/nullptr} {}
struct GetCameraIntervalsRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraIntervalsRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraIntervalsRequestDefaultTypeInternal() {}
  union {
    GetCameraIntervalsRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraIntervalsRequestDefaultTypeInternal _GetCameraIntervalsRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraIntervalsResponse_Interval_Item::GetCameraIntervalsResponse_Interval_Item(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.since_at_)*/nullptr
  , /*decltype(_impl_.till_at_)*/nullptr} {}
struct GetCameraIntervalsResponse_Interval_ItemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraIntervalsResponse_Interval_ItemDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraIntervalsResponse_Interval_ItemDefaultTypeInternal() {}
  union {
    GetCameraIntervalsResponse_Interval_Item _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraIntervalsResponse_Interval_ItemDefaultTypeInternal _GetCameraIntervalsResponse_Interval_Item_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraIntervalsResponse_Interval::GetCameraIntervalsResponse_Interval(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GetCameraIntervalsResponse_IntervalDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraIntervalsResponse_IntervalDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraIntervalsResponse_IntervalDefaultTypeInternal() {}
  union {
    GetCameraIntervalsResponse_Interval _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraIntervalsResponse_IntervalDefaultTypeInternal _GetCameraIntervalsResponse_Interval_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraIntervalsResponse_Error_VcError::GetCameraIntervalsResponse_Error_VcError(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.text_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GetCameraIntervalsResponse_Error_VcErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraIntervalsResponse_Error_VcErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraIntervalsResponse_Error_VcErrorDefaultTypeInternal() {}
  union {
    GetCameraIntervalsResponse_Error_VcError _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraIntervalsResponse_Error_VcErrorDefaultTypeInternal _GetCameraIntervalsResponse_Error_VcError_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraIntervalsResponse_Error::GetCameraIntervalsResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraIntervalsResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraIntervalsResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraIntervalsResponse_ErrorDefaultTypeInternal() {}
  union {
    GetCameraIntervalsResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraIntervalsResponse_ErrorDefaultTypeInternal _GetCameraIntervalsResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetCameraIntervalsResponse::GetCameraIntervalsResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetCameraIntervalsResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetCameraIntervalsResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetCameraIntervalsResponseDefaultTypeInternal() {}
  union {
    GetCameraIntervalsResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetCameraIntervalsResponseDefaultTypeInternal _GetCameraIntervalsResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR ValidationError::ValidationError(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.path_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.message_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ValidationErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ValidationErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ValidationErrorDefaultTypeInternal() {}
  union {
    ValidationError _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValidationErrorDefaultTypeInternal _ValidationError_default_instance_;
}  // namespace v1
}  // namespace vc
}  // namespace keyapis
namespace keyapis {
namespace vc {
namespace v1 {
bool CameraRoomPaging_DirectionType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    CameraRoomPaging_DirectionType_strings[3] = {};

static const char CameraRoomPaging_DirectionType_names[] = {
    "ASC"
    "DESC"
    "DIRECTION_TYPE_UNKNOWN"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry CameraRoomPaging_DirectionType_entries[] =
    {
        {{&CameraRoomPaging_DirectionType_names[0], 3}, 2},
        {{&CameraRoomPaging_DirectionType_names[3], 4}, 1},
        {{&CameraRoomPaging_DirectionType_names[7], 22}, 0},
};

static const int CameraRoomPaging_DirectionType_entries_by_number[] = {
    2,  // 0 -> DIRECTION_TYPE_UNKNOWN
    1,  // 1 -> DESC
    0,  // 2 -> ASC
};

const std::string& CameraRoomPaging_DirectionType_Name(CameraRoomPaging_DirectionType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          CameraRoomPaging_DirectionType_entries, CameraRoomPaging_DirectionType_entries_by_number,
          3, CameraRoomPaging_DirectionType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      CameraRoomPaging_DirectionType_entries, CameraRoomPaging_DirectionType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : CameraRoomPaging_DirectionType_strings[idx].get();
}

bool CameraRoomPaging_DirectionType_Parse(absl::string_view name, CameraRoomPaging_DirectionType* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      CameraRoomPaging_DirectionType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<CameraRoomPaging_DirectionType>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr CameraRoomPaging_DirectionType CameraRoomPaging::DIRECTION_TYPE_UNKNOWN;
constexpr CameraRoomPaging_DirectionType CameraRoomPaging::DESC;
constexpr CameraRoomPaging_DirectionType CameraRoomPaging::ASC;
constexpr CameraRoomPaging_DirectionType CameraRoomPaging::DirectionType_MIN;
constexpr CameraRoomPaging_DirectionType CameraRoomPaging::DirectionType_MAX;
constexpr int CameraRoomPaging::DirectionType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
bool CameraRoomPaging_OrderByType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    CameraRoomPaging_OrderByType_strings[3] = {};

static const char CameraRoomPaging_OrderByType_names[] = {
    "CAMERA_UID"
    "ORDER_BY_TYPE_UNKNOWN"
    "ORPON_ROOM_NUMBER"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry CameraRoomPaging_OrderByType_entries[] =
    {
        {{&CameraRoomPaging_OrderByType_names[0], 10}, 1},
        {{&CameraRoomPaging_OrderByType_names[10], 21}, 0},
        {{&CameraRoomPaging_OrderByType_names[31], 17}, 2},
};

static const int CameraRoomPaging_OrderByType_entries_by_number[] = {
    1,  // 0 -> ORDER_BY_TYPE_UNKNOWN
    0,  // 1 -> CAMERA_UID
    2,  // 2 -> ORPON_ROOM_NUMBER
};

const std::string& CameraRoomPaging_OrderByType_Name(CameraRoomPaging_OrderByType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          CameraRoomPaging_OrderByType_entries, CameraRoomPaging_OrderByType_entries_by_number,
          3, CameraRoomPaging_OrderByType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      CameraRoomPaging_OrderByType_entries, CameraRoomPaging_OrderByType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : CameraRoomPaging_OrderByType_strings[idx].get();
}

bool CameraRoomPaging_OrderByType_Parse(absl::string_view name, CameraRoomPaging_OrderByType* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      CameraRoomPaging_OrderByType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<CameraRoomPaging_OrderByType>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr CameraRoomPaging_OrderByType CameraRoomPaging::ORDER_BY_TYPE_UNKNOWN;
constexpr CameraRoomPaging_OrderByType CameraRoomPaging::CAMERA_UID;
constexpr CameraRoomPaging_OrderByType CameraRoomPaging::ORPON_ROOM_NUMBER;
constexpr CameraRoomPaging_OrderByType CameraRoomPaging::OrderByType_MIN;
constexpr CameraRoomPaging_OrderByType CameraRoomPaging::OrderByType_MAX;
constexpr int CameraRoomPaging::OrderByType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
bool Camera_Type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    Camera_Type_strings[5] = {};

static const char Camera_Type_names[] = {
    "DVR"
    "ROSE"
    "TYPE_UNKNOWN"
    "VIOLET"
    "VMS"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry Camera_Type_entries[] =
    {
        {{&Camera_Type_names[0], 3}, 1},
        {{&Camera_Type_names[3], 4}, 3},
        {{&Camera_Type_names[7], 12}, 0},
        {{&Camera_Type_names[19], 6}, 4},
        {{&Camera_Type_names[25], 3}, 2},
};

static const int Camera_Type_entries_by_number[] = {
    2,  // 0 -> TYPE_UNKNOWN
    0,  // 1 -> DVR
    4,  // 2 -> VMS
    1,  // 3 -> ROSE
    3,  // 4 -> VIOLET
};

const std::string& Camera_Type_Name(Camera_Type value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          Camera_Type_entries, Camera_Type_entries_by_number,
          5, Camera_Type_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      Camera_Type_entries, Camera_Type_entries_by_number, 5,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : Camera_Type_strings[idx].get();
}

bool Camera_Type_Parse(absl::string_view name, Camera_Type* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      Camera_Type_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<Camera_Type>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr Camera_Type Camera::TYPE_UNKNOWN;
constexpr Camera_Type Camera::DVR;
constexpr Camera_Type Camera::VMS;
constexpr Camera_Type Camera::ROSE;
constexpr Camera_Type Camera::VIOLET;
constexpr Camera_Type Camera::Type_MIN;
constexpr Camera_Type Camera::Type_MAX;
constexpr int Camera::Type_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
bool CameraPaging_DirectionType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    CameraPaging_DirectionType_strings[3] = {};

static const char CameraPaging_DirectionType_names[] = {
    "ASC"
    "DESC"
    "DIRECTION_TYPE_UNKNOWN"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry CameraPaging_DirectionType_entries[] =
    {
        {{&CameraPaging_DirectionType_names[0], 3}, 2},
        {{&CameraPaging_DirectionType_names[3], 4}, 1},
        {{&CameraPaging_DirectionType_names[7], 22}, 0},
};

static const int CameraPaging_DirectionType_entries_by_number[] = {
    2,  // 0 -> DIRECTION_TYPE_UNKNOWN
    1,  // 1 -> DESC
    0,  // 2 -> ASC
};

const std::string& CameraPaging_DirectionType_Name(CameraPaging_DirectionType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          CameraPaging_DirectionType_entries, CameraPaging_DirectionType_entries_by_number,
          3, CameraPaging_DirectionType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      CameraPaging_DirectionType_entries, CameraPaging_DirectionType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : CameraPaging_DirectionType_strings[idx].get();
}

bool CameraPaging_DirectionType_Parse(absl::string_view name, CameraPaging_DirectionType* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      CameraPaging_DirectionType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<CameraPaging_DirectionType>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr CameraPaging_DirectionType CameraPaging::DIRECTION_TYPE_UNKNOWN;
constexpr CameraPaging_DirectionType CameraPaging::DESC;
constexpr CameraPaging_DirectionType CameraPaging::ASC;
constexpr CameraPaging_DirectionType CameraPaging::DirectionType_MIN;
constexpr CameraPaging_DirectionType CameraPaging::DirectionType_MAX;
constexpr int CameraPaging::DirectionType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
bool CameraPaging_OrderByType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    CameraPaging_OrderByType_strings[2] = {};

static const char CameraPaging_OrderByType_names[] = {
    "ORDER_BY_TYPE_UNKNOWN"
    "UID"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry CameraPaging_OrderByType_entries[] =
    {
        {{&CameraPaging_OrderByType_names[0], 21}, 0},
        {{&CameraPaging_OrderByType_names[21], 3}, 1},
};

static const int CameraPaging_OrderByType_entries_by_number[] = {
    0,  // 0 -> ORDER_BY_TYPE_UNKNOWN
    1,  // 1 -> UID
};

const std::string& CameraPaging_OrderByType_Name(CameraPaging_OrderByType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          CameraPaging_OrderByType_entries, CameraPaging_OrderByType_entries_by_number,
          2, CameraPaging_OrderByType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      CameraPaging_OrderByType_entries, CameraPaging_OrderByType_entries_by_number, 2,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : CameraPaging_OrderByType_strings[idx].get();
}

bool CameraPaging_OrderByType_Parse(absl::string_view name, CameraPaging_OrderByType* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      CameraPaging_OrderByType_entries, 2, name, &int_value);
  if (success) {
    *value = static_cast<CameraPaging_OrderByType>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr CameraPaging_OrderByType CameraPaging::ORDER_BY_TYPE_UNKNOWN;
constexpr CameraPaging_OrderByType CameraPaging::UID;
constexpr CameraPaging_OrderByType CameraPaging::OrderByType_MIN;
constexpr CameraPaging_OrderByType CameraPaging::OrderByType_MAX;
constexpr int CameraPaging::OrderByType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
// ===================================================================

class CameraRoom::_Internal {
 public:
};

CameraRoom::CameraRoom(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraRoom)
}
CameraRoom::CameraRoom(const CameraRoom& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  CameraRoom* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.camera_uid_) {}

    , decltype(_impl_.room_number_) {}

    , decltype(_impl_.orpon_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.camera_uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.camera_uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_camera_uid().empty()) {
    _this->_impl_.camera_uid_.Set(from._internal_camera_uid(), _this->GetArenaForAllocation());
  }
  _impl_.room_number_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.room_number_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_room_number().empty()) {
    _this->_impl_.room_number_.Set(from._internal_room_number(), _this->GetArenaForAllocation());
  }
  _this->_impl_.orpon_ = from._impl_.orpon_;
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraRoom)
}

inline void CameraRoom::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.camera_uid_) {}

    , decltype(_impl_.room_number_) {}

    , decltype(_impl_.orpon_) { ::int64_t{0} }

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.camera_uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.camera_uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.room_number_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.room_number_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CameraRoom::~CameraRoom() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraRoom)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraRoom::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.camera_uid_.Destroy();
  _impl_.room_number_.Destroy();
}

void CameraRoom::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraRoom::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraRoom)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.camera_uid_.ClearToEmpty();
  _impl_.room_number_.ClearToEmpty();
  _impl_.orpon_ = ::int64_t{0};
  _internal_metadata_.Clear<std::string>();
}

const char* CameraRoom::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string camera_uid = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_camera_uid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // int64 orpon = 2 [(.google.api.field_behavior) = REQUIRED];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          _impl_.orpon_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string room_number = 3 [(.google.api.field_behavior) = REQUIRED];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_room_number();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraRoom::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraRoom)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string camera_uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_camera_uid().empty()) {
    const std::string& _s = this->_internal_camera_uid();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraRoom.camera_uid");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // int64 orpon = 2 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_orpon() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        2, this->_internal_orpon(), target);
  }

  // string room_number = 3 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_room_number().empty()) {
    const std::string& _s = this->_internal_room_number();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraRoom.room_number");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraRoom)
  return target;
}

::size_t CameraRoom::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraRoom)
  ::size_t total_size = 0;

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

  // string camera_uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_camera_uid().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_camera_uid());
  }

  // string room_number = 3 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_room_number().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_room_number());
  }

  // int64 orpon = 2 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_orpon() != 0) {
    total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
        this->_internal_orpon());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraRoom::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraRoom*>(
      &from));
}

void CameraRoom::MergeFrom(const CameraRoom& from) {
  CameraRoom* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraRoom)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_camera_uid().empty()) {
    _this->_internal_set_camera_uid(from._internal_camera_uid());
  }
  if (!from._internal_room_number().empty()) {
    _this->_internal_set_room_number(from._internal_room_number());
  }
  if (from._internal_orpon() != 0) {
    _this->_internal_set_orpon(from._internal_orpon());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraRoom::CopyFrom(const CameraRoom& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraRoom)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CameraRoom::IsInitialized() const {
  return true;
}

void CameraRoom::InternalSwap(CameraRoom* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.camera_uid_, lhs_arena,
                                       &other->_impl_.camera_uid_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.room_number_, lhs_arena,
                                       &other->_impl_.room_number_, rhs_arena);

  swap(_impl_.orpon_, other->_impl_.orpon_);
}

std::string CameraRoom::GetTypeName() const {
  return "keyapis.vc.v1.CameraRoom";
}

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

class CameraRoomFilter::_Internal {
 public:
};

CameraRoomFilter::CameraRoomFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraRoomFilter)
}
CameraRoomFilter::CameraRoomFilter(const CameraRoomFilter& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  CameraRoomFilter* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.camera_uids_){from._impl_.camera_uids_}
    , decltype(_impl_.orpons_) { from._impl_.orpons_ }
    ,/* _impl_._orpons_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.room_numbers_){from._impl_.room_numbers_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraRoomFilter)
}

inline void CameraRoomFilter::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.camera_uids_){arena}
    , decltype(_impl_.orpons_) { arena }
    ,/* _impl_._orpons_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.room_numbers_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CameraRoomFilter::~CameraRoomFilter() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraRoomFilter)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraRoomFilter::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_camera_uids()->~RepeatedPtrField();
  _impl_.orpons_.~RepeatedField();
  _internal_mutable_room_numbers()->~RepeatedPtrField();
}

void CameraRoomFilter::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraRoomFilter::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraRoomFilter)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_mutable_camera_uids()->Clear();
  _internal_mutable_orpons()->Clear();
  _internal_mutable_room_numbers()->Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* CameraRoomFilter::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated string camera_uids = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_camera_uids();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated int64 orpons = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_orpons(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 16) {
          _internal_add_orpons(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string room_numbers = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_room_numbers();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraRoomFilter::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraRoomFilter)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated string camera_uids = 1;
  for (int i = 0, n = this->_internal_camera_uids_size(); i < n; ++i) {
    const auto& s = this->_internal_camera_uids(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraRoomFilter.camera_uids");
    target = stream->WriteString(1, s, target);
  }

  // repeated int64 orpons = 2;
  {
    int byte_size = _impl_._orpons_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(2, _internal_orpons(),
                                                 byte_size, target);
    }
  }

  // repeated string room_numbers = 3;
  for (int i = 0, n = this->_internal_room_numbers_size(); i < n; ++i) {
    const auto& s = this->_internal_room_numbers(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.CameraRoomFilter.room_numbers");
    target = stream->WriteString(3, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraRoomFilter)
  return target;
}

::size_t CameraRoomFilter::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraRoomFilter)
  ::size_t total_size = 0;

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

  // repeated string camera_uids = 1;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_camera_uids().size());
  for (int i = 0, n = _internal_camera_uids().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_camera_uids().Get(i));
  }

  // repeated int64 orpons = 2;
  {
    std::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
        this->_internal_orpons())
    ;
    _impl_._orpons_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }

  // repeated string room_numbers = 3;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_room_numbers().size());
  for (int i = 0, n = _internal_room_numbers().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_room_numbers().Get(i));
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraRoomFilter::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraRoomFilter*>(
      &from));
}

void CameraRoomFilter::MergeFrom(const CameraRoomFilter& from) {
  CameraRoomFilter* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraRoomFilter)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_camera_uids()->MergeFrom(from._internal_camera_uids());
  _this->_impl_.orpons_.MergeFrom(from._impl_.orpons_);
  _this->_internal_mutable_room_numbers()->MergeFrom(from._internal_room_numbers());
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraRoomFilter::CopyFrom(const CameraRoomFilter& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraRoomFilter)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CameraRoomFilter::IsInitialized() const {
  return true;
}

void CameraRoomFilter::InternalSwap(CameraRoomFilter* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _internal_mutable_camera_uids()->InternalSwap(
      other->_internal_mutable_camera_uids());
  _impl_.orpons_.InternalSwap(&other->_impl_.orpons_);
  _internal_mutable_room_numbers()->InternalSwap(
      other->_internal_mutable_room_numbers());
}

std::string CameraRoomFilter::GetTypeName() const {
  return "keyapis.vc.v1.CameraRoomFilter";
}

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

class CameraRoomPaging::_Internal {
 public:
};

CameraRoomPaging::CameraRoomPaging(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraRoomPaging)
}
CameraRoomPaging::CameraRoomPaging(const CameraRoomPaging& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraRoomPaging)
}

inline void CameraRoomPaging::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.order_by_type_) { 0 }

    , decltype(_impl_.direction_type_) { 0 }

    , decltype(_impl_.limit_) { 0 }

    , decltype(_impl_.offset_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CameraRoomPaging::~CameraRoomPaging() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraRoomPaging)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraRoomPaging::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

void CameraRoomPaging::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraRoomPaging::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraRoomPaging)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* CameraRoomPaging::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraRoomPaging.OrderByType order_by_type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_order_by_type(static_cast<::keyapis::vc::v1::CameraRoomPaging_OrderByType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraRoomPaging.DirectionType direction_type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_direction_type(static_cast<::keyapis::vc::v1::CameraRoomPaging_DirectionType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 limit = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 24)) {
          _impl_.limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 offset = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 32)) {
          _impl_.offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraRoomPaging::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraRoomPaging)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.CameraRoomPaging.OrderByType order_by_type = 1;
  if (this->_internal_order_by_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_order_by_type(), target);
  }

  // .keyapis.vc.v1.CameraRoomPaging.DirectionType direction_type = 2;
  if (this->_internal_direction_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_direction_type(), target);
  }

  // int32 limit = 3;
  if (this->_internal_limit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        3, this->_internal_limit(), target);
  }

  // int32 offset = 4;
  if (this->_internal_offset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        4, this->_internal_offset(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraRoomPaging)
  return target;
}

::size_t CameraRoomPaging::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraRoomPaging)
  ::size_t total_size = 0;

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

  // .keyapis.vc.v1.CameraRoomPaging.OrderByType order_by_type = 1;
  if (this->_internal_order_by_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_order_by_type());
  }

  // .keyapis.vc.v1.CameraRoomPaging.DirectionType direction_type = 2;
  if (this->_internal_direction_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_direction_type());
  }

  // int32 limit = 3;
  if (this->_internal_limit() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_limit());
  }

  // int32 offset = 4;
  if (this->_internal_offset() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_offset());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraRoomPaging::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraRoomPaging*>(
      &from));
}

void CameraRoomPaging::MergeFrom(const CameraRoomPaging& from) {
  CameraRoomPaging* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraRoomPaging)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_order_by_type() != 0) {
    _this->_internal_set_order_by_type(from._internal_order_by_type());
  }
  if (from._internal_direction_type() != 0) {
    _this->_internal_set_direction_type(from._internal_direction_type());
  }
  if (from._internal_limit() != 0) {
    _this->_internal_set_limit(from._internal_limit());
  }
  if (from._internal_offset() != 0) {
    _this->_internal_set_offset(from._internal_offset());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraRoomPaging::CopyFrom(const CameraRoomPaging& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraRoomPaging)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CameraRoomPaging::IsInitialized() const {
  return true;
}

void CameraRoomPaging::InternalSwap(CameraRoomPaging* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CameraRoomPaging, _impl_.offset_)
      + sizeof(CameraRoomPaging::_impl_.offset_)
      - PROTOBUF_FIELD_OFFSET(CameraRoomPaging, _impl_.order_by_type_)>(
          reinterpret_cast<char*>(&_impl_.order_by_type_),
          reinterpret_cast<char*>(&other->_impl_.order_by_type_));
}

std::string CameraRoomPaging::GetTypeName() const {
  return "keyapis.vc.v1.CameraRoomPaging";
}

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

class Camera_ValidationError_RtspUrlRequired::_Internal {
 public:
};

Camera_ValidationError_RtspUrlRequired::Camera_ValidationError_RtspUrlRequired(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
}
Camera_ValidationError_RtspUrlRequired::Camera_ValidationError_RtspUrlRequired(const Camera_ValidationError_RtspUrlRequired& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
}

inline void Camera_ValidationError_RtspUrlRequired::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      /*decltype(_impl_._cached_size_)*/{}
  };
}

Camera_ValidationError_RtspUrlRequired::~Camera_ValidationError_RtspUrlRequired() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Camera_ValidationError_RtspUrlRequired::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

void Camera_ValidationError_RtspUrlRequired::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Camera_ValidationError_RtspUrlRequired::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* Camera_ValidationError_RtspUrlRequired::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* Camera_ValidationError_RtspUrlRequired::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
  return target;
}

::size_t Camera_ValidationError_RtspUrlRequired::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
  ::size_t total_size = 0;

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

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Camera_ValidationError_RtspUrlRequired::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const Camera_ValidationError_RtspUrlRequired*>(
      &from));
}

void Camera_ValidationError_RtspUrlRequired::MergeFrom(const Camera_ValidationError_RtspUrlRequired& from) {
  Camera_ValidationError_RtspUrlRequired* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

void Camera_ValidationError_RtspUrlRequired::CopyFrom(const Camera_ValidationError_RtspUrlRequired& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Camera_ValidationError_RtspUrlRequired::IsInitialized() const {
  return true;
}

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

std::string Camera_ValidationError_RtspUrlRequired::GetTypeName() const {
  return "keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired";
}

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

class Camera_ValidationError_OneFieldMacOrSerialNumberRequired::_Internal {
 public:
};

Camera_ValidationError_OneFieldMacOrSerialNumberRequired::Camera_ValidationError_OneFieldMacOrSerialNumberRequired(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
}
Camera_ValidationError_OneFieldMacOrSerialNumberRequired::Camera_ValidationError_OneFieldMacOrSerialNumberRequired(const Camera_ValidationError_OneFieldMacOrSerialNumberRequired& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
}

inline void Camera_ValidationError_OneFieldMacOrSerialNumberRequired::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      /*decltype(_impl_._cached_size_)*/{}
  };
}

Camera_ValidationError_OneFieldMacOrSerialNumberRequired::~Camera_ValidationError_OneFieldMacOrSerialNumberRequired() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Camera_ValidationError_OneFieldMacOrSerialNumberRequired::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

void Camera_ValidationError_OneFieldMacOrSerialNumberRequired::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Camera_ValidationError_OneFieldMacOrSerialNumberRequired::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* Camera_ValidationError_OneFieldMacOrSerialNumberRequired::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* Camera_ValidationError_OneFieldMacOrSerialNumberRequired::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
  return target;
}

::size_t Camera_ValidationError_OneFieldMacOrSerialNumberRequired::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
  ::size_t total_size = 0;

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

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Camera_ValidationError_OneFieldMacOrSerialNumberRequired::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const Camera_ValidationError_OneFieldMacOrSerialNumberRequired*>(
      &from));
}

void Camera_ValidationError_OneFieldMacOrSerialNumberRequired::MergeFrom(const Camera_ValidationError_OneFieldMacOrSerialNumberRequired& from) {
  Camera_ValidationError_OneFieldMacOrSerialNumberRequired* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

void Camera_ValidationError_OneFieldMacOrSerialNumberRequired::CopyFrom(const Camera_ValidationError_OneFieldMacOrSerialNumberRequired& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Camera_ValidationError_OneFieldMacOrSerialNumberRequired::IsInitialized() const {
  return true;
}

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

std::string Camera_ValidationError_OneFieldMacOrSerialNumberRequired::GetTypeName() const {
  return "keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired";
}

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

class Camera_ValidationError::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::Camera_ValidationError, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::Camera_ValidationError_RtspUrlRequired& rtsp_url_required(const Camera_ValidationError* msg);
  static const ::keyapis::vc::v1::Camera_ValidationError_OneFieldMacOrSerialNumberRequired& one_field_mac_or_serial_number_required(const Camera_ValidationError* msg);
};

const ::keyapis::vc::v1::Camera_ValidationError_RtspUrlRequired&
Camera_ValidationError::_Internal::rtsp_url_required(const Camera_ValidationError* msg) {
  return *msg->_impl_.reason_.rtsp_url_required_;
}
const ::keyapis::vc::v1::Camera_ValidationError_OneFieldMacOrSerialNumberRequired&
Camera_ValidationError::_Internal::one_field_mac_or_serial_number_required(const Camera_ValidationError* msg) {
  return *msg->_impl_.reason_.one_field_mac_or_serial_number_required_;
}
void Camera_ValidationError::set_allocated_rtsp_url_required(::keyapis::vc::v1::Camera_ValidationError_RtspUrlRequired* rtsp_url_required) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (rtsp_url_required) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rtsp_url_required);
    if (message_arena != submessage_arena) {
      rtsp_url_required = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rtsp_url_required, submessage_arena);
    }
    set_has_rtsp_url_required();
    _impl_.reason_.rtsp_url_required_ = rtsp_url_required;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Camera.ValidationError.rtsp_url_required)
}
void Camera_ValidationError::set_allocated_one_field_mac_or_serial_number_required(::keyapis::vc::v1::Camera_ValidationError_OneFieldMacOrSerialNumberRequired* one_field_mac_or_serial_number_required) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (one_field_mac_or_serial_number_required) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(one_field_mac_or_serial_number_required);
    if (message_arena != submessage_arena) {
      one_field_mac_or_serial_number_required = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, one_field_mac_or_serial_number_required, submessage_arena);
    }
    set_has_one_field_mac_or_serial_number_required();
    _impl_.reason_.one_field_mac_or_serial_number_required_ = one_field_mac_or_serial_number_required;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.Camera.ValidationError.one_field_mac_or_serial_number_required)
}
Camera_ValidationError::Camera_ValidationError(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.Camera.ValidationError)
}
Camera_ValidationError::Camera_ValidationError(const Camera_ValidationError& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  Camera_ValidationError* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kRtspUrlRequired: {
      _this->_internal_mutable_rtsp_url_required()->::keyapis::vc::v1::Camera_ValidationError_RtspUrlRequired::MergeFrom(
          from._internal_rtsp_url_required());
      break;
    }
    case kOneFieldMacOrSerialNumberRequired: {
      _this->_internal_mutable_one_field_mac_or_serial_number_required()->::keyapis::vc::v1::Camera_ValidationError_OneFieldMacOrSerialNumberRequired::MergeFrom(
          from._internal_one_field_mac_or_serial_number_required());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.Camera.ValidationError)
}

inline void Camera_ValidationError::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

Camera_ValidationError::~Camera_ValidationError() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.Camera.ValidationError)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Camera_ValidationError::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void Camera_ValidationError::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Camera_ValidationError::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.Camera.ValidationError)
  switch (reason_case()) {
    case kRtspUrlRequired: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.rtsp_url_required_;
      }
      break;
    }
    case kOneFieldMacOrSerialNumberRequired: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.one_field_mac_or_serial_number_required_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void Camera_ValidationError::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.Camera.ValidationError)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* Camera_ValidationError::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired rtsp_url_required = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_rtsp_url_required(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired one_field_mac_or_serial_number_required = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_one_field_mac_or_serial_number_required(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* Camera_ValidationError::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.Camera.ValidationError)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (reason_case()) {
    case kRtspUrlRequired: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::rtsp_url_required(this),
          _Internal::rtsp_url_required(this).GetCachedSize(), target, stream);
      break;
    }
    case kOneFieldMacOrSerialNumberRequired: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::one_field_mac_or_serial_number_required(this),
          _Internal::one_field_mac_or_serial_number_required(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.Camera.ValidationError)
  return target;
}

::size_t Camera_ValidationError::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.Camera.ValidationError)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.Camera.ValidationError.RtspUrlRequired rtsp_url_required = 1;
    case kRtspUrlRequired: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.rtsp_url_required_);
      break;
    }
    // .keyapis.vc.v1.Camera.ValidationError.OneFieldMacOrSerialNumberRequired one_field_mac_or_serial_number_required = 2;
    case kOneFieldMacOrSerialNumberRequired: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.one_field_mac_or_serial_number_required_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Camera_ValidationError::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const Camera_ValidationError*>(
      &from));
}

void Camera_ValidationError::MergeFrom(const Camera_ValidationError& from) {
  Camera_ValidationError* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.Camera.ValidationError)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kRtspUrlRequired: {
      _this->_internal_mutable_rtsp_url_required()->::keyapis::vc::v1::Camera_ValidationError_RtspUrlRequired::MergeFrom(
          from._internal_rtsp_url_required());
      break;
    }
    case kOneFieldMacOrSerialNumberRequired: {
      _this->_internal_mutable_one_field_mac_or_serial_number_required()->::keyapis::vc::v1::Camera_ValidationError_OneFieldMacOrSerialNumberRequired::MergeFrom(
          from._internal_one_field_mac_or_serial_number_required());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void Camera_ValidationError::CopyFrom(const Camera_ValidationError& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.Camera.ValidationError)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Camera_ValidationError::IsInitialized() const {
  return true;
}

void Camera_ValidationError::InternalSwap(Camera_ValidationError* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string Camera_ValidationError::GetTypeName() const {
  return "keyapis.vc.v1.Camera.ValidationError";
}

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

class Camera::_Internal {
 public:
  using HasBits = decltype(std::declval<Camera>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Camera, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& status_changed_at(const Camera* msg);
  static void set_has_status_changed_at(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& tariff_started_at(const Camera* msg);
  static void set_has_tariff_started_at(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& tariff_ended_at(const Camera* msg);
  static void set_has_tariff_ended_at(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::Timestamp&
Camera::_Internal::status_changed_at(const Camera* msg) {
  return *msg->_impl_.status_changed_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
Camera::_Internal::tariff_started_at(const Camera* msg) {
  return *msg->_impl_.tariff_started_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
Camera::_Internal::tariff_ended_at(const Camera* msg) {
  return *msg->_impl_.tariff_ended_at_;
}
void Camera::clear_status_changed_at() {
  if (_impl_.status_changed_at_ != nullptr) _impl_.status_changed_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
void Camera::clear_tariff_started_at() {
  if (_impl_.tariff_started_at_ != nullptr) _impl_.tariff_started_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
void Camera::clear_tariff_ended_at() {
  if (_impl_.tariff_ended_at_ != nullptr) _impl_.tariff_ended_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
Camera::Camera(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.Camera)
}
Camera::Camera(const Camera& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  Camera* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.id_) {}

    , decltype(_impl_.uid_) {}

    , decltype(_impl_.name_) {}

    , decltype(_impl_.mac_) {}

    , decltype(_impl_.ip_) {}

    , decltype(_impl_.remote_ip_) {}

    , decltype(_impl_.tariff_title_) {}

    , decltype(_impl_.rtsp_url_) {}

    , decltype(_impl_.serial_number_) {}

    , decltype(_impl_.status_changed_at_){nullptr}
    , decltype(_impl_.tariff_started_at_){nullptr}
    , decltype(_impl_.tariff_ended_at_){nullptr}
    , decltype(_impl_.is_online_) {}

    , decltype(_impl_.is_active_user_camera_) {}

    , decltype(_impl_.type_) {}

    , decltype(_impl_.camera_category_id_) {}

    , decltype(_impl_.company_id_) {}
  };

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_id().empty()) {
    _this->_impl_.id_.Set(from._internal_id(), _this->GetArenaForAllocation());
  }
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_uid().empty()) {
    _this->_impl_.uid_.Set(from._internal_uid(), _this->GetArenaForAllocation());
  }
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.name_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), _this->GetArenaForAllocation());
  }
  _impl_.mac_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.mac_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mac().empty()) {
    _this->_impl_.mac_.Set(from._internal_mac(), _this->GetArenaForAllocation());
  }
  _impl_.ip_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.ip_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_ip().empty()) {
    _this->_impl_.ip_.Set(from._internal_ip(), _this->GetArenaForAllocation());
  }
  _impl_.remote_ip_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.remote_ip_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_remote_ip().empty()) {
    _this->_impl_.remote_ip_.Set(from._internal_remote_ip(), _this->GetArenaForAllocation());
  }
  _impl_.tariff_title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.tariff_title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_tariff_title().empty()) {
    _this->_impl_.tariff_title_.Set(from._internal_tariff_title(), _this->GetArenaForAllocation());
  }
  _impl_.rtsp_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.rtsp_url_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_rtsp_url().empty()) {
    _this->_impl_.rtsp_url_.Set(from._internal_rtsp_url(), _this->GetArenaForAllocation());
  }
  _impl_.serial_number_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.serial_number_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_serial_number().empty()) {
    _this->_impl_.serial_number_.Set(from._internal_serial_number(), _this->GetArenaForAllocation());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.status_changed_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.status_changed_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.tariff_started_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.tariff_started_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000004u) != 0) {
    _this->_impl_.tariff_ended_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.tariff_ended_at_);
  }
  ::memcpy(&_impl_.is_online_, &from._impl_.is_online_,
    static_cast<::size_t>(reinterpret_cast<char*>(&_impl_.company_id_) -
    reinterpret_cast<char*>(&_impl_.is_online_)) + sizeof(_impl_.company_id_));
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.Camera)
}

inline void Camera::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.id_) {}

    , decltype(_impl_.uid_) {}

    , decltype(_impl_.name_) {}

    , decltype(_impl_.mac_) {}

    , decltype(_impl_.ip_) {}

    , decltype(_impl_.remote_ip_) {}

    , decltype(_impl_.tariff_title_) {}

    , decltype(_impl_.rtsp_url_) {}

    , decltype(_impl_.serial_number_) {}

    , decltype(_impl_.status_changed_at_){nullptr}
    , decltype(_impl_.tariff_started_at_){nullptr}
    , decltype(_impl_.tariff_ended_at_){nullptr}
    , decltype(_impl_.is_online_) { false }

    , decltype(_impl_.is_active_user_camera_) { false }

    , decltype(_impl_.type_) { 0 }

    , decltype(_impl_.camera_category_id_) { 0 }

    , decltype(_impl_.company_id_) { 0 }

  };
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.name_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.mac_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.mac_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.ip_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.ip_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.remote_ip_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.remote_ip_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.tariff_title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.tariff_title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.rtsp_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.rtsp_url_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.serial_number_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.serial_number_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

Camera::~Camera() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.Camera)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Camera::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.id_.Destroy();
  _impl_.uid_.Destroy();
  _impl_.name_.Destroy();
  _impl_.mac_.Destroy();
  _impl_.ip_.Destroy();
  _impl_.remote_ip_.Destroy();
  _impl_.tariff_title_.Destroy();
  _impl_.rtsp_url_.Destroy();
  _impl_.serial_number_.Destroy();
  if (this != internal_default_instance()) delete _impl_.status_changed_at_;
  if (this != internal_default_instance()) delete _impl_.tariff_started_at_;
  if (this != internal_default_instance()) delete _impl_.tariff_ended_at_;
}

void Camera::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Camera::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.Camera)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.id_.ClearToEmpty();
  _impl_.uid_.ClearToEmpty();
  _impl_.name_.ClearToEmpty();
  _impl_.mac_.ClearToEmpty();
  _impl_.ip_.ClearToEmpty();
  _impl_.remote_ip_.ClearToEmpty();
  _impl_.tariff_title_.ClearToEmpty();
  _impl_.rtsp_url_.ClearToEmpty();
  _impl_.serial_number_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.status_changed_at_ != nullptr);
      _impl_.status_changed_at_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.tariff_started_at_ != nullptr);
      _impl_.tariff_started_at_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.tariff_ended_at_ != nullptr);
      _impl_.tariff_ended_at_->Clear();
    }
  }
  ::memset(&_impl_.is_online_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.company_id_) -
      reinterpret_cast<char*>(&_impl_.is_online_)) + sizeof(_impl_.company_id_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* Camera::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_id();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_uid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string name = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // bool is_online = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 32)) {
          _impl_.is_online_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // bool is_active_user_camera = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 40)) {
          _impl_.is_active_user_camera_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp status_changed_at = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_status_changed_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string mac = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 58)) {
          auto str = _internal_mutable_mac();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string ip = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 66)) {
          auto str = _internal_mutable_ip();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string remote_ip = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 74)) {
          auto str = _internal_mutable_remote_ip();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp tariff_started_at = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_tariff_started_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp tariff_ended_at = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_tariff_ended_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string tariff_title = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 98)) {
          auto str = _internal_mutable_tariff_title();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.Camera.Type type = 13 [(.google.api.field_behavior) = INPUT_ONLY];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 104)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_type(static_cast<::keyapis::vc::v1::Camera_Type>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 camera_category_id = 14 [(.google.api.field_behavior) = INPUT_ONLY];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 112)) {
          _impl_.camera_category_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string rtsp_url = 15 [(.google.api.field_behavior) = INPUT_ONLY];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 122)) {
          auto str = _internal_mutable_rtsp_url();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string serial_number = 16 [(.google.api.field_behavior) = INPUT_ONLY];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 130)) {
          auto str = _internal_mutable_serial_number();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 company_id = 17 [(.google.api.field_behavior) = INPUT_ONLY];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 136)) {
          _impl_.company_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* Camera::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.Camera)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_id().empty()) {
    const std::string& _s = this->_internal_id();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.id");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_uid().empty()) {
    const std::string& _s = this->_internal_uid();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.uid");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string name = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // bool is_online = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (this->_internal_is_online() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_is_online(), target);
  }

  // bool is_active_user_camera = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (this->_internal_is_active_user_camera() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_is_active_user_camera(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .google.protobuf.Timestamp status_changed_at = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::status_changed_at(this),
        _Internal::status_changed_at(this).GetCachedSize(), target, stream);
  }

  // string mac = 7;
  if (!this->_internal_mac().empty()) {
    const std::string& _s = this->_internal_mac();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.mac");
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // string ip = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_ip().empty()) {
    const std::string& _s = this->_internal_ip();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.ip");
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // string remote_ip = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_remote_ip().empty()) {
    const std::string& _s = this->_internal_remote_ip();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.remote_ip");
    target = stream->WriteStringMaybeAliased(9, _s, target);
  }

  // .google.protobuf.Timestamp tariff_started_at = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, _Internal::tariff_started_at(this),
        _Internal::tariff_started_at(this).GetCachedSize(), target, stream);
  }

  // .google.protobuf.Timestamp tariff_ended_at = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (cached_has_bits & 0x00000004u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(11, _Internal::tariff_ended_at(this),
        _Internal::tariff_ended_at(this).GetCachedSize(), target, stream);
  }

  // string tariff_title = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_tariff_title().empty()) {
    const std::string& _s = this->_internal_tariff_title();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.tariff_title");
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  // .keyapis.vc.v1.Camera.Type type = 13 [(.google.api.field_behavior) = INPUT_ONLY];
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        13, this->_internal_type(), target);
  }

  // int32 camera_category_id = 14 [(.google.api.field_behavior) = INPUT_ONLY];
  if (this->_internal_camera_category_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        14, this->_internal_camera_category_id(), target);
  }

  // string rtsp_url = 15 [(.google.api.field_behavior) = INPUT_ONLY];
  if (!this->_internal_rtsp_url().empty()) {
    const std::string& _s = this->_internal_rtsp_url();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.rtsp_url");
    target = stream->WriteStringMaybeAliased(15, _s, target);
  }

  // string serial_number = 16 [(.google.api.field_behavior) = INPUT_ONLY];
  if (!this->_internal_serial_number().empty()) {
    const std::string& _s = this->_internal_serial_number();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.Camera.serial_number");
    target = stream->WriteStringMaybeAliased(16, _s, target);
  }

  // int32 company_id = 17 [(.google.api.field_behavior) = INPUT_ONLY];
  if (this->_internal_company_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        17, this->_internal_company_id(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.Camera)
  return target;
}

::size_t Camera::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.Camera)
  ::size_t total_size = 0;

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

  // string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_id().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_id());
  }

  // string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_uid().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_uid());
  }

  // string name = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // string mac = 7;
  if (!this->_internal_mac().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_mac());
  }

  // string ip = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_ip().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_ip());
  }

  // string remote_ip = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_remote_ip().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_remote_ip());
  }

  // string tariff_title = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (!this->_internal_tariff_title().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_tariff_title());
  }

  // string rtsp_url = 15 [(.google.api.field_behavior) = INPUT_ONLY];
  if (!this->_internal_rtsp_url().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_rtsp_url());
  }

  // string serial_number = 16 [(.google.api.field_behavior) = INPUT_ONLY];
  if (!this->_internal_serial_number().empty()) {
    total_size += 2 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_serial_number());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .google.protobuf.Timestamp status_changed_at = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.status_changed_at_);
    }

    // .google.protobuf.Timestamp tariff_started_at = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.tariff_started_at_);
    }

    // .google.protobuf.Timestamp tariff_ended_at = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.tariff_ended_at_);
    }

  }
  // bool is_online = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (this->_internal_is_online() != 0) {
    total_size += 2;
  }

  // bool is_active_user_camera = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (this->_internal_is_active_user_camera() != 0) {
    total_size += 2;
  }

  // .keyapis.vc.v1.Camera.Type type = 13 [(.google.api.field_behavior) = INPUT_ONLY];
  if (this->_internal_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_type());
  }

  // int32 camera_category_id = 14 [(.google.api.field_behavior) = INPUT_ONLY];
  if (this->_internal_camera_category_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_camera_category_id());
  }

  // int32 company_id = 17 [(.google.api.field_behavior) = INPUT_ONLY];
  if (this->_internal_company_id() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_company_id());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Camera::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const Camera*>(
      &from));
}

void Camera::MergeFrom(const Camera& from) {
  Camera* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.Camera)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_id().empty()) {
    _this->_internal_set_id(from._internal_id());
  }
  if (!from._internal_uid().empty()) {
    _this->_internal_set_uid(from._internal_uid());
  }
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_mac().empty()) {
    _this->_internal_set_mac(from._internal_mac());
  }
  if (!from._internal_ip().empty()) {
    _this->_internal_set_ip(from._internal_ip());
  }
  if (!from._internal_remote_ip().empty()) {
    _this->_internal_set_remote_ip(from._internal_remote_ip());
  }
  if (!from._internal_tariff_title().empty()) {
    _this->_internal_set_tariff_title(from._internal_tariff_title());
  }
  if (!from._internal_rtsp_url().empty()) {
    _this->_internal_set_rtsp_url(from._internal_rtsp_url());
  }
  if (!from._internal_serial_number().empty()) {
    _this->_internal_set_serial_number(from._internal_serial_number());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_status_changed_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_status_changed_at());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_tariff_started_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_tariff_started_at());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_tariff_ended_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_tariff_ended_at());
    }
  }
  if (from._internal_is_online() != 0) {
    _this->_internal_set_is_online(from._internal_is_online());
  }
  if (from._internal_is_active_user_camera() != 0) {
    _this->_internal_set_is_active_user_camera(from._internal_is_active_user_camera());
  }
  if (from._internal_type() != 0) {
    _this->_internal_set_type(from._internal_type());
  }
  if (from._internal_camera_category_id() != 0) {
    _this->_internal_set_camera_category_id(from._internal_camera_category_id());
  }
  if (from._internal_company_id() != 0) {
    _this->_internal_set_company_id(from._internal_company_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void Camera::CopyFrom(const Camera& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.Camera)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Camera::IsInitialized() const {
  return true;
}

void Camera::InternalSwap(Camera* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, lhs_arena,
                                       &other->_impl_.id_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.uid_, lhs_arena,
                                       &other->_impl_.uid_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, lhs_arena,
                                       &other->_impl_.name_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mac_, lhs_arena,
                                       &other->_impl_.mac_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ip_, lhs_arena,
                                       &other->_impl_.ip_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.remote_ip_, lhs_arena,
                                       &other->_impl_.remote_ip_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tariff_title_, lhs_arena,
                                       &other->_impl_.tariff_title_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rtsp_url_, lhs_arena,
                                       &other->_impl_.rtsp_url_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.serial_number_, lhs_arena,
                                       &other->_impl_.serial_number_, rhs_arena);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Camera, _impl_.company_id_)
      + sizeof(Camera::_impl_.company_id_)
      - PROTOBUF_FIELD_OFFSET(Camera, _impl_.status_changed_at_)>(
          reinterpret_cast<char*>(&_impl_.status_changed_at_),
          reinterpret_cast<char*>(&other->_impl_.status_changed_at_));
}

std::string Camera::GetTypeName() const {
  return "keyapis.vc.v1.Camera";
}

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

class CameraFilter::_Internal {
 public:
  using HasBits = decltype(std::declval<CameraFilter>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CameraFilter, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::BoolValue& is_active(const CameraFilter* msg);
  static void set_has_is_active(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::BoolValue& is_channel_alive(const CameraFilter* msg);
  static void set_has_is_channel_alive(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::BoolValue& is_online(const CameraFilter* msg);
  static void set_has_is_online(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::BoolValue&
CameraFilter::_Internal::is_active(const CameraFilter* msg) {
  return *msg->_impl_.is_active_;
}
const ::PROTOBUF_NAMESPACE_ID::BoolValue&
CameraFilter::_Internal::is_channel_alive(const CameraFilter* msg) {
  return *msg->_impl_.is_channel_alive_;
}
const ::PROTOBUF_NAMESPACE_ID::BoolValue&
CameraFilter::_Internal::is_online(const CameraFilter* msg) {
  return *msg->_impl_.is_online_;
}
void CameraFilter::clear_is_active() {
  if (_impl_.is_active_ != nullptr) _impl_.is_active_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
void CameraFilter::clear_is_channel_alive() {
  if (_impl_.is_channel_alive_ != nullptr) _impl_.is_channel_alive_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
void CameraFilter::clear_is_online() {
  if (_impl_.is_online_ != nullptr) _impl_.is_online_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
CameraFilter::CameraFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraFilter)
}
CameraFilter::CameraFilter(const CameraFilter& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  CameraFilter* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.is_active_){nullptr}
    , decltype(_impl_.is_channel_alive_){nullptr}
    , decltype(_impl_.is_online_){nullptr}
    , decltype(_impl_.camera_type_) {}
  };

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.is_active_ = new ::PROTOBUF_NAMESPACE_ID::BoolValue(*from._impl_.is_active_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.is_channel_alive_ = new ::PROTOBUF_NAMESPACE_ID::BoolValue(*from._impl_.is_channel_alive_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000004u) != 0) {
    _this->_impl_.is_online_ = new ::PROTOBUF_NAMESPACE_ID::BoolValue(*from._impl_.is_online_);
  }
  _this->_impl_.camera_type_ = from._impl_.camera_type_;
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraFilter)
}

inline void CameraFilter::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.is_active_){nullptr}
    , decltype(_impl_.is_channel_alive_){nullptr}
    , decltype(_impl_.is_online_){nullptr}
    , decltype(_impl_.camera_type_) { 0 }

  };
}

CameraFilter::~CameraFilter() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraFilter)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraFilter::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.is_active_;
  if (this != internal_default_instance()) delete _impl_.is_channel_alive_;
  if (this != internal_default_instance()) delete _impl_.is_online_;
}

void CameraFilter::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraFilter::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraFilter)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.is_active_ != nullptr);
      _impl_.is_active_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.is_channel_alive_ != nullptr);
      _impl_.is_channel_alive_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.is_online_ != nullptr);
      _impl_.is_online_->Clear();
    }
  }
  _impl_.camera_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* CameraFilter::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .google.protobuf.BoolValue is_active = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_is_active(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.BoolValue is_channel_alive = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_is_channel_alive(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.BoolValue is_online = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_is_online(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.Camera.Type camera_type = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 32)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_camera_type(static_cast<::keyapis::vc::v1::Camera_Type>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraFilter::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraFilter)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .google.protobuf.BoolValue is_active = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::is_active(this),
        _Internal::is_active(this).GetCachedSize(), target, stream);
  }

  // .google.protobuf.BoolValue is_channel_alive = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::is_channel_alive(this),
        _Internal::is_channel_alive(this).GetCachedSize(), target, stream);
  }

  // .google.protobuf.BoolValue is_online = 3;
  if (cached_has_bits & 0x00000004u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::is_online(this),
        _Internal::is_online(this).GetCachedSize(), target, stream);
  }

  // .keyapis.vc.v1.Camera.Type camera_type = 4;
  if (this->_internal_camera_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_camera_type(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraFilter)
  return target;
}

::size_t CameraFilter::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraFilter)
  ::size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .google.protobuf.BoolValue is_active = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.is_active_);
    }

    // .google.protobuf.BoolValue is_channel_alive = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.is_channel_alive_);
    }

    // .google.protobuf.BoolValue is_online = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.is_online_);
    }

  }
  // .keyapis.vc.v1.Camera.Type camera_type = 4;
  if (this->_internal_camera_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_camera_type());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraFilter::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraFilter*>(
      &from));
}

void CameraFilter::MergeFrom(const CameraFilter& from) {
  CameraFilter* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraFilter)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_is_active()->::PROTOBUF_NAMESPACE_ID::BoolValue::MergeFrom(
          from._internal_is_active());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_is_channel_alive()->::PROTOBUF_NAMESPACE_ID::BoolValue::MergeFrom(
          from._internal_is_channel_alive());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_is_online()->::PROTOBUF_NAMESPACE_ID::BoolValue::MergeFrom(
          from._internal_is_online());
    }
  }
  if (from._internal_camera_type() != 0) {
    _this->_internal_set_camera_type(from._internal_camera_type());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraFilter::CopyFrom(const CameraFilter& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraFilter)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CameraFilter::IsInitialized() const {
  return true;
}

void CameraFilter::InternalSwap(CameraFilter* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CameraFilter, _impl_.camera_type_)
      + sizeof(CameraFilter::_impl_.camera_type_)
      - PROTOBUF_FIELD_OFFSET(CameraFilter, _impl_.is_active_)>(
          reinterpret_cast<char*>(&_impl_.is_active_),
          reinterpret_cast<char*>(&other->_impl_.is_active_));
}

std::string CameraFilter::GetTypeName() const {
  return "keyapis.vc.v1.CameraFilter";
}

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

class CameraPaging::_Internal {
 public:
};

CameraPaging::CameraPaging(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraPaging)
}
CameraPaging::CameraPaging(const CameraPaging& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraPaging)
}

inline void CameraPaging::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.order_by_type_) { 0 }

    , decltype(_impl_.direction_type_) { 0 }

    , decltype(_impl_.limit_) { 0 }

    , decltype(_impl_.offset_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CameraPaging::~CameraPaging() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraPaging)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraPaging::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

void CameraPaging::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraPaging::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraPaging)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* CameraPaging::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraPaging.OrderByType order_by_type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_order_by_type(static_cast<::keyapis::vc::v1::CameraPaging_OrderByType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraPaging.DirectionType direction_type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_direction_type(static_cast<::keyapis::vc::v1::CameraPaging_DirectionType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 limit = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 24)) {
          _impl_.limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 offset = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 32)) {
          _impl_.offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraPaging::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraPaging)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.CameraPaging.OrderByType order_by_type = 1;
  if (this->_internal_order_by_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_order_by_type(), target);
  }

  // .keyapis.vc.v1.CameraPaging.DirectionType direction_type = 2;
  if (this->_internal_direction_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_direction_type(), target);
  }

  // int32 limit = 3;
  if (this->_internal_limit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        3, this->_internal_limit(), target);
  }

  // int32 offset = 4;
  if (this->_internal_offset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        4, this->_internal_offset(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraPaging)
  return target;
}

::size_t CameraPaging::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraPaging)
  ::size_t total_size = 0;

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

  // .keyapis.vc.v1.CameraPaging.OrderByType order_by_type = 1;
  if (this->_internal_order_by_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_order_by_type());
  }

  // .keyapis.vc.v1.CameraPaging.DirectionType direction_type = 2;
  if (this->_internal_direction_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_direction_type());
  }

  // int32 limit = 3;
  if (this->_internal_limit() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_limit());
  }

  // int32 offset = 4;
  if (this->_internal_offset() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_offset());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraPaging::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraPaging*>(
      &from));
}

void CameraPaging::MergeFrom(const CameraPaging& from) {
  CameraPaging* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraPaging)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_order_by_type() != 0) {
    _this->_internal_set_order_by_type(from._internal_order_by_type());
  }
  if (from._internal_direction_type() != 0) {
    _this->_internal_set_direction_type(from._internal_direction_type());
  }
  if (from._internal_limit() != 0) {
    _this->_internal_set_limit(from._internal_limit());
  }
  if (from._internal_offset() != 0) {
    _this->_internal_set_offset(from._internal_offset());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraPaging::CopyFrom(const CameraPaging& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraPaging)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CameraPaging::IsInitialized() const {
  return true;
}

void CameraPaging::InternalSwap(CameraPaging* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CameraPaging, _impl_.offset_)
      + sizeof(CameraPaging::_impl_.offset_)
      - PROTOBUF_FIELD_OFFSET(CameraPaging, _impl_.order_by_type_)>(
          reinterpret_cast<char*>(&_impl_.order_by_type_),
          reinterpret_cast<char*>(&other->_impl_.order_by_type_));
}

std::string CameraPaging::GetTypeName() const {
  return "keyapis.vc.v1.CameraPaging";
}

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

class CameraScope::_Internal {
 public:
};

CameraScope::CameraScope(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.CameraScope)
}
CameraScope::CameraScope(const CameraScope& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.CameraScope)
}

inline void CameraScope::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.vc_company_id_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CameraScope::~CameraScope() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.CameraScope)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CameraScope::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

void CameraScope::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CameraScope::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.CameraScope)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* CameraScope::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 vc_company_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.vc_company_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* CameraScope::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.CameraScope)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 vc_company_id = 1;
  if (this->_internal_vc_company_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        1, this->_internal_vc_company_id(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.CameraScope)
  return target;
}

::size_t CameraScope::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.CameraScope)
  ::size_t total_size = 0;

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

  // int32 vc_company_id = 1;
  if (this->_internal_vc_company_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_vc_company_id());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CameraScope::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const CameraScope*>(
      &from));
}

void CameraScope::MergeFrom(const CameraScope& from) {
  CameraScope* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.CameraScope)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_vc_company_id() != 0) {
    _this->_internal_set_vc_company_id(from._internal_vc_company_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void CameraScope::CopyFrom(const CameraScope& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.CameraScope)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CameraScope::IsInitialized() const {
  return true;
}

void CameraScope::InternalSwap(CameraScope* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);

  swap(_impl_.vc_company_id_, other->_impl_.vc_company_id_);
}

std::string CameraScope::GetTypeName() const {
  return "keyapis.vc.v1.CameraScope";
}

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

class GetCameraListRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraListRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraListRequest, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraListRequest, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::CameraScope& scope(const GetCameraListRequest* msg);
  static void set_has_scope(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::keyapis::vc::v1::CameraFilter& filter(const GetCameraListRequest* msg);
  static void set_has_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::keyapis::vc::v1::CameraPaging& paging(const GetCameraListRequest* msg);
};

const ::keyapis::vc::v1::CameraScope&
GetCameraListRequest::_Internal::scope(const GetCameraListRequest* msg) {
  return *msg->_impl_.scope_;
}
const ::keyapis::vc::v1::CameraFilter&
GetCameraListRequest::_Internal::filter(const GetCameraListRequest* msg) {
  return *msg->_impl_.filter_;
}
const ::keyapis::vc::v1::CameraPaging&
GetCameraListRequest::_Internal::paging(const GetCameraListRequest* msg) {
  return *msg->_impl_.pagination_.paging_;
}
void GetCameraListRequest::set_allocated_paging(::keyapis::vc::v1::CameraPaging* paging) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_pagination();
  if (paging) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(paging);
    if (message_arena != submessage_arena) {
      paging = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, paging, submessage_arena);
    }
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraListRequest.paging)
}
GetCameraListRequest::GetCameraListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraListRequest)
}
GetCameraListRequest::GetCameraListRequest(const GetCameraListRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraListRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.scope_){nullptr}
    , decltype(_impl_.filter_){nullptr}
    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.scope_ = new ::keyapis::vc::v1::CameraScope(*from._impl_.scope_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.filter_ = new ::keyapis::vc::v1::CameraFilter(*from._impl_.filter_);
  }
  clear_has_pagination();
  switch (from.pagination_case()) {
    case kPaging: {
      _this->_internal_mutable_paging()->::keyapis::vc::v1::CameraPaging::MergeFrom(
          from._internal_paging());
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraListRequest)
}

inline void GetCameraListRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.scope_){nullptr}
    , decltype(_impl_.filter_){nullptr}
    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_pagination();
}

GetCameraListRequest::~GetCameraListRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraListRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraListRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.scope_;
  if (this != internal_default_instance()) delete _impl_.filter_;
  if (has_pagination()) {
    clear_pagination();
  }
}

void GetCameraListRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraListRequest::clear_pagination() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraListRequest)
  switch (pagination_case()) {
    case kPaging: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.pagination_.paging_;
      }
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = PAGINATION_NOT_SET;
}


void GetCameraListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraListRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.scope_ != nullptr);
      _impl_.scope_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.filter_ != nullptr);
      _impl_.filter_->Clear();
    }
  }
  clear_pagination();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraListRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraScope scope = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_scope(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraFilter filter = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_filter(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraPaging paging = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_paging(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraListRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraListRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraScope scope = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::scope(this),
        _Internal::scope(this).GetCachedSize(), target, stream);
  }

  // .keyapis.vc.v1.CameraFilter filter = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::filter(this),
        _Internal::filter(this).GetCachedSize(), target, stream);
  }

  // .keyapis.vc.v1.CameraPaging paging = 3;
  if (pagination_case() == kPaging) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::paging(this),
        _Internal::paging(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraListRequest)
  return target;
}

::size_t GetCameraListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraListRequest)
  ::size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .keyapis.vc.v1.CameraScope scope = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.scope_);
    }

    // .keyapis.vc.v1.CameraFilter filter = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.filter_);
    }

  }
  switch (pagination_case()) {
    // .keyapis.vc.v1.CameraPaging paging = 3;
    case kPaging: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.pagination_.paging_);
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraListRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraListRequest*>(
      &from));
}

void GetCameraListRequest::MergeFrom(const GetCameraListRequest& from) {
  GetCameraListRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraListRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_scope()->::keyapis::vc::v1::CameraScope::MergeFrom(
          from._internal_scope());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_filter()->::keyapis::vc::v1::CameraFilter::MergeFrom(
          from._internal_filter());
    }
  }
  switch (from.pagination_case()) {
    case kPaging: {
      _this->_internal_mutable_paging()->::keyapis::vc::v1::CameraPaging::MergeFrom(
          from._internal_paging());
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraListRequest::CopyFrom(const GetCameraListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraListRequest::IsInitialized() const {
  return true;
}

void GetCameraListRequest::InternalSwap(GetCameraListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetCameraListRequest, _impl_.filter_)
      + sizeof(GetCameraListRequest::_impl_.filter_)
      - PROTOBUF_FIELD_OFFSET(GetCameraListRequest, _impl_.scope_)>(
          reinterpret_cast<char*>(&_impl_.scope_),
          reinterpret_cast<char*>(&other->_impl_.scope_));
  swap(_impl_.pagination_, other->_impl_.pagination_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraListRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraListRequest";
}

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

class GetCameraListResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraListResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraListResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraListResponse_Error::_Internal::validation(const GetCameraListResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void GetCameraListResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraListResponse.Error.validation)
}
GetCameraListResponse_Error::GetCameraListResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraListResponse.Error)
}
GetCameraListResponse_Error::GetCameraListResponse_Error(const GetCameraListResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraListResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraListResponse.Error)
}

inline void GetCameraListResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraListResponse_Error::~GetCameraListResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraListResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraListResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraListResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraListResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraListResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraListResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraListResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraListResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraListResponse.Error)
  return target;
}

::size_t GetCameraListResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraListResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraListResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraListResponse_Error*>(
      &from));
}

void GetCameraListResponse_Error::MergeFrom(const GetCameraListResponse_Error& from) {
  GetCameraListResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraListResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraListResponse_Error::CopyFrom(const GetCameraListResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraListResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraListResponse_Error::IsInitialized() const {
  return true;
}

void GetCameraListResponse_Error::InternalSwap(GetCameraListResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraListResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraListResponse.Error";
}

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

class GetCameraListResponse_Data::_Internal {
 public:
};

GetCameraListResponse_Data::GetCameraListResponse_Data(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraListResponse.Data)
}
GetCameraListResponse_Data::GetCameraListResponse_Data(const GetCameraListResponse_Data& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraListResponse_Data* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){from._impl_.items_}
    , decltype(_impl_.total_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _this->_impl_.total_ = from._impl_.total_;
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraListResponse.Data)
}

inline void GetCameraListResponse_Data::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){arena}
    , decltype(_impl_.total_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
}

GetCameraListResponse_Data::~GetCameraListResponse_Data() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraListResponse.Data)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraListResponse_Data::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_items()->~RepeatedPtrField();
}

void GetCameraListResponse_Data::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraListResponse_Data::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraListResponse.Data)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_mutable_items()->Clear();
  _impl_.total_ = 0;
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraListResponse_Data::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .keyapis.vc.v1.Camera items = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_items(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 total = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          _impl_.total_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraListResponse_Data::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraListResponse.Data)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .keyapis.vc.v1.Camera items = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 total = 2;
  if (this->_internal_total() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        2, this->_internal_total(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraListResponse.Data)
  return target;
}

::size_t GetCameraListResponse_Data::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraListResponse.Data)
  ::size_t total_size = 0;

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

  // repeated .keyapis.vc.v1.Camera items = 1;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->_internal_items()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 total = 2;
  if (this->_internal_total() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_total());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraListResponse_Data::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraListResponse_Data*>(
      &from));
}

void GetCameraListResponse_Data::MergeFrom(const GetCameraListResponse_Data& from) {
  GetCameraListResponse_Data* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraListResponse.Data)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_items()->MergeFrom(from._internal_items());
  if (from._internal_total() != 0) {
    _this->_internal_set_total(from._internal_total());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraListResponse_Data::CopyFrom(const GetCameraListResponse_Data& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraListResponse.Data)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraListResponse_Data::IsInitialized() const {
  return true;
}

void GetCameraListResponse_Data::InternalSwap(GetCameraListResponse_Data* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _internal_mutable_items()->InternalSwap(other->_internal_mutable_items());

  swap(_impl_.total_, other->_impl_.total_);
}

std::string GetCameraListResponse_Data::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraListResponse.Data";
}

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

class GetCameraListResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraListResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::GetCameraListResponse_Data& data(const GetCameraListResponse* msg);
  static const ::keyapis::vc::v1::GetCameraListResponse_Error& error(const GetCameraListResponse* msg);
};

const ::keyapis::vc::v1::GetCameraListResponse_Data&
GetCameraListResponse::_Internal::data(const GetCameraListResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::vc::v1::GetCameraListResponse_Error&
GetCameraListResponse::_Internal::error(const GetCameraListResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetCameraListResponse::set_allocated_data(::keyapis::vc::v1::GetCameraListResponse_Data* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraListResponse.data)
}
void GetCameraListResponse::set_allocated_error(::keyapis::vc::v1::GetCameraListResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraListResponse.error)
}
GetCameraListResponse::GetCameraListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraListResponse)
}
GetCameraListResponse::GetCameraListResponse(const GetCameraListResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraListResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::GetCameraListResponse_Data::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraListResponse)
}

inline void GetCameraListResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetCameraListResponse::~GetCameraListResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraListResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraListResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void GetCameraListResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraListResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraListResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetCameraListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraListResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraListResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.GetCameraListResponse.Data data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraListResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraListResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraListResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraListResponse)
  return target;
}

::size_t GetCameraListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraListResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.GetCameraListResponse.Data data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.vc.v1.GetCameraListResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraListResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraListResponse*>(
      &from));
}

void GetCameraListResponse::MergeFrom(const GetCameraListResponse& from) {
  GetCameraListResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraListResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::GetCameraListResponse_Data::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraListResponse::CopyFrom(const GetCameraListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraListResponse::IsInitialized() const {
  return true;
}

void GetCameraListResponse::InternalSwap(GetCameraListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraListResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraListResponse";
}

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

class GetCameraRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraRequest, _impl_._has_bits_);
  static const ::keyapis::vc::v1::CameraScope& scope(const GetCameraRequest* msg);
  static void set_has_scope(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::vc::v1::CameraScope&
GetCameraRequest::_Internal::scope(const GetCameraRequest* msg) {
  return *msg->_impl_.scope_;
}
GetCameraRequest::GetCameraRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRequest)
}
GetCameraRequest::GetCameraRequest(const GetCameraRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.uid_) {}

    , decltype(_impl_.scope_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_uid().empty()) {
    _this->_impl_.uid_.Set(from._internal_uid(), _this->GetArenaForAllocation());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.scope_ = new ::keyapis::vc::v1::CameraScope(*from._impl_.scope_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRequest)
}

inline void GetCameraRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.uid_) {}

    , decltype(_impl_.scope_){nullptr}
  };
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

GetCameraRequest::~GetCameraRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.uid_.Destroy();
  if (this != internal_default_instance()) delete _impl_.scope_;
}

void GetCameraRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.uid_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.scope_ != nullptr);
    _impl_.scope_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraScope scope = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_scope(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string uid = 2 [(.google.api.field_behavior) = REQUIRED];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_uid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraScope scope = 1 [(.google.api.field_behavior) = REQUIRED];
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::scope(this),
        _Internal::scope(this).GetCachedSize(), target, stream);
  }

  // string uid = 2 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    const std::string& _s = this->_internal_uid();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.GetCameraRequest.uid");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRequest)
  return target;
}

::size_t GetCameraRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRequest)
  ::size_t total_size = 0;

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

  // string uid = 2 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_uid());
  }

  // .keyapis.vc.v1.CameraScope scope = 1 [(.google.api.field_behavior) = REQUIRED];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.scope_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRequest*>(
      &from));
}

void GetCameraRequest::MergeFrom(const GetCameraRequest& from) {
  GetCameraRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_uid().empty()) {
    _this->_internal_set_uid(from._internal_uid());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_scope()->::keyapis::vc::v1::CameraScope::MergeFrom(
        from._internal_scope());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRequest::CopyFrom(const GetCameraRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRequest::IsInitialized() const {
  return true;
}

void GetCameraRequest::InternalSwap(GetCameraRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.uid_, lhs_arena,
                                       &other->_impl_.uid_, rhs_arena);
  swap(_impl_.scope_, other->_impl_.scope_);
}

std::string GetCameraRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRequest";
}

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

class GetCameraResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraResponse_Error::_Internal::validation(const GetCameraResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void GetCameraResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraResponse.Error.validation)
}
GetCameraResponse_Error::GetCameraResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraResponse.Error)
}
GetCameraResponse_Error::GetCameraResponse_Error(const GetCameraResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraResponse.Error)
}

inline void GetCameraResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraResponse_Error::~GetCameraResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraResponse.Error)
  return target;
}

::size_t GetCameraResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraResponse_Error*>(
      &from));
}

void GetCameraResponse_Error::MergeFrom(const GetCameraResponse_Error& from) {
  GetCameraResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraResponse_Error::CopyFrom(const GetCameraResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraResponse_Error::IsInitialized() const {
  return true;
}

void GetCameraResponse_Error::InternalSwap(GetCameraResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraResponse.Error";
}

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

class GetCameraResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::Camera& data(const GetCameraResponse* msg);
  static const ::keyapis::vc::v1::GetCameraResponse_Error& error(const GetCameraResponse* msg);
};

const ::keyapis::vc::v1::Camera&
GetCameraResponse::_Internal::data(const GetCameraResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::vc::v1::GetCameraResponse_Error&
GetCameraResponse::_Internal::error(const GetCameraResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetCameraResponse::set_allocated_data(::keyapis::vc::v1::Camera* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraResponse.data)
}
void GetCameraResponse::set_allocated_error(::keyapis::vc::v1::GetCameraResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraResponse.error)
}
GetCameraResponse::GetCameraResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraResponse)
}
GetCameraResponse::GetCameraResponse(const GetCameraResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::Camera::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraResponse)
}

inline void GetCameraResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetCameraResponse::~GetCameraResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void GetCameraResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetCameraResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.Camera data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraResponse)
  return target;
}

::size_t GetCameraResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.Camera data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.vc.v1.GetCameraResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraResponse*>(
      &from));
}

void GetCameraResponse::MergeFrom(const GetCameraResponse& from) {
  GetCameraResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::Camera::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraResponse::CopyFrom(const GetCameraResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraResponse::IsInitialized() const {
  return true;
}

void GetCameraResponse::InternalSwap(GetCameraResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraResponse";
}

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

class GetCameraRtspUrlExternalIdRequest::_Internal {
 public:
};

GetCameraRtspUrlExternalIdRequest::GetCameraRtspUrlExternalIdRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
}
GetCameraRtspUrlExternalIdRequest::GetCameraRtspUrlExternalIdRequest(const GetCameraRtspUrlExternalIdRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRtspUrlExternalIdRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.external_id_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.external_id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.external_id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_external_id().empty()) {
    _this->_impl_.external_id_.Set(from._internal_external_id(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
}

inline void GetCameraRtspUrlExternalIdRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.external_id_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.external_id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.external_id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

GetCameraRtspUrlExternalIdRequest::~GetCameraRtspUrlExternalIdRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRtspUrlExternalIdRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.external_id_.Destroy();
}

void GetCameraRtspUrlExternalIdRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRtspUrlExternalIdRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraRtspUrlExternalIdRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string external_id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_external_id();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRtspUrlExternalIdRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string external_id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_external_id().empty()) {
    const std::string& _s = this->_internal_external_id();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest.external_id");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
  return target;
}

::size_t GetCameraRtspUrlExternalIdRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
  ::size_t total_size = 0;

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

  // string external_id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_external_id().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_external_id());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRtspUrlExternalIdRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRtspUrlExternalIdRequest*>(
      &from));
}

void GetCameraRtspUrlExternalIdRequest::MergeFrom(const GetCameraRtspUrlExternalIdRequest& from) {
  GetCameraRtspUrlExternalIdRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_external_id().empty()) {
    _this->_internal_set_external_id(from._internal_external_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRtspUrlExternalIdRequest::CopyFrom(const GetCameraRtspUrlExternalIdRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRtspUrlExternalIdRequest::IsInitialized() const {
  return true;
}

void GetCameraRtspUrlExternalIdRequest::InternalSwap(GetCameraRtspUrlExternalIdRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.external_id_, lhs_arena,
                                       &other->_impl_.external_id_, rhs_arena);
}

std::string GetCameraRtspUrlExternalIdRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRtspUrlExternalIdRequest";
}

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

class GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::_Internal {
 public:
};

GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
}
GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl(const GetCameraRtspUrlExternalIdResponse_CameraRtspUrl& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRtspUrlExternalIdResponse_CameraRtspUrl* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.rtsp_url_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.rtsp_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.rtsp_url_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_rtsp_url().empty()) {
    _this->_impl_.rtsp_url_.Set(from._internal_rtsp_url(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
}

inline void GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.rtsp_url_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.rtsp_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.rtsp_url_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::~GetCameraRtspUrlExternalIdResponse_CameraRtspUrl() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.rtsp_url_.Destroy();
}

void GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string rtsp_url = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_rtsp_url();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string rtsp_url = 1;
  if (!this->_internal_rtsp_url().empty()) {
    const std::string& _s = this->_internal_rtsp_url();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl.rtsp_url");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
  return target;
}

::size_t GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
  ::size_t total_size = 0;

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

  // string rtsp_url = 1;
  if (!this->_internal_rtsp_url().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_rtsp_url());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRtspUrlExternalIdResponse_CameraRtspUrl*>(
      &from));
}

void GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::MergeFrom(const GetCameraRtspUrlExternalIdResponse_CameraRtspUrl& from) {
  GetCameraRtspUrlExternalIdResponse_CameraRtspUrl* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_rtsp_url().empty()) {
    _this->_internal_set_rtsp_url(from._internal_rtsp_url());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::CopyFrom(const GetCameraRtspUrlExternalIdResponse_CameraRtspUrl& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::IsInitialized() const {
  return true;
}

void GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::InternalSwap(GetCameraRtspUrlExternalIdResponse_CameraRtspUrl* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rtsp_url_, lhs_arena,
                                       &other->_impl_.rtsp_url_, rhs_arena);
}

std::string GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl";
}

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

class GetCameraRtspUrlExternalIdResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraRtspUrlExternalIdResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraRtspUrlExternalIdResponse_Error::_Internal::validation(const GetCameraRtspUrlExternalIdResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void GetCameraRtspUrlExternalIdResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error.validation)
}
GetCameraRtspUrlExternalIdResponse_Error::GetCameraRtspUrlExternalIdResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
}
GetCameraRtspUrlExternalIdResponse_Error::GetCameraRtspUrlExternalIdResponse_Error(const GetCameraRtspUrlExternalIdResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRtspUrlExternalIdResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
}

inline void GetCameraRtspUrlExternalIdResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraRtspUrlExternalIdResponse_Error::~GetCameraRtspUrlExternalIdResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRtspUrlExternalIdResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraRtspUrlExternalIdResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRtspUrlExternalIdResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraRtspUrlExternalIdResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraRtspUrlExternalIdResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRtspUrlExternalIdResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
  return target;
}

::size_t GetCameraRtspUrlExternalIdResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRtspUrlExternalIdResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRtspUrlExternalIdResponse_Error*>(
      &from));
}

void GetCameraRtspUrlExternalIdResponse_Error::MergeFrom(const GetCameraRtspUrlExternalIdResponse_Error& from) {
  GetCameraRtspUrlExternalIdResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRtspUrlExternalIdResponse_Error::CopyFrom(const GetCameraRtspUrlExternalIdResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRtspUrlExternalIdResponse_Error::IsInitialized() const {
  return true;
}

void GetCameraRtspUrlExternalIdResponse_Error::InternalSwap(GetCameraRtspUrlExternalIdResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraRtspUrlExternalIdResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error";
}

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

class GetCameraRtspUrlExternalIdResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl& data(const GetCameraRtspUrlExternalIdResponse* msg);
  static const ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error& error(const GetCameraRtspUrlExternalIdResponse* msg);
};

const ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl&
GetCameraRtspUrlExternalIdResponse::_Internal::data(const GetCameraRtspUrlExternalIdResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error&
GetCameraRtspUrlExternalIdResponse::_Internal::error(const GetCameraRtspUrlExternalIdResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetCameraRtspUrlExternalIdResponse::set_allocated_data(::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.data)
}
void GetCameraRtspUrlExternalIdResponse::set_allocated_error(::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.error)
}
GetCameraRtspUrlExternalIdResponse::GetCameraRtspUrlExternalIdResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
}
GetCameraRtspUrlExternalIdResponse::GetCameraRtspUrlExternalIdResponse(const GetCameraRtspUrlExternalIdResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRtspUrlExternalIdResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
}

inline void GetCameraRtspUrlExternalIdResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetCameraRtspUrlExternalIdResponse::~GetCameraRtspUrlExternalIdResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRtspUrlExternalIdResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void GetCameraRtspUrlExternalIdResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRtspUrlExternalIdResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetCameraRtspUrlExternalIdResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraRtspUrlExternalIdResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRtspUrlExternalIdResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
  return target;
}

::size_t GetCameraRtspUrlExternalIdResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.CameraRtspUrl data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRtspUrlExternalIdResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRtspUrlExternalIdResponse*>(
      &from));
}

void GetCameraRtspUrlExternalIdResponse::MergeFrom(const GetCameraRtspUrlExternalIdResponse& from) {
  GetCameraRtspUrlExternalIdResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRtspUrlExternalIdResponse::CopyFrom(const GetCameraRtspUrlExternalIdResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRtspUrlExternalIdResponse::IsInitialized() const {
  return true;
}

void GetCameraRtspUrlExternalIdResponse::InternalSwap(GetCameraRtspUrlExternalIdResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraRtspUrlExternalIdResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRtspUrlExternalIdResponse";
}

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

class PutCameraRoomAttachRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<PutCameraRoomAttachRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PutCameraRoomAttachRequest, _impl_._has_bits_);
  static const ::keyapis::vc::v1::CameraRoom& data(const PutCameraRoomAttachRequest* msg);
  static void set_has_data(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::vc::v1::CameraRoom&
PutCameraRoomAttachRequest::_Internal::data(const PutCameraRoomAttachRequest* msg) {
  return *msg->_impl_.data_;
}
PutCameraRoomAttachRequest::PutCameraRoomAttachRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomAttachRequest)
}
PutCameraRoomAttachRequest::PutCameraRoomAttachRequest(const PutCameraRoomAttachRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomAttachRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.data_ = new ::keyapis::vc::v1::CameraRoom(*from._impl_.data_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomAttachRequest)
}

inline void PutCameraRoomAttachRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){nullptr}
  };
}

PutCameraRoomAttachRequest::~PutCameraRoomAttachRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomAttachRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomAttachRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.data_;
}

void PutCameraRoomAttachRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomAttachRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomAttachRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.data_ != nullptr);
    _impl_.data_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* PutCameraRoomAttachRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraRoom data = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomAttachRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomAttachRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraRoom data = 1 [(.google.api.field_behavior) = REQUIRED];
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomAttachRequest)
  return target;
}

::size_t PutCameraRoomAttachRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomAttachRequest)
  ::size_t total_size = 0;

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

  // .keyapis.vc.v1.CameraRoom data = 1 [(.google.api.field_behavior) = REQUIRED];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.data_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomAttachRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomAttachRequest*>(
      &from));
}

void PutCameraRoomAttachRequest::MergeFrom(const PutCameraRoomAttachRequest& from) {
  PutCameraRoomAttachRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomAttachRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_data()->::keyapis::vc::v1::CameraRoom::MergeFrom(
        from._internal_data());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomAttachRequest::CopyFrom(const PutCameraRoomAttachRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomAttachRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomAttachRequest::IsInitialized() const {
  return true;
}

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

std::string PutCameraRoomAttachRequest::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomAttachRequest";
}

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

class PutCameraRoomAttachResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PutCameraRoomAttachResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const PutCameraRoomAttachResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
PutCameraRoomAttachResponse_Error::_Internal::validation(const PutCameraRoomAttachResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void PutCameraRoomAttachResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PutCameraRoomAttachResponse.Error.validation)
}
PutCameraRoomAttachResponse_Error::PutCameraRoomAttachResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
}
PutCameraRoomAttachResponse_Error::PutCameraRoomAttachResponse_Error(const PutCameraRoomAttachResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomAttachResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
}

inline void PutCameraRoomAttachResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

PutCameraRoomAttachResponse_Error::~PutCameraRoomAttachResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomAttachResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void PutCameraRoomAttachResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomAttachResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void PutCameraRoomAttachResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomAttachResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomAttachResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
  return target;
}

::size_t PutCameraRoomAttachResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomAttachResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomAttachResponse_Error*>(
      &from));
}

void PutCameraRoomAttachResponse_Error::MergeFrom(const PutCameraRoomAttachResponse_Error& from) {
  PutCameraRoomAttachResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomAttachResponse_Error::CopyFrom(const PutCameraRoomAttachResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomAttachResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomAttachResponse_Error::IsInitialized() const {
  return true;
}

void PutCameraRoomAttachResponse_Error::InternalSwap(PutCameraRoomAttachResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PutCameraRoomAttachResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomAttachResponse.Error";
}

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

class PutCameraRoomAttachResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PutCameraRoomAttachResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::PutCameraRoomAttachResponse_Error& error(const PutCameraRoomAttachResponse* msg);
};

const ::keyapis::vc::v1::PutCameraRoomAttachResponse_Error&
PutCameraRoomAttachResponse::_Internal::error(const PutCameraRoomAttachResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void PutCameraRoomAttachResponse::set_allocated_error(::keyapis::vc::v1::PutCameraRoomAttachResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PutCameraRoomAttachResponse.error)
}
PutCameraRoomAttachResponse::PutCameraRoomAttachResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomAttachResponse)
}
PutCameraRoomAttachResponse::PutCameraRoomAttachResponse(const PutCameraRoomAttachResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomAttachResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PutCameraRoomAttachResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomAttachResponse)
}

inline void PutCameraRoomAttachResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

PutCameraRoomAttachResponse::~PutCameraRoomAttachResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomAttachResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomAttachResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void PutCameraRoomAttachResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomAttachResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PutCameraRoomAttachResponse)
  switch (type_case()) {
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void PutCameraRoomAttachResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomAttachResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomAttachResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.PutCameraRoomAttachResponse.Error error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomAttachResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomAttachResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.PutCameraRoomAttachResponse.Error error = 1;
  if (type_case() == kError) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomAttachResponse)
  return target;
}

::size_t PutCameraRoomAttachResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomAttachResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.PutCameraRoomAttachResponse.Error error = 1;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomAttachResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomAttachResponse*>(
      &from));
}

void PutCameraRoomAttachResponse::MergeFrom(const PutCameraRoomAttachResponse& from) {
  PutCameraRoomAttachResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomAttachResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PutCameraRoomAttachResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomAttachResponse::CopyFrom(const PutCameraRoomAttachResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomAttachResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomAttachResponse::IsInitialized() const {
  return true;
}

void PutCameraRoomAttachResponse::InternalSwap(PutCameraRoomAttachResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PutCameraRoomAttachResponse::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomAttachResponse";
}

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

class PutCameraRoomAttachListRequest::_Internal {
 public:
};

PutCameraRoomAttachListRequest::PutCameraRoomAttachListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomAttachListRequest)
}
PutCameraRoomAttachListRequest::PutCameraRoomAttachListRequest(const PutCameraRoomAttachListRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomAttachListRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.data_){from._impl_.data_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomAttachListRequest)
}

inline void PutCameraRoomAttachListRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.data_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

PutCameraRoomAttachListRequest::~PutCameraRoomAttachListRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomAttachListRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomAttachListRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_data()->~RepeatedPtrField();
}

void PutCameraRoomAttachListRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomAttachListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomAttachListRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomAttachListRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .keyapis.vc.v1.CameraRoom data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_data(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomAttachListRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomAttachListRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .keyapis.vc.v1.CameraRoom data = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_data_size()); i < n; i++) {
    const auto& repfield = this->_internal_data(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomAttachListRequest)
  return target;
}

::size_t PutCameraRoomAttachListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomAttachListRequest)
  ::size_t total_size = 0;

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

  // repeated .keyapis.vc.v1.CameraRoom data = 1;
  total_size += 1UL * this->_internal_data_size();
  for (const auto& msg : this->_internal_data()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomAttachListRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomAttachListRequest*>(
      &from));
}

void PutCameraRoomAttachListRequest::MergeFrom(const PutCameraRoomAttachListRequest& from) {
  PutCameraRoomAttachListRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomAttachListRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

void PutCameraRoomAttachListRequest::CopyFrom(const PutCameraRoomAttachListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomAttachListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomAttachListRequest::IsInitialized() const {
  return true;
}

void PutCameraRoomAttachListRequest::InternalSwap(PutCameraRoomAttachListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _internal_mutable_data()->InternalSwap(other->_internal_mutable_data());
}

std::string PutCameraRoomAttachListRequest::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomAttachListRequest";
}

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

class PutCameraRoomAttachListResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const PutCameraRoomAttachListResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
PutCameraRoomAttachListResponse_Error::_Internal::validation(const PutCameraRoomAttachListResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void PutCameraRoomAttachListResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error.validation)
}
PutCameraRoomAttachListResponse_Error::PutCameraRoomAttachListResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
}
PutCameraRoomAttachListResponse_Error::PutCameraRoomAttachListResponse_Error(const PutCameraRoomAttachListResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomAttachListResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
}

inline void PutCameraRoomAttachListResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

PutCameraRoomAttachListResponse_Error::~PutCameraRoomAttachListResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomAttachListResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void PutCameraRoomAttachListResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomAttachListResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void PutCameraRoomAttachListResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomAttachListResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomAttachListResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
  return target;
}

::size_t PutCameraRoomAttachListResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomAttachListResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomAttachListResponse_Error*>(
      &from));
}

void PutCameraRoomAttachListResponse_Error::MergeFrom(const PutCameraRoomAttachListResponse_Error& from) {
  PutCameraRoomAttachListResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomAttachListResponse_Error::CopyFrom(const PutCameraRoomAttachListResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomAttachListResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomAttachListResponse_Error::IsInitialized() const {
  return true;
}

void PutCameraRoomAttachListResponse_Error::InternalSwap(PutCameraRoomAttachListResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PutCameraRoomAttachListResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomAttachListResponse.Error";
}

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

class PutCameraRoomAttachListResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PutCameraRoomAttachListResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error& error(const PutCameraRoomAttachListResponse* msg);
};

const ::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error&
PutCameraRoomAttachListResponse::_Internal::error(const PutCameraRoomAttachListResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void PutCameraRoomAttachListResponse::set_allocated_error(::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PutCameraRoomAttachListResponse.error)
}
PutCameraRoomAttachListResponse::PutCameraRoomAttachListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomAttachListResponse)
}
PutCameraRoomAttachListResponse::PutCameraRoomAttachListResponse(const PutCameraRoomAttachListResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomAttachListResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomAttachListResponse)
}

inline void PutCameraRoomAttachListResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

PutCameraRoomAttachListResponse::~PutCameraRoomAttachListResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomAttachListResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomAttachListResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void PutCameraRoomAttachListResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomAttachListResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PutCameraRoomAttachListResponse)
  switch (type_case()) {
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void PutCameraRoomAttachListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomAttachListResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomAttachListResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.PutCameraRoomAttachListResponse.Error error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomAttachListResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomAttachListResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.PutCameraRoomAttachListResponse.Error error = 1;
  if (type_case() == kError) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomAttachListResponse)
  return target;
}

::size_t PutCameraRoomAttachListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomAttachListResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.PutCameraRoomAttachListResponse.Error error = 1;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomAttachListResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomAttachListResponse*>(
      &from));
}

void PutCameraRoomAttachListResponse::MergeFrom(const PutCameraRoomAttachListResponse& from) {
  PutCameraRoomAttachListResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomAttachListResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomAttachListResponse::CopyFrom(const PutCameraRoomAttachListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomAttachListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomAttachListResponse::IsInitialized() const {
  return true;
}

void PutCameraRoomAttachListResponse::InternalSwap(PutCameraRoomAttachListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PutCameraRoomAttachListResponse::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomAttachListResponse";
}

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

class PutCameraRoomDetachRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<PutCameraRoomDetachRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PutCameraRoomDetachRequest, _impl_._has_bits_);
  static const ::keyapis::vc::v1::CameraRoom& data(const PutCameraRoomDetachRequest* msg);
  static void set_has_data(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::vc::v1::CameraRoom&
PutCameraRoomDetachRequest::_Internal::data(const PutCameraRoomDetachRequest* msg) {
  return *msg->_impl_.data_;
}
PutCameraRoomDetachRequest::PutCameraRoomDetachRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomDetachRequest)
}
PutCameraRoomDetachRequest::PutCameraRoomDetachRequest(const PutCameraRoomDetachRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomDetachRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.data_ = new ::keyapis::vc::v1::CameraRoom(*from._impl_.data_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomDetachRequest)
}

inline void PutCameraRoomDetachRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){nullptr}
  };
}

PutCameraRoomDetachRequest::~PutCameraRoomDetachRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomDetachRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomDetachRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.data_;
}

void PutCameraRoomDetachRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomDetachRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomDetachRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.data_ != nullptr);
    _impl_.data_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* PutCameraRoomDetachRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraRoom data = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomDetachRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomDetachRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraRoom data = 1 [(.google.api.field_behavior) = REQUIRED];
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomDetachRequest)
  return target;
}

::size_t PutCameraRoomDetachRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomDetachRequest)
  ::size_t total_size = 0;

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

  // .keyapis.vc.v1.CameraRoom data = 1 [(.google.api.field_behavior) = REQUIRED];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.data_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomDetachRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomDetachRequest*>(
      &from));
}

void PutCameraRoomDetachRequest::MergeFrom(const PutCameraRoomDetachRequest& from) {
  PutCameraRoomDetachRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomDetachRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_data()->::keyapis::vc::v1::CameraRoom::MergeFrom(
        from._internal_data());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomDetachRequest::CopyFrom(const PutCameraRoomDetachRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomDetachRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomDetachRequest::IsInitialized() const {
  return true;
}

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

std::string PutCameraRoomDetachRequest::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomDetachRequest";
}

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

class PutCameraRoomDetachResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PutCameraRoomDetachResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const PutCameraRoomDetachResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
PutCameraRoomDetachResponse_Error::_Internal::validation(const PutCameraRoomDetachResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void PutCameraRoomDetachResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PutCameraRoomDetachResponse.Error.validation)
}
PutCameraRoomDetachResponse_Error::PutCameraRoomDetachResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
}
PutCameraRoomDetachResponse_Error::PutCameraRoomDetachResponse_Error(const PutCameraRoomDetachResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomDetachResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
}

inline void PutCameraRoomDetachResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

PutCameraRoomDetachResponse_Error::~PutCameraRoomDetachResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomDetachResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void PutCameraRoomDetachResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomDetachResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void PutCameraRoomDetachResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomDetachResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomDetachResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
  return target;
}

::size_t PutCameraRoomDetachResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomDetachResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomDetachResponse_Error*>(
      &from));
}

void PutCameraRoomDetachResponse_Error::MergeFrom(const PutCameraRoomDetachResponse_Error& from) {
  PutCameraRoomDetachResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomDetachResponse_Error::CopyFrom(const PutCameraRoomDetachResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomDetachResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomDetachResponse_Error::IsInitialized() const {
  return true;
}

void PutCameraRoomDetachResponse_Error::InternalSwap(PutCameraRoomDetachResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PutCameraRoomDetachResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomDetachResponse.Error";
}

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

class PutCameraRoomDetachResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PutCameraRoomDetachResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::PutCameraRoomDetachResponse_Error& error(const PutCameraRoomDetachResponse* msg);
};

const ::keyapis::vc::v1::PutCameraRoomDetachResponse_Error&
PutCameraRoomDetachResponse::_Internal::error(const PutCameraRoomDetachResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void PutCameraRoomDetachResponse::set_allocated_error(::keyapis::vc::v1::PutCameraRoomDetachResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PutCameraRoomDetachResponse.error)
}
PutCameraRoomDetachResponse::PutCameraRoomDetachResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomDetachResponse)
}
PutCameraRoomDetachResponse::PutCameraRoomDetachResponse(const PutCameraRoomDetachResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomDetachResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PutCameraRoomDetachResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomDetachResponse)
}

inline void PutCameraRoomDetachResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

PutCameraRoomDetachResponse::~PutCameraRoomDetachResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomDetachResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomDetachResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void PutCameraRoomDetachResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomDetachResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PutCameraRoomDetachResponse)
  switch (type_case()) {
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void PutCameraRoomDetachResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomDetachResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomDetachResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.PutCameraRoomDetachResponse.Error error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomDetachResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomDetachResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.PutCameraRoomDetachResponse.Error error = 1;
  if (type_case() == kError) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomDetachResponse)
  return target;
}

::size_t PutCameraRoomDetachResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomDetachResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.PutCameraRoomDetachResponse.Error error = 1;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomDetachResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomDetachResponse*>(
      &from));
}

void PutCameraRoomDetachResponse::MergeFrom(const PutCameraRoomDetachResponse& from) {
  PutCameraRoomDetachResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomDetachResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PutCameraRoomDetachResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomDetachResponse::CopyFrom(const PutCameraRoomDetachResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomDetachResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomDetachResponse::IsInitialized() const {
  return true;
}

void PutCameraRoomDetachResponse::InternalSwap(PutCameraRoomDetachResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PutCameraRoomDetachResponse::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomDetachResponse";
}

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

class PutCameraRoomDetachListRequest::_Internal {
 public:
};

PutCameraRoomDetachListRequest::PutCameraRoomDetachListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomDetachListRequest)
}
PutCameraRoomDetachListRequest::PutCameraRoomDetachListRequest(const PutCameraRoomDetachListRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomDetachListRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.data_){from._impl_.data_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomDetachListRequest)
}

inline void PutCameraRoomDetachListRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.data_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

PutCameraRoomDetachListRequest::~PutCameraRoomDetachListRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomDetachListRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomDetachListRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_data()->~RepeatedPtrField();
}

void PutCameraRoomDetachListRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomDetachListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomDetachListRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomDetachListRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .keyapis.vc.v1.CameraRoom data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_data(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomDetachListRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomDetachListRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .keyapis.vc.v1.CameraRoom data = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_data_size()); i < n; i++) {
    const auto& repfield = this->_internal_data(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomDetachListRequest)
  return target;
}

::size_t PutCameraRoomDetachListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomDetachListRequest)
  ::size_t total_size = 0;

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

  // repeated .keyapis.vc.v1.CameraRoom data = 1;
  total_size += 1UL * this->_internal_data_size();
  for (const auto& msg : this->_internal_data()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomDetachListRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomDetachListRequest*>(
      &from));
}

void PutCameraRoomDetachListRequest::MergeFrom(const PutCameraRoomDetachListRequest& from) {
  PutCameraRoomDetachListRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomDetachListRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

void PutCameraRoomDetachListRequest::CopyFrom(const PutCameraRoomDetachListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomDetachListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomDetachListRequest::IsInitialized() const {
  return true;
}

void PutCameraRoomDetachListRequest::InternalSwap(PutCameraRoomDetachListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _internal_mutable_data()->InternalSwap(other->_internal_mutable_data());
}

std::string PutCameraRoomDetachListRequest::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomDetachListRequest";
}

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

class PutCameraRoomDetachListResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const PutCameraRoomDetachListResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
PutCameraRoomDetachListResponse_Error::_Internal::validation(const PutCameraRoomDetachListResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void PutCameraRoomDetachListResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error.validation)
}
PutCameraRoomDetachListResponse_Error::PutCameraRoomDetachListResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
}
PutCameraRoomDetachListResponse_Error::PutCameraRoomDetachListResponse_Error(const PutCameraRoomDetachListResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomDetachListResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
}

inline void PutCameraRoomDetachListResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

PutCameraRoomDetachListResponse_Error::~PutCameraRoomDetachListResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomDetachListResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void PutCameraRoomDetachListResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomDetachListResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void PutCameraRoomDetachListResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomDetachListResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomDetachListResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
  return target;
}

::size_t PutCameraRoomDetachListResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomDetachListResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomDetachListResponse_Error*>(
      &from));
}

void PutCameraRoomDetachListResponse_Error::MergeFrom(const PutCameraRoomDetachListResponse_Error& from) {
  PutCameraRoomDetachListResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomDetachListResponse_Error::CopyFrom(const PutCameraRoomDetachListResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomDetachListResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomDetachListResponse_Error::IsInitialized() const {
  return true;
}

void PutCameraRoomDetachListResponse_Error::InternalSwap(PutCameraRoomDetachListResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PutCameraRoomDetachListResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomDetachListResponse.Error";
}

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

class PutCameraRoomDetachListResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PutCameraRoomDetachListResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error& error(const PutCameraRoomDetachListResponse* msg);
};

const ::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error&
PutCameraRoomDetachListResponse::_Internal::error(const PutCameraRoomDetachListResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void PutCameraRoomDetachListResponse::set_allocated_error(::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PutCameraRoomDetachListResponse.error)
}
PutCameraRoomDetachListResponse::PutCameraRoomDetachListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PutCameraRoomDetachListResponse)
}
PutCameraRoomDetachListResponse::PutCameraRoomDetachListResponse(const PutCameraRoomDetachListResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PutCameraRoomDetachListResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PutCameraRoomDetachListResponse)
}

inline void PutCameraRoomDetachListResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

PutCameraRoomDetachListResponse::~PutCameraRoomDetachListResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PutCameraRoomDetachListResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PutCameraRoomDetachListResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void PutCameraRoomDetachListResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PutCameraRoomDetachListResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PutCameraRoomDetachListResponse)
  switch (type_case()) {
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void PutCameraRoomDetachListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PutCameraRoomDetachListResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PutCameraRoomDetachListResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.PutCameraRoomDetachListResponse.Error error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PutCameraRoomDetachListResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PutCameraRoomDetachListResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.PutCameraRoomDetachListResponse.Error error = 1;
  if (type_case() == kError) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PutCameraRoomDetachListResponse)
  return target;
}

::size_t PutCameraRoomDetachListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PutCameraRoomDetachListResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.PutCameraRoomDetachListResponse.Error error = 1;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PutCameraRoomDetachListResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PutCameraRoomDetachListResponse*>(
      &from));
}

void PutCameraRoomDetachListResponse::MergeFrom(const PutCameraRoomDetachListResponse& from) {
  PutCameraRoomDetachListResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PutCameraRoomDetachListResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PutCameraRoomDetachListResponse::CopyFrom(const PutCameraRoomDetachListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PutCameraRoomDetachListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PutCameraRoomDetachListResponse::IsInitialized() const {
  return true;
}

void PutCameraRoomDetachListResponse::InternalSwap(PutCameraRoomDetachListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PutCameraRoomDetachListResponse::GetTypeName() const {
  return "keyapis.vc.v1.PutCameraRoomDetachListResponse";
}

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

class GetCameraRoomCountRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraRoomCountRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraRoomCountRequest, _impl_._has_bits_);
  static const ::keyapis::vc::v1::CameraRoomFilter& filter(const GetCameraRoomCountRequest* msg);
  static void set_has_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::vc::v1::CameraRoomFilter&
GetCameraRoomCountRequest::_Internal::filter(const GetCameraRoomCountRequest* msg) {
  return *msg->_impl_.filter_;
}
GetCameraRoomCountRequest::GetCameraRoomCountRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRoomCountRequest)
}
GetCameraRoomCountRequest::GetCameraRoomCountRequest(const GetCameraRoomCountRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRoomCountRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.filter_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.filter_ = new ::keyapis::vc::v1::CameraRoomFilter(*from._impl_.filter_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRoomCountRequest)
}

inline void GetCameraRoomCountRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.filter_){nullptr}
  };
}

GetCameraRoomCountRequest::~GetCameraRoomCountRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRoomCountRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRoomCountRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.filter_;
}

void GetCameraRoomCountRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRoomCountRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRoomCountRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.filter_ != nullptr);
    _impl_.filter_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraRoomCountRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraRoomFilter filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_filter(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRoomCountRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRoomCountRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraRoomFilter filter = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::filter(this),
        _Internal::filter(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRoomCountRequest)
  return target;
}

::size_t GetCameraRoomCountRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRoomCountRequest)
  ::size_t total_size = 0;

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

  // .keyapis.vc.v1.CameraRoomFilter filter = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.filter_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRoomCountRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRoomCountRequest*>(
      &from));
}

void GetCameraRoomCountRequest::MergeFrom(const GetCameraRoomCountRequest& from) {
  GetCameraRoomCountRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRoomCountRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_filter()->::keyapis::vc::v1::CameraRoomFilter::MergeFrom(
        from._internal_filter());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRoomCountRequest::CopyFrom(const GetCameraRoomCountRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRoomCountRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRoomCountRequest::IsInitialized() const {
  return true;
}

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

std::string GetCameraRoomCountRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRoomCountRequest";
}

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

class GetCameraRoomCountResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraRoomCountResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraRoomCountResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraRoomCountResponse_Error::_Internal::validation(const GetCameraRoomCountResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void GetCameraRoomCountResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRoomCountResponse.Error.validation)
}
GetCameraRoomCountResponse_Error::GetCameraRoomCountResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
}
GetCameraRoomCountResponse_Error::GetCameraRoomCountResponse_Error(const GetCameraRoomCountResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRoomCountResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
}

inline void GetCameraRoomCountResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraRoomCountResponse_Error::~GetCameraRoomCountResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRoomCountResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraRoomCountResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRoomCountResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraRoomCountResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraRoomCountResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRoomCountResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
  return target;
}

::size_t GetCameraRoomCountResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRoomCountResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRoomCountResponse_Error*>(
      &from));
}

void GetCameraRoomCountResponse_Error::MergeFrom(const GetCameraRoomCountResponse_Error& from) {
  GetCameraRoomCountResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRoomCountResponse_Error::CopyFrom(const GetCameraRoomCountResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRoomCountResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRoomCountResponse_Error::IsInitialized() const {
  return true;
}

void GetCameraRoomCountResponse_Error::InternalSwap(GetCameraRoomCountResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraRoomCountResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRoomCountResponse.Error";
}

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

class GetCameraRoomCountResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraRoomCountResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::GetCameraRoomCountResponse_Error& error(const GetCameraRoomCountResponse* msg);
};

const ::keyapis::vc::v1::GetCameraRoomCountResponse_Error&
GetCameraRoomCountResponse::_Internal::error(const GetCameraRoomCountResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetCameraRoomCountResponse::set_allocated_error(::keyapis::vc::v1::GetCameraRoomCountResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRoomCountResponse.error)
}
GetCameraRoomCountResponse::GetCameraRoomCountResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRoomCountResponse)
}
GetCameraRoomCountResponse::GetCameraRoomCountResponse(const GetCameraRoomCountResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRoomCountResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraRoomCountResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRoomCountResponse)
}

inline void GetCameraRoomCountResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetCameraRoomCountResponse::~GetCameraRoomCountResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRoomCountResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRoomCountResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void GetCameraRoomCountResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRoomCountResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraRoomCountResponse)
  switch (type_case()) {
    case kData: {
      // No need to clear
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetCameraRoomCountResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRoomCountResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraRoomCountResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _internal_set_data(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraRoomCountResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRoomCountResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRoomCountResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (type_case()) {
    case kData: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt32ToArray(
          1, this->_internal_data(), target);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRoomCountResponse)
  return target;
}

::size_t GetCameraRoomCountResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRoomCountResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // int32 data = 1;
    case kData: {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this->_internal_data());
      break;
    }
    // .keyapis.vc.v1.GetCameraRoomCountResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRoomCountResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRoomCountResponse*>(
      &from));
}

void GetCameraRoomCountResponse::MergeFrom(const GetCameraRoomCountResponse& from) {
  GetCameraRoomCountResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRoomCountResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraRoomCountResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRoomCountResponse::CopyFrom(const GetCameraRoomCountResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRoomCountResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRoomCountResponse::IsInitialized() const {
  return true;
}

void GetCameraRoomCountResponse::InternalSwap(GetCameraRoomCountResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraRoomCountResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRoomCountResponse";
}

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

class GetCameraRoomListRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraRoomListRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraRoomListRequest, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraRoomListRequest, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::CameraRoomFilter& filter(const GetCameraRoomListRequest* msg);
  static void set_has_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::keyapis::vc::v1::CameraRoomPaging& paging(const GetCameraRoomListRequest* msg);
};

const ::keyapis::vc::v1::CameraRoomFilter&
GetCameraRoomListRequest::_Internal::filter(const GetCameraRoomListRequest* msg) {
  return *msg->_impl_.filter_;
}
const ::keyapis::vc::v1::CameraRoomPaging&
GetCameraRoomListRequest::_Internal::paging(const GetCameraRoomListRequest* msg) {
  return *msg->_impl_.pagination_.paging_;
}
void GetCameraRoomListRequest::set_allocated_paging(::keyapis::vc::v1::CameraRoomPaging* paging) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_pagination();
  if (paging) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(paging);
    if (message_arena != submessage_arena) {
      paging = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, paging, submessage_arena);
    }
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRoomListRequest.paging)
}
GetCameraRoomListRequest::GetCameraRoomListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRoomListRequest)
}
GetCameraRoomListRequest::GetCameraRoomListRequest(const GetCameraRoomListRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRoomListRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.filter_){nullptr}
    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.filter_ = new ::keyapis::vc::v1::CameraRoomFilter(*from._impl_.filter_);
  }
  clear_has_pagination();
  switch (from.pagination_case()) {
    case kPaging: {
      _this->_internal_mutable_paging()->::keyapis::vc::v1::CameraRoomPaging::MergeFrom(
          from._internal_paging());
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRoomListRequest)
}

inline void GetCameraRoomListRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.filter_){nullptr}
    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_pagination();
}

GetCameraRoomListRequest::~GetCameraRoomListRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRoomListRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRoomListRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.filter_;
  if (has_pagination()) {
    clear_pagination();
  }
}

void GetCameraRoomListRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRoomListRequest::clear_pagination() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraRoomListRequest)
  switch (pagination_case()) {
    case kPaging: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.pagination_.paging_;
      }
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = PAGINATION_NOT_SET;
}


void GetCameraRoomListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRoomListRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.filter_ != nullptr);
    _impl_.filter_->Clear();
  }
  clear_pagination();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraRoomListRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraRoomFilter filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_filter(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.CameraRoomPaging paging = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_paging(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRoomListRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRoomListRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.CameraRoomFilter filter = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::filter(this),
        _Internal::filter(this).GetCachedSize(), target, stream);
  }

  // .keyapis.vc.v1.CameraRoomPaging paging = 2;
  if (pagination_case() == kPaging) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::paging(this),
        _Internal::paging(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRoomListRequest)
  return target;
}

::size_t GetCameraRoomListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRoomListRequest)
  ::size_t total_size = 0;

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

  // .keyapis.vc.v1.CameraRoomFilter filter = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.filter_);
  }

  switch (pagination_case()) {
    // .keyapis.vc.v1.CameraRoomPaging paging = 2;
    case kPaging: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.pagination_.paging_);
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRoomListRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRoomListRequest*>(
      &from));
}

void GetCameraRoomListRequest::MergeFrom(const GetCameraRoomListRequest& from) {
  GetCameraRoomListRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRoomListRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_filter()->::keyapis::vc::v1::CameraRoomFilter::MergeFrom(
        from._internal_filter());
  }
  switch (from.pagination_case()) {
    case kPaging: {
      _this->_internal_mutable_paging()->::keyapis::vc::v1::CameraRoomPaging::MergeFrom(
          from._internal_paging());
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRoomListRequest::CopyFrom(const GetCameraRoomListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRoomListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRoomListRequest::IsInitialized() const {
  return true;
}

void GetCameraRoomListRequest::InternalSwap(GetCameraRoomListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.filter_, other->_impl_.filter_);
  swap(_impl_.pagination_, other->_impl_.pagination_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraRoomListRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRoomListRequest";
}

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

class GetCameraRoomListResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraRoomListResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraRoomListResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraRoomListResponse_Error::_Internal::validation(const GetCameraRoomListResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void GetCameraRoomListResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRoomListResponse.Error.validation)
}
GetCameraRoomListResponse_Error::GetCameraRoomListResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRoomListResponse.Error)
}
GetCameraRoomListResponse_Error::GetCameraRoomListResponse_Error(const GetCameraRoomListResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRoomListResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRoomListResponse.Error)
}

inline void GetCameraRoomListResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraRoomListResponse_Error::~GetCameraRoomListResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRoomListResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRoomListResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraRoomListResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRoomListResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraRoomListResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraRoomListResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRoomListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraRoomListResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRoomListResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRoomListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRoomListResponse.Error)
  return target;
}

::size_t GetCameraRoomListResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRoomListResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRoomListResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRoomListResponse_Error*>(
      &from));
}

void GetCameraRoomListResponse_Error::MergeFrom(const GetCameraRoomListResponse_Error& from) {
  GetCameraRoomListResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRoomListResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRoomListResponse_Error::CopyFrom(const GetCameraRoomListResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRoomListResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRoomListResponse_Error::IsInitialized() const {
  return true;
}

void GetCameraRoomListResponse_Error::InternalSwap(GetCameraRoomListResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraRoomListResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRoomListResponse.Error";
}

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

class GetCameraRoomListResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraRoomListResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::CameraRoom& data(const GetCameraRoomListResponse* msg);
  static const ::keyapis::vc::v1::GetCameraRoomListResponse_Error& error(const GetCameraRoomListResponse* msg);
};

const ::keyapis::vc::v1::CameraRoom&
GetCameraRoomListResponse::_Internal::data(const GetCameraRoomListResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::vc::v1::GetCameraRoomListResponse_Error&
GetCameraRoomListResponse::_Internal::error(const GetCameraRoomListResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetCameraRoomListResponse::set_allocated_data(::keyapis::vc::v1::CameraRoom* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRoomListResponse.data)
}
void GetCameraRoomListResponse::set_allocated_error(::keyapis::vc::v1::GetCameraRoomListResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraRoomListResponse.error)
}
GetCameraRoomListResponse::GetCameraRoomListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraRoomListResponse)
}
GetCameraRoomListResponse::GetCameraRoomListResponse(const GetCameraRoomListResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraRoomListResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::CameraRoom::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraRoomListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraRoomListResponse)
}

inline void GetCameraRoomListResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetCameraRoomListResponse::~GetCameraRoomListResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraRoomListResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraRoomListResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void GetCameraRoomListResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraRoomListResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraRoomListResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetCameraRoomListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraRoomListResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraRoomListResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.CameraRoom data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraRoomListResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraRoomListResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraRoomListResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraRoomListResponse)
  return target;
}

::size_t GetCameraRoomListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraRoomListResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.CameraRoom data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.vc.v1.GetCameraRoomListResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraRoomListResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraRoomListResponse*>(
      &from));
}

void GetCameraRoomListResponse::MergeFrom(const GetCameraRoomListResponse& from) {
  GetCameraRoomListResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraRoomListResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::CameraRoom::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraRoomListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraRoomListResponse::CopyFrom(const GetCameraRoomListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraRoomListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraRoomListResponse::IsInitialized() const {
  return true;
}

void GetCameraRoomListResponse::InternalSwap(GetCameraRoomListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraRoomListResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraRoomListResponse";
}

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

class DeleteCameraRequest::_Internal {
 public:
};

DeleteCameraRequest::DeleteCameraRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.DeleteCameraRequest)
}
DeleteCameraRequest::DeleteCameraRequest(const DeleteCameraRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  DeleteCameraRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.uid_) {}

    , decltype(_impl_.is_delete_permanently_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_uid().empty()) {
    _this->_impl_.uid_.Set(from._internal_uid(), _this->GetArenaForAllocation());
  }
  _this->_impl_.is_delete_permanently_ = from._impl_.is_delete_permanently_;
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.DeleteCameraRequest)
}

inline void DeleteCameraRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.uid_) {}

    , decltype(_impl_.is_delete_permanently_) { false }

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DeleteCameraRequest::~DeleteCameraRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.DeleteCameraRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeleteCameraRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.uid_.Destroy();
}

void DeleteCameraRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DeleteCameraRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.DeleteCameraRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.uid_.ClearToEmpty();
  _impl_.is_delete_permanently_ = false;
  _internal_metadata_.Clear<std::string>();
}

const char* DeleteCameraRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_uid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // bool is_delete_permanently = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          _impl_.is_delete_permanently_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* DeleteCameraRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.DeleteCameraRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    const std::string& _s = this->_internal_uid();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.DeleteCameraRequest.uid");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool is_delete_permanently = 2;
  if (this->_internal_is_delete_permanently() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_is_delete_permanently(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.DeleteCameraRequest)
  return target;
}

::size_t DeleteCameraRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.DeleteCameraRequest)
  ::size_t total_size = 0;

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

  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_uid());
  }

  // bool is_delete_permanently = 2;
  if (this->_internal_is_delete_permanently() != 0) {
    total_size += 2;
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DeleteCameraRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const DeleteCameraRequest*>(
      &from));
}

void DeleteCameraRequest::MergeFrom(const DeleteCameraRequest& from) {
  DeleteCameraRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.DeleteCameraRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_uid().empty()) {
    _this->_internal_set_uid(from._internal_uid());
  }
  if (from._internal_is_delete_permanently() != 0) {
    _this->_internal_set_is_delete_permanently(from._internal_is_delete_permanently());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void DeleteCameraRequest::CopyFrom(const DeleteCameraRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.DeleteCameraRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DeleteCameraRequest::IsInitialized() const {
  return true;
}

void DeleteCameraRequest::InternalSwap(DeleteCameraRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.uid_, lhs_arena,
                                       &other->_impl_.uid_, rhs_arena);

  swap(_impl_.is_delete_permanently_, other->_impl_.is_delete_permanently_);
}

std::string DeleteCameraRequest::GetTypeName() const {
  return "keyapis.vc.v1.DeleteCameraRequest";
}

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

class DeleteCameraResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::DeleteCameraResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const DeleteCameraResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
DeleteCameraResponse_Error::_Internal::validation(const DeleteCameraResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void DeleteCameraResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.DeleteCameraResponse.Error.validation)
}
DeleteCameraResponse_Error::DeleteCameraResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.DeleteCameraResponse.Error)
}
DeleteCameraResponse_Error::DeleteCameraResponse_Error(const DeleteCameraResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  DeleteCameraResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.DeleteCameraResponse.Error)
}

inline void DeleteCameraResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

DeleteCameraResponse_Error::~DeleteCameraResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.DeleteCameraResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeleteCameraResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void DeleteCameraResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DeleteCameraResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.DeleteCameraResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void DeleteCameraResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.DeleteCameraResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* DeleteCameraResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* DeleteCameraResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.DeleteCameraResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.DeleteCameraResponse.Error)
  return target;
}

::size_t DeleteCameraResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.DeleteCameraResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DeleteCameraResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const DeleteCameraResponse_Error*>(
      &from));
}

void DeleteCameraResponse_Error::MergeFrom(const DeleteCameraResponse_Error& from) {
  DeleteCameraResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.DeleteCameraResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void DeleteCameraResponse_Error::CopyFrom(const DeleteCameraResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.DeleteCameraResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DeleteCameraResponse_Error::IsInitialized() const {
  return true;
}

void DeleteCameraResponse_Error::InternalSwap(DeleteCameraResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string DeleteCameraResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.DeleteCameraResponse.Error";
}

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

class DeleteCameraResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::DeleteCameraResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::DeleteCameraResponse_Error& error(const DeleteCameraResponse* msg);
};

const ::keyapis::vc::v1::DeleteCameraResponse_Error&
DeleteCameraResponse::_Internal::error(const DeleteCameraResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void DeleteCameraResponse::set_allocated_error(::keyapis::vc::v1::DeleteCameraResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.DeleteCameraResponse.error)
}
DeleteCameraResponse::DeleteCameraResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.DeleteCameraResponse)
}
DeleteCameraResponse::DeleteCameraResponse(const DeleteCameraResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  DeleteCameraResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::DeleteCameraResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.DeleteCameraResponse)
}

inline void DeleteCameraResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

DeleteCameraResponse::~DeleteCameraResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.DeleteCameraResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeleteCameraResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void DeleteCameraResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DeleteCameraResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.DeleteCameraResponse)
  switch (type_case()) {
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void DeleteCameraResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.DeleteCameraResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* DeleteCameraResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.DeleteCameraResponse.Error error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* DeleteCameraResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.DeleteCameraResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.DeleteCameraResponse.Error error = 1;
  if (type_case() == kError) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.DeleteCameraResponse)
  return target;
}

::size_t DeleteCameraResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.DeleteCameraResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.DeleteCameraResponse.Error error = 1;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DeleteCameraResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const DeleteCameraResponse*>(
      &from));
}

void DeleteCameraResponse::MergeFrom(const DeleteCameraResponse& from) {
  DeleteCameraResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.DeleteCameraResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::DeleteCameraResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void DeleteCameraResponse::CopyFrom(const DeleteCameraResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.DeleteCameraResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DeleteCameraResponse::IsInitialized() const {
  return true;
}

void DeleteCameraResponse::InternalSwap(DeleteCameraResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string DeleteCameraResponse::GetTypeName() const {
  return "keyapis.vc.v1.DeleteCameraResponse";
}

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

class PostCameraRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<PostCameraRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PostCameraRequest, _impl_._has_bits_);
  static const ::keyapis::vc::v1::Camera& data(const PostCameraRequest* msg);
  static void set_has_data(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::vc::v1::Camera&
PostCameraRequest::_Internal::data(const PostCameraRequest* msg) {
  return *msg->_impl_.data_;
}
PostCameraRequest::PostCameraRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PostCameraRequest)
}
PostCameraRequest::PostCameraRequest(const PostCameraRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostCameraRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.data_ = new ::keyapis::vc::v1::Camera(*from._impl_.data_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PostCameraRequest)
}

inline void PostCameraRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){nullptr}
  };
}

PostCameraRequest::~PostCameraRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PostCameraRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostCameraRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.data_;
}

void PostCameraRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PostCameraRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PostCameraRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.data_ != nullptr);
    _impl_.data_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* PostCameraRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.Camera data = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PostCameraRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PostCameraRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.vc.v1.Camera data = 1 [(.google.api.field_behavior) = REQUIRED];
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PostCameraRequest)
  return target;
}

::size_t PostCameraRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PostCameraRequest)
  ::size_t total_size = 0;

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

  // .keyapis.vc.v1.Camera data = 1 [(.google.api.field_behavior) = REQUIRED];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.data_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostCameraRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostCameraRequest*>(
      &from));
}

void PostCameraRequest::MergeFrom(const PostCameraRequest& from) {
  PostCameraRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PostCameraRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_data()->::keyapis::vc::v1::Camera::MergeFrom(
        from._internal_data());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostCameraRequest::CopyFrom(const PostCameraRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PostCameraRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PostCameraRequest::IsInitialized() const {
  return true;
}

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

std::string PostCameraRequest::GetTypeName() const {
  return "keyapis.vc.v1.PostCameraRequest";
}

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

class PostCameraResponse_Error_VcError::_Internal {
 public:
};

PostCameraResponse_Error_VcError::PostCameraResponse_Error_VcError(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PostCameraResponse.Error.VcError)
}
PostCameraResponse_Error_VcError::PostCameraResponse_Error_VcError(const PostCameraResponse_Error_VcError& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostCameraResponse_Error_VcError* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.text_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.text_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.text_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_text().empty()) {
    _this->_impl_.text_.Set(from._internal_text(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PostCameraResponse.Error.VcError)
}

inline void PostCameraResponse_Error_VcError::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.text_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.text_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.text_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

PostCameraResponse_Error_VcError::~PostCameraResponse_Error_VcError() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PostCameraResponse.Error.VcError)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostCameraResponse_Error_VcError::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.text_.Destroy();
}

void PostCameraResponse_Error_VcError::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PostCameraResponse_Error_VcError::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PostCameraResponse.Error.VcError)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PostCameraResponse_Error_VcError::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string text = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_text();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PostCameraResponse_Error_VcError::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PostCameraResponse.Error.VcError)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string text = 1;
  if (!this->_internal_text().empty()) {
    const std::string& _s = this->_internal_text();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.PostCameraResponse.Error.VcError.text");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PostCameraResponse.Error.VcError)
  return target;
}

::size_t PostCameraResponse_Error_VcError::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PostCameraResponse.Error.VcError)
  ::size_t total_size = 0;

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

  // string text = 1;
  if (!this->_internal_text().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_text());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostCameraResponse_Error_VcError::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostCameraResponse_Error_VcError*>(
      &from));
}

void PostCameraResponse_Error_VcError::MergeFrom(const PostCameraResponse_Error_VcError& from) {
  PostCameraResponse_Error_VcError* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PostCameraResponse.Error.VcError)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_text().empty()) {
    _this->_internal_set_text(from._internal_text());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostCameraResponse_Error_VcError::CopyFrom(const PostCameraResponse_Error_VcError& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PostCameraResponse.Error.VcError)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PostCameraResponse_Error_VcError::IsInitialized() const {
  return true;
}

void PostCameraResponse_Error_VcError::InternalSwap(PostCameraResponse_Error_VcError* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_, lhs_arena,
                                       &other->_impl_.text_, rhs_arena);
}

std::string PostCameraResponse_Error_VcError::GetTypeName() const {
  return "keyapis.vc.v1.PostCameraResponse.Error.VcError";
}

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

class PostCameraResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PostCameraResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const PostCameraResponse_Error* msg);
  static const ::keyapis::vc::v1::Camera_ValidationError& camera_validation(const PostCameraResponse_Error* msg);
  static const ::keyapis::vc::v1::PostCameraResponse_Error_VcError& vc(const PostCameraResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
PostCameraResponse_Error::_Internal::validation(const PostCameraResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
const ::keyapis::vc::v1::Camera_ValidationError&
PostCameraResponse_Error::_Internal::camera_validation(const PostCameraResponse_Error* msg) {
  return *msg->_impl_.reason_.camera_validation_;
}
const ::keyapis::vc::v1::PostCameraResponse_Error_VcError&
PostCameraResponse_Error::_Internal::vc(const PostCameraResponse_Error* msg) {
  return *msg->_impl_.reason_.vc_;
}
void PostCameraResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PostCameraResponse.Error.validation)
}
void PostCameraResponse_Error::set_allocated_camera_validation(::keyapis::vc::v1::Camera_ValidationError* camera_validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (camera_validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(camera_validation);
    if (message_arena != submessage_arena) {
      camera_validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, camera_validation, submessage_arena);
    }
    set_has_camera_validation();
    _impl_.reason_.camera_validation_ = camera_validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PostCameraResponse.Error.camera_validation)
}
void PostCameraResponse_Error::set_allocated_vc(::keyapis::vc::v1::PostCameraResponse_Error_VcError* vc) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (vc) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(vc);
    if (message_arena != submessage_arena) {
      vc = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, vc, submessage_arena);
    }
    set_has_vc();
    _impl_.reason_.vc_ = vc;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PostCameraResponse.Error.vc)
}
PostCameraResponse_Error::PostCameraResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PostCameraResponse.Error)
}
PostCameraResponse_Error::PostCameraResponse_Error(const PostCameraResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostCameraResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case kCameraValidation: {
      _this->_internal_mutable_camera_validation()->::keyapis::vc::v1::Camera_ValidationError::MergeFrom(
          from._internal_camera_validation());
      break;
    }
    case kVc: {
      _this->_internal_mutable_vc()->::keyapis::vc::v1::PostCameraResponse_Error_VcError::MergeFrom(
          from._internal_vc());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PostCameraResponse.Error)
}

inline void PostCameraResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

PostCameraResponse_Error::~PostCameraResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PostCameraResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostCameraResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void PostCameraResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PostCameraResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PostCameraResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case kCameraValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.camera_validation_;
      }
      break;
    }
    case kVc: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.vc_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void PostCameraResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PostCameraResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PostCameraResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.Camera.ValidationError camera_validation = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_camera_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.PostCameraResponse.Error.VcError vc = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_vc(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PostCameraResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PostCameraResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (reason_case()) {
    case kValidation: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::validation(this),
          _Internal::validation(this).GetCachedSize(), target, stream);
      break;
    }
    case kCameraValidation: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::camera_validation(this),
          _Internal::camera_validation(this).GetCachedSize(), target, stream);
      break;
    }
    case kVc: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, _Internal::vc(this),
          _Internal::vc(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PostCameraResponse.Error)
  return target;
}

::size_t PostCameraResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PostCameraResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    // .keyapis.vc.v1.Camera.ValidationError camera_validation = 2;
    case kCameraValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.camera_validation_);
      break;
    }
    // .keyapis.vc.v1.PostCameraResponse.Error.VcError vc = 3;
    case kVc: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.vc_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostCameraResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostCameraResponse_Error*>(
      &from));
}

void PostCameraResponse_Error::MergeFrom(const PostCameraResponse_Error& from) {
  PostCameraResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PostCameraResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case kCameraValidation: {
      _this->_internal_mutable_camera_validation()->::keyapis::vc::v1::Camera_ValidationError::MergeFrom(
          from._internal_camera_validation());
      break;
    }
    case kVc: {
      _this->_internal_mutable_vc()->::keyapis::vc::v1::PostCameraResponse_Error_VcError::MergeFrom(
          from._internal_vc());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostCameraResponse_Error::CopyFrom(const PostCameraResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PostCameraResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PostCameraResponse_Error::IsInitialized() const {
  return true;
}

void PostCameraResponse_Error::InternalSwap(PostCameraResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PostCameraResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.PostCameraResponse.Error";
}

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

class PostCameraResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::PostCameraResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::PostCameraResponse_Error& error(const PostCameraResponse* msg);
};

const ::keyapis::vc::v1::PostCameraResponse_Error&
PostCameraResponse::_Internal::error(const PostCameraResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void PostCameraResponse::set_allocated_error(::keyapis::vc::v1::PostCameraResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.PostCameraResponse.error)
}
PostCameraResponse::PostCameraResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.PostCameraResponse)
}
PostCameraResponse::PostCameraResponse(const PostCameraResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostCameraResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PostCameraResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.PostCameraResponse)
}

inline void PostCameraResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

PostCameraResponse::~PostCameraResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.PostCameraResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostCameraResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void PostCameraResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PostCameraResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.PostCameraResponse)
  switch (type_case()) {
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void PostCameraResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.PostCameraResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* PostCameraResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.PostCameraResponse.Error error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PostCameraResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.PostCameraResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.vc.v1.PostCameraResponse.Error error = 1;
  if (type_case() == kError) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.PostCameraResponse)
  return target;
}

::size_t PostCameraResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.PostCameraResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.PostCameraResponse.Error error = 1;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostCameraResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostCameraResponse*>(
      &from));
}

void PostCameraResponse::MergeFrom(const PostCameraResponse& from) {
  PostCameraResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.PostCameraResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::PostCameraResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostCameraResponse::CopyFrom(const PostCameraResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.PostCameraResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PostCameraResponse::IsInitialized() const {
  return true;
}

void PostCameraResponse::InternalSwap(PostCameraResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PostCameraResponse::GetTypeName() const {
  return "keyapis.vc.v1.PostCameraResponse";
}

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

class GetCameraCalendarRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraCalendarRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraCalendarRequest, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::Int32Value& offset(const GetCameraCalendarRequest* msg);
  static void set_has_offset(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::Int32Value&
GetCameraCalendarRequest::_Internal::offset(const GetCameraCalendarRequest* msg) {
  return *msg->_impl_.offset_;
}
void GetCameraCalendarRequest::clear_offset() {
  if (_impl_.offset_ != nullptr) _impl_.offset_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetCameraCalendarRequest::GetCameraCalendarRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraCalendarRequest)
}
GetCameraCalendarRequest::GetCameraCalendarRequest(const GetCameraCalendarRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraCalendarRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.uid_) {}

    , decltype(_impl_.offset_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_uid().empty()) {
    _this->_impl_.uid_.Set(from._internal_uid(), _this->GetArenaForAllocation());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.offset_ = new ::PROTOBUF_NAMESPACE_ID::Int32Value(*from._impl_.offset_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraCalendarRequest)
}

inline void GetCameraCalendarRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.uid_) {}

    , decltype(_impl_.offset_){nullptr}
  };
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

GetCameraCalendarRequest::~GetCameraCalendarRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraCalendarRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraCalendarRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.uid_.Destroy();
  if (this != internal_default_instance()) delete _impl_.offset_;
}

void GetCameraCalendarRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraCalendarRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraCalendarRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.uid_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.offset_ != nullptr);
    _impl_.offset_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraCalendarRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_uid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Int32Value offset = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_offset(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraCalendarRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraCalendarRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    const std::string& _s = this->_internal_uid();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.GetCameraCalendarRequest.uid");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .google.protobuf.Int32Value offset = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::offset(this),
        _Internal::offset(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraCalendarRequest)
  return target;
}

::size_t GetCameraCalendarRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraCalendarRequest)
  ::size_t total_size = 0;

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

  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_uid());
  }

  // .google.protobuf.Int32Value offset = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.offset_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraCalendarRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraCalendarRequest*>(
      &from));
}

void GetCameraCalendarRequest::MergeFrom(const GetCameraCalendarRequest& from) {
  GetCameraCalendarRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraCalendarRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_uid().empty()) {
    _this->_internal_set_uid(from._internal_uid());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_offset()->::PROTOBUF_NAMESPACE_ID::Int32Value::MergeFrom(
        from._internal_offset());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraCalendarRequest::CopyFrom(const GetCameraCalendarRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraCalendarRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraCalendarRequest::IsInitialized() const {
  return true;
}

void GetCameraCalendarRequest::InternalSwap(GetCameraCalendarRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.uid_, lhs_arena,
                                       &other->_impl_.uid_, rhs_arena);
  swap(_impl_.offset_, other->_impl_.offset_);
}

std::string GetCameraCalendarRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraCalendarRequest";
}

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

class GetCameraCalendarResponse_Caledar::_Internal {
 public:
};

GetCameraCalendarResponse_Caledar::GetCameraCalendarResponse_Caledar(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
}
GetCameraCalendarResponse_Caledar::GetCameraCalendarResponse_Caledar(const GetCameraCalendarResponse_Caledar& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraCalendarResponse_Caledar* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){from._impl_.items_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
}

inline void GetCameraCalendarResponse_Caledar::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

GetCameraCalendarResponse_Caledar::~GetCameraCalendarResponse_Caledar() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraCalendarResponse_Caledar::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_items()->~RepeatedPtrField();
}

void GetCameraCalendarResponse_Caledar::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraCalendarResponse_Caledar::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraCalendarResponse_Caledar::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated string items = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_items();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraCalendarResponse_Caledar::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated string items = 1;
  for (int i = 0, n = this->_internal_items_size(); i < n; ++i) {
    const auto& s = this->_internal_items(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.GetCameraCalendarResponse.Caledar.items");
    target = stream->WriteString(1, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
  return target;
}

::size_t GetCameraCalendarResponse_Caledar::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
  ::size_t total_size = 0;

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

  // repeated string items = 1;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_items().size());
  for (int i = 0, n = _internal_items().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_items().Get(i));
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraCalendarResponse_Caledar::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraCalendarResponse_Caledar*>(
      &from));
}

void GetCameraCalendarResponse_Caledar::MergeFrom(const GetCameraCalendarResponse_Caledar& from) {
  GetCameraCalendarResponse_Caledar* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

void GetCameraCalendarResponse_Caledar::CopyFrom(const GetCameraCalendarResponse_Caledar& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraCalendarResponse.Caledar)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraCalendarResponse_Caledar::IsInitialized() const {
  return true;
}

void GetCameraCalendarResponse_Caledar::InternalSwap(GetCameraCalendarResponse_Caledar* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _internal_mutable_items()->InternalSwap(
      other->_internal_mutable_items());
}

std::string GetCameraCalendarResponse_Caledar::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraCalendarResponse.Caledar";
}

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

class GetCameraCalendarResponse_Error_VcError::_Internal {
 public:
};

GetCameraCalendarResponse_Error_VcError::GetCameraCalendarResponse_Error_VcError(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
}
GetCameraCalendarResponse_Error_VcError::GetCameraCalendarResponse_Error_VcError(const GetCameraCalendarResponse_Error_VcError& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraCalendarResponse_Error_VcError* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.text_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.text_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.text_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_text().empty()) {
    _this->_impl_.text_.Set(from._internal_text(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
}

inline void GetCameraCalendarResponse_Error_VcError::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.text_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.text_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.text_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

GetCameraCalendarResponse_Error_VcError::~GetCameraCalendarResponse_Error_VcError() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraCalendarResponse_Error_VcError::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.text_.Destroy();
}

void GetCameraCalendarResponse_Error_VcError::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraCalendarResponse_Error_VcError::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraCalendarResponse_Error_VcError::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string text = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_text();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraCalendarResponse_Error_VcError::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string text = 1;
  if (!this->_internal_text().empty()) {
    const std::string& _s = this->_internal_text();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError.text");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
  return target;
}

::size_t GetCameraCalendarResponse_Error_VcError::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
  ::size_t total_size = 0;

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

  // string text = 1;
  if (!this->_internal_text().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_text());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraCalendarResponse_Error_VcError::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraCalendarResponse_Error_VcError*>(
      &from));
}

void GetCameraCalendarResponse_Error_VcError::MergeFrom(const GetCameraCalendarResponse_Error_VcError& from) {
  GetCameraCalendarResponse_Error_VcError* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_text().empty()) {
    _this->_internal_set_text(from._internal_text());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraCalendarResponse_Error_VcError::CopyFrom(const GetCameraCalendarResponse_Error_VcError& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraCalendarResponse_Error_VcError::IsInitialized() const {
  return true;
}

void GetCameraCalendarResponse_Error_VcError::InternalSwap(GetCameraCalendarResponse_Error_VcError* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_, lhs_arena,
                                       &other->_impl_.text_, rhs_arena);
}

std::string GetCameraCalendarResponse_Error_VcError::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError";
}

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

class GetCameraCalendarResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraCalendarResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraCalendarResponse_Error* msg);
  static const ::keyapis::vc::v1::GetCameraCalendarResponse_Error_VcError& vc(const GetCameraCalendarResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraCalendarResponse_Error::_Internal::validation(const GetCameraCalendarResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
const ::keyapis::vc::v1::GetCameraCalendarResponse_Error_VcError&
GetCameraCalendarResponse_Error::_Internal::vc(const GetCameraCalendarResponse_Error* msg) {
  return *msg->_impl_.reason_.vc_;
}
void GetCameraCalendarResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraCalendarResponse.Error.validation)
}
void GetCameraCalendarResponse_Error::set_allocated_vc(::keyapis::vc::v1::GetCameraCalendarResponse_Error_VcError* vc) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (vc) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(vc);
    if (message_arena != submessage_arena) {
      vc = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, vc, submessage_arena);
    }
    set_has_vc();
    _impl_.reason_.vc_ = vc;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraCalendarResponse.Error.vc)
}
GetCameraCalendarResponse_Error::GetCameraCalendarResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraCalendarResponse.Error)
}
GetCameraCalendarResponse_Error::GetCameraCalendarResponse_Error(const GetCameraCalendarResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraCalendarResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case kVc: {
      _this->_internal_mutable_vc()->::keyapis::vc::v1::GetCameraCalendarResponse_Error_VcError::MergeFrom(
          from._internal_vc());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraCalendarResponse.Error)
}

inline void GetCameraCalendarResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraCalendarResponse_Error::~GetCameraCalendarResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraCalendarResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraCalendarResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraCalendarResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraCalendarResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraCalendarResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case kVc: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.vc_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraCalendarResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraCalendarResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraCalendarResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError vc = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_vc(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraCalendarResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraCalendarResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (reason_case()) {
    case kValidation: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::validation(this),
          _Internal::validation(this).GetCachedSize(), target, stream);
      break;
    }
    case kVc: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::vc(this),
          _Internal::vc(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraCalendarResponse.Error)
  return target;
}

::size_t GetCameraCalendarResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraCalendarResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    // .keyapis.vc.v1.GetCameraCalendarResponse.Error.VcError vc = 2;
    case kVc: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.vc_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraCalendarResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraCalendarResponse_Error*>(
      &from));
}

void GetCameraCalendarResponse_Error::MergeFrom(const GetCameraCalendarResponse_Error& from) {
  GetCameraCalendarResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraCalendarResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case kVc: {
      _this->_internal_mutable_vc()->::keyapis::vc::v1::GetCameraCalendarResponse_Error_VcError::MergeFrom(
          from._internal_vc());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraCalendarResponse_Error::CopyFrom(const GetCameraCalendarResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraCalendarResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraCalendarResponse_Error::IsInitialized() const {
  return true;
}

void GetCameraCalendarResponse_Error::InternalSwap(GetCameraCalendarResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraCalendarResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraCalendarResponse.Error";
}

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

class GetCameraCalendarResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraCalendarResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::GetCameraCalendarResponse_Caledar& data(const GetCameraCalendarResponse* msg);
  static const ::keyapis::vc::v1::GetCameraCalendarResponse_Error& error(const GetCameraCalendarResponse* msg);
};

const ::keyapis::vc::v1::GetCameraCalendarResponse_Caledar&
GetCameraCalendarResponse::_Internal::data(const GetCameraCalendarResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::vc::v1::GetCameraCalendarResponse_Error&
GetCameraCalendarResponse::_Internal::error(const GetCameraCalendarResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetCameraCalendarResponse::set_allocated_data(::keyapis::vc::v1::GetCameraCalendarResponse_Caledar* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraCalendarResponse.data)
}
void GetCameraCalendarResponse::set_allocated_error(::keyapis::vc::v1::GetCameraCalendarResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraCalendarResponse.error)
}
GetCameraCalendarResponse::GetCameraCalendarResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraCalendarResponse)
}
GetCameraCalendarResponse::GetCameraCalendarResponse(const GetCameraCalendarResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraCalendarResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::GetCameraCalendarResponse_Caledar::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraCalendarResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraCalendarResponse)
}

inline void GetCameraCalendarResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetCameraCalendarResponse::~GetCameraCalendarResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraCalendarResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraCalendarResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void GetCameraCalendarResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraCalendarResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraCalendarResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetCameraCalendarResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraCalendarResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraCalendarResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.GetCameraCalendarResponse.Caledar data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraCalendarResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraCalendarResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraCalendarResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraCalendarResponse)
  return target;
}

::size_t GetCameraCalendarResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraCalendarResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.GetCameraCalendarResponse.Caledar data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.vc.v1.GetCameraCalendarResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraCalendarResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraCalendarResponse*>(
      &from));
}

void GetCameraCalendarResponse::MergeFrom(const GetCameraCalendarResponse& from) {
  GetCameraCalendarResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraCalendarResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::GetCameraCalendarResponse_Caledar::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraCalendarResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraCalendarResponse::CopyFrom(const GetCameraCalendarResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraCalendarResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraCalendarResponse::IsInitialized() const {
  return true;
}

void GetCameraCalendarResponse::InternalSwap(GetCameraCalendarResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraCalendarResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraCalendarResponse";
}

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

class GetCameraIntervalsRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraIntervalsRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraIntervalsRequest, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::Int32Value& offset(const GetCameraIntervalsRequest* msg);
  static void set_has_offset(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::Int32Value&
GetCameraIntervalsRequest::_Internal::offset(const GetCameraIntervalsRequest* msg) {
  return *msg->_impl_.offset_;
}
void GetCameraIntervalsRequest::clear_offset() {
  if (_impl_.offset_ != nullptr) _impl_.offset_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetCameraIntervalsRequest::GetCameraIntervalsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraIntervalsRequest)
}
GetCameraIntervalsRequest::GetCameraIntervalsRequest(const GetCameraIntervalsRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraIntervalsRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.uid_) {}

    , decltype(_impl_.offset_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_uid().empty()) {
    _this->_impl_.uid_.Set(from._internal_uid(), _this->GetArenaForAllocation());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.offset_ = new ::PROTOBUF_NAMESPACE_ID::Int32Value(*from._impl_.offset_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraIntervalsRequest)
}

inline void GetCameraIntervalsRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.uid_) {}

    , decltype(_impl_.offset_){nullptr}
  };
  _impl_.uid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.uid_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

GetCameraIntervalsRequest::~GetCameraIntervalsRequest() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraIntervalsRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraIntervalsRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.uid_.Destroy();
  if (this != internal_default_instance()) delete _impl_.offset_;
}

void GetCameraIntervalsRequest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraIntervalsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraIntervalsRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.uid_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.offset_ != nullptr);
    _impl_.offset_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraIntervalsRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_uid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Int32Value offset = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_offset(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraIntervalsRequest::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraIntervalsRequest)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    const std::string& _s = this->_internal_uid();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.GetCameraIntervalsRequest.uid");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .google.protobuf.Int32Value offset = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::offset(this),
        _Internal::offset(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraIntervalsRequest)
  return target;
}

::size_t GetCameraIntervalsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraIntervalsRequest)
  ::size_t total_size = 0;

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

  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_uid().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_uid());
  }

  // .google.protobuf.Int32Value offset = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.offset_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraIntervalsRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraIntervalsRequest*>(
      &from));
}

void GetCameraIntervalsRequest::MergeFrom(const GetCameraIntervalsRequest& from) {
  GetCameraIntervalsRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraIntervalsRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_uid().empty()) {
    _this->_internal_set_uid(from._internal_uid());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_offset()->::PROTOBUF_NAMESPACE_ID::Int32Value::MergeFrom(
        from._internal_offset());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraIntervalsRequest::CopyFrom(const GetCameraIntervalsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraIntervalsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraIntervalsRequest::IsInitialized() const {
  return true;
}

void GetCameraIntervalsRequest::InternalSwap(GetCameraIntervalsRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.uid_, lhs_arena,
                                       &other->_impl_.uid_, rhs_arena);
  swap(_impl_.offset_, other->_impl_.offset_);
}

std::string GetCameraIntervalsRequest::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraIntervalsRequest";
}

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

class GetCameraIntervalsResponse_Interval_Item::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCameraIntervalsResponse_Interval_Item>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetCameraIntervalsResponse_Interval_Item, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& since_at(const GetCameraIntervalsResponse_Interval_Item* msg);
  static void set_has_since_at(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& till_at(const GetCameraIntervalsResponse_Interval_Item* msg);
  static void set_has_till_at(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::Timestamp&
GetCameraIntervalsResponse_Interval_Item::_Internal::since_at(const GetCameraIntervalsResponse_Interval_Item* msg) {
  return *msg->_impl_.since_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
GetCameraIntervalsResponse_Interval_Item::_Internal::till_at(const GetCameraIntervalsResponse_Interval_Item* msg) {
  return *msg->_impl_.till_at_;
}
void GetCameraIntervalsResponse_Interval_Item::clear_since_at() {
  if (_impl_.since_at_ != nullptr) _impl_.since_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
void GetCameraIntervalsResponse_Interval_Item::clear_till_at() {
  if (_impl_.till_at_ != nullptr) _impl_.till_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
GetCameraIntervalsResponse_Interval_Item::GetCameraIntervalsResponse_Interval_Item(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
}
GetCameraIntervalsResponse_Interval_Item::GetCameraIntervalsResponse_Interval_Item(const GetCameraIntervalsResponse_Interval_Item& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraIntervalsResponse_Interval_Item* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.since_at_){nullptr}
    , decltype(_impl_.till_at_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.since_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.since_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.till_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.till_at_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
}

inline void GetCameraIntervalsResponse_Interval_Item::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.since_at_){nullptr}
    , decltype(_impl_.till_at_){nullptr}
  };
}

GetCameraIntervalsResponse_Interval_Item::~GetCameraIntervalsResponse_Interval_Item() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraIntervalsResponse_Interval_Item::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.since_at_;
  if (this != internal_default_instance()) delete _impl_.till_at_;
}

void GetCameraIntervalsResponse_Interval_Item::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraIntervalsResponse_Interval_Item::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.since_at_ != nullptr);
      _impl_.since_at_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.till_at_ != nullptr);
      _impl_.till_at_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetCameraIntervalsResponse_Interval_Item::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .google.protobuf.Timestamp since_at = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_since_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp till_at = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_till_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraIntervalsResponse_Interval_Item::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .google.protobuf.Timestamp since_at = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::since_at(this),
        _Internal::since_at(this).GetCachedSize(), target, stream);
  }

  // .google.protobuf.Timestamp till_at = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::till_at(this),
        _Internal::till_at(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
  return target;
}

::size_t GetCameraIntervalsResponse_Interval_Item::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
  ::size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .google.protobuf.Timestamp since_at = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.since_at_);
    }

    // .google.protobuf.Timestamp till_at = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.till_at_);
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraIntervalsResponse_Interval_Item::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraIntervalsResponse_Interval_Item*>(
      &from));
}

void GetCameraIntervalsResponse_Interval_Item::MergeFrom(const GetCameraIntervalsResponse_Interval_Item& from) {
  GetCameraIntervalsResponse_Interval_Item* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_since_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_since_at());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_till_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_till_at());
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraIntervalsResponse_Interval_Item::CopyFrom(const GetCameraIntervalsResponse_Interval_Item& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraIntervalsResponse_Interval_Item::IsInitialized() const {
  return true;
}

void GetCameraIntervalsResponse_Interval_Item::InternalSwap(GetCameraIntervalsResponse_Interval_Item* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetCameraIntervalsResponse_Interval_Item, _impl_.till_at_)
      + sizeof(GetCameraIntervalsResponse_Interval_Item::_impl_.till_at_)
      - PROTOBUF_FIELD_OFFSET(GetCameraIntervalsResponse_Interval_Item, _impl_.since_at_)>(
          reinterpret_cast<char*>(&_impl_.since_at_),
          reinterpret_cast<char*>(&other->_impl_.since_at_));
}

std::string GetCameraIntervalsResponse_Interval_Item::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item";
}

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

class GetCameraIntervalsResponse_Interval::_Internal {
 public:
};

GetCameraIntervalsResponse_Interval::GetCameraIntervalsResponse_Interval(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
}
GetCameraIntervalsResponse_Interval::GetCameraIntervalsResponse_Interval(const GetCameraIntervalsResponse_Interval& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraIntervalsResponse_Interval* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){from._impl_.items_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
}

inline void GetCameraIntervalsResponse_Interval::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

GetCameraIntervalsResponse_Interval::~GetCameraIntervalsResponse_Interval() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraIntervalsResponse_Interval::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_items()->~RepeatedPtrField();
}

void GetCameraIntervalsResponse_Interval::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraIntervalsResponse_Interval::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraIntervalsResponse_Interval::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item items = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_items(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraIntervalsResponse_Interval::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item items = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
  return target;
}

::size_t GetCameraIntervalsResponse_Interval::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
  ::size_t total_size = 0;

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

  // repeated .keyapis.vc.v1.GetCameraIntervalsResponse.Interval.Item items = 1;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->_internal_items()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraIntervalsResponse_Interval::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraIntervalsResponse_Interval*>(
      &from));
}

void GetCameraIntervalsResponse_Interval::MergeFrom(const GetCameraIntervalsResponse_Interval& from) {
  GetCameraIntervalsResponse_Interval* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

void GetCameraIntervalsResponse_Interval::CopyFrom(const GetCameraIntervalsResponse_Interval& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraIntervalsResponse.Interval)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraIntervalsResponse_Interval::IsInitialized() const {
  return true;
}

void GetCameraIntervalsResponse_Interval::InternalSwap(GetCameraIntervalsResponse_Interval* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _internal_mutable_items()->InternalSwap(other->_internal_mutable_items());
}

std::string GetCameraIntervalsResponse_Interval::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraIntervalsResponse.Interval";
}

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

class GetCameraIntervalsResponse_Error_VcError::_Internal {
 public:
};

GetCameraIntervalsResponse_Error_VcError::GetCameraIntervalsResponse_Error_VcError(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
}
GetCameraIntervalsResponse_Error_VcError::GetCameraIntervalsResponse_Error_VcError(const GetCameraIntervalsResponse_Error_VcError& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraIntervalsResponse_Error_VcError* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.text_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.text_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.text_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_text().empty()) {
    _this->_impl_.text_.Set(from._internal_text(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
}

inline void GetCameraIntervalsResponse_Error_VcError::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.text_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.text_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.text_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

GetCameraIntervalsResponse_Error_VcError::~GetCameraIntervalsResponse_Error_VcError() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraIntervalsResponse_Error_VcError::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.text_.Destroy();
}

void GetCameraIntervalsResponse_Error_VcError::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraIntervalsResponse_Error_VcError::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraIntervalsResponse_Error_VcError::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string text = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_text();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraIntervalsResponse_Error_VcError::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string text = 1;
  if (!this->_internal_text().empty()) {
    const std::string& _s = this->_internal_text();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError.text");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
  return target;
}

::size_t GetCameraIntervalsResponse_Error_VcError::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
  ::size_t total_size = 0;

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

  // string text = 1;
  if (!this->_internal_text().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_text());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraIntervalsResponse_Error_VcError::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraIntervalsResponse_Error_VcError*>(
      &from));
}

void GetCameraIntervalsResponse_Error_VcError::MergeFrom(const GetCameraIntervalsResponse_Error_VcError& from) {
  GetCameraIntervalsResponse_Error_VcError* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_text().empty()) {
    _this->_internal_set_text(from._internal_text());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraIntervalsResponse_Error_VcError::CopyFrom(const GetCameraIntervalsResponse_Error_VcError& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraIntervalsResponse_Error_VcError::IsInitialized() const {
  return true;
}

void GetCameraIntervalsResponse_Error_VcError::InternalSwap(GetCameraIntervalsResponse_Error_VcError* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_, lhs_arena,
                                       &other->_impl_.text_, rhs_arena);
}

std::string GetCameraIntervalsResponse_Error_VcError::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError";
}

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

class GetCameraIntervalsResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraIntervalsResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::ValidationError& validation(const GetCameraIntervalsResponse_Error* msg);
  static const ::keyapis::vc::v1::GetCameraIntervalsResponse_Error_VcError& vc(const GetCameraIntervalsResponse_Error* msg);
};

const ::keyapis::vc::v1::ValidationError&
GetCameraIntervalsResponse_Error::_Internal::validation(const GetCameraIntervalsResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
const ::keyapis::vc::v1::GetCameraIntervalsResponse_Error_VcError&
GetCameraIntervalsResponse_Error::_Internal::vc(const GetCameraIntervalsResponse_Error* msg) {
  return *msg->_impl_.reason_.vc_;
}
void GetCameraIntervalsResponse_Error::set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(validation);
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraIntervalsResponse.Error.validation)
}
void GetCameraIntervalsResponse_Error::set_allocated_vc(::keyapis::vc::v1::GetCameraIntervalsResponse_Error_VcError* vc) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (vc) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(vc);
    if (message_arena != submessage_arena) {
      vc = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, vc, submessage_arena);
    }
    set_has_vc();
    _impl_.reason_.vc_ = vc;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraIntervalsResponse.Error.vc)
}
GetCameraIntervalsResponse_Error::GetCameraIntervalsResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
}
GetCameraIntervalsResponse_Error::GetCameraIntervalsResponse_Error(const GetCameraIntervalsResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraIntervalsResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case kVc: {
      _this->_internal_mutable_vc()->::keyapis::vc::v1::GetCameraIntervalsResponse_Error_VcError::MergeFrom(
          from._internal_vc());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
}

inline void GetCameraIntervalsResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetCameraIntervalsResponse_Error::~GetCameraIntervalsResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraIntervalsResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

void GetCameraIntervalsResponse_Error::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraIntervalsResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case kVc: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.vc_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetCameraIntervalsResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraIntervalsResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError vc = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_vc(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraIntervalsResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (reason_case()) {
    case kValidation: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::validation(this),
          _Internal::validation(this).GetCachedSize(), target, stream);
      break;
    }
    case kVc: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::vc(this),
          _Internal::vc(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
  return target;
}

::size_t GetCameraIntervalsResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.vc.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    // .keyapis.vc.v1.GetCameraIntervalsResponse.Error.VcError vc = 2;
    case kVc: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.vc_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraIntervalsResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraIntervalsResponse_Error*>(
      &from));
}

void GetCameraIntervalsResponse_Error::MergeFrom(const GetCameraIntervalsResponse_Error& from) {
  GetCameraIntervalsResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::vc::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case kVc: {
      _this->_internal_mutable_vc()->::keyapis::vc::v1::GetCameraIntervalsResponse_Error_VcError::MergeFrom(
          from._internal_vc());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraIntervalsResponse_Error::CopyFrom(const GetCameraIntervalsResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraIntervalsResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraIntervalsResponse_Error::IsInitialized() const {
  return true;
}

void GetCameraIntervalsResponse_Error::InternalSwap(GetCameraIntervalsResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraIntervalsResponse_Error::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraIntervalsResponse.Error";
}

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

class GetCameraIntervalsResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::vc::v1::GetCameraIntervalsResponse, _impl_._oneof_case_);
  static const ::keyapis::vc::v1::GetCameraIntervalsResponse_Interval& data(const GetCameraIntervalsResponse* msg);
  static const ::keyapis::vc::v1::GetCameraIntervalsResponse_Error& error(const GetCameraIntervalsResponse* msg);
};

const ::keyapis::vc::v1::GetCameraIntervalsResponse_Interval&
GetCameraIntervalsResponse::_Internal::data(const GetCameraIntervalsResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::vc::v1::GetCameraIntervalsResponse_Error&
GetCameraIntervalsResponse::_Internal::error(const GetCameraIntervalsResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetCameraIntervalsResponse::set_allocated_data(::keyapis::vc::v1::GetCameraIntervalsResponse_Interval* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraIntervalsResponse.data)
}
void GetCameraIntervalsResponse::set_allocated_error(::keyapis::vc::v1::GetCameraIntervalsResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraIntervalsResponse.error)
}
GetCameraIntervalsResponse::GetCameraIntervalsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.GetCameraIntervalsResponse)
}
GetCameraIntervalsResponse::GetCameraIntervalsResponse(const GetCameraIntervalsResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetCameraIntervalsResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::GetCameraIntervalsResponse_Interval::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraIntervalsResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.GetCameraIntervalsResponse)
}

inline void GetCameraIntervalsResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetCameraIntervalsResponse::~GetCameraIntervalsResponse() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.GetCameraIntervalsResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetCameraIntervalsResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

void GetCameraIntervalsResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GetCameraIntervalsResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.vc.v1.GetCameraIntervalsResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetCameraIntervalsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.GetCameraIntervalsResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* GetCameraIntervalsResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.vc.v1.GetCameraIntervalsResponse.Interval data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.vc.v1.GetCameraIntervalsResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetCameraIntervalsResponse::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.GetCameraIntervalsResponse)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.GetCameraIntervalsResponse)
  return target;
}

::size_t GetCameraIntervalsResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.GetCameraIntervalsResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.vc.v1.GetCameraIntervalsResponse.Interval data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.vc.v1.GetCameraIntervalsResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCameraIntervalsResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetCameraIntervalsResponse*>(
      &from));
}

void GetCameraIntervalsResponse::MergeFrom(const GetCameraIntervalsResponse& from) {
  GetCameraIntervalsResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.GetCameraIntervalsResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::vc::v1::GetCameraIntervalsResponse_Interval::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::vc::v1::GetCameraIntervalsResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetCameraIntervalsResponse::CopyFrom(const GetCameraIntervalsResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.GetCameraIntervalsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCameraIntervalsResponse::IsInitialized() const {
  return true;
}

void GetCameraIntervalsResponse::InternalSwap(GetCameraIntervalsResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetCameraIntervalsResponse::GetTypeName() const {
  return "keyapis.vc.v1.GetCameraIntervalsResponse";
}

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

class ValidationError::_Internal {
 public:
};

ValidationError::ValidationError(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.vc.v1.ValidationError)
}
ValidationError::ValidationError(const ValidationError& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  ValidationError* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.path_) {}

    , decltype(_impl_.message_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.path_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.path_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_path().empty()) {
    _this->_impl_.path_.Set(from._internal_path(), _this->GetArenaForAllocation());
  }
  _impl_.message_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.message_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_message().empty()) {
    _this->_impl_.message_.Set(from._internal_message(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.vc.v1.ValidationError)
}

inline void ValidationError::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.path_) {}

    , decltype(_impl_.message_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.path_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.path_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.message_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.message_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ValidationError::~ValidationError() {
  // @@protoc_insertion_point(destructor:keyapis.vc.v1.ValidationError)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ValidationError::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.path_.Destroy();
  _impl_.message_.Destroy();
}

void ValidationError::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ValidationError::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.vc.v1.ValidationError)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.path_.ClearToEmpty();
  _impl_.message_.ClearToEmpty();
  _internal_metadata_.Clear<std::string>();
}

const char* ValidationError::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string path = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_path();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // string message = 2 [(.google.api.field_behavior) = REQUIRED];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_message();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* ValidationError::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.vc.v1.ValidationError)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string path = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_path().empty()) {
    const std::string& _s = this->_internal_path();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.ValidationError.path");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string message = 2 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_message().empty()) {
    const std::string& _s = this->_internal_message();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.vc.v1.ValidationError.message");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.vc.v1.ValidationError)
  return target;
}

::size_t ValidationError::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.vc.v1.ValidationError)
  ::size_t total_size = 0;

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

  // string path = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_path().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_path());
  }

  // string message = 2 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_message().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_message());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ValidationError::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const ValidationError*>(
      &from));
}

void ValidationError::MergeFrom(const ValidationError& from) {
  ValidationError* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.vc.v1.ValidationError)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_path().empty()) {
    _this->_internal_set_path(from._internal_path());
  }
  if (!from._internal_message().empty()) {
    _this->_internal_set_message(from._internal_message());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void ValidationError::CopyFrom(const ValidationError& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.vc.v1.ValidationError)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ValidationError::IsInitialized() const {
  return true;
}

void ValidationError::InternalSwap(ValidationError* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.path_, lhs_arena,
                                       &other->_impl_.path_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.message_, lhs_arena,
                                       &other->_impl_.message_, rhs_arena);
}

std::string ValidationError::GetTypeName() const {
  return "keyapis.vc.v1.ValidationError";
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace vc
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraRoom*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraRoom >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraRoom >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraRoomFilter*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraRoomFilter >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraRoomFilter >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraRoomPaging*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraRoomPaging >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraRoomPaging >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::Camera_ValidationError_RtspUrlRequired*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::Camera_ValidationError_RtspUrlRequired >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::Camera_ValidationError_RtspUrlRequired >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::Camera_ValidationError_OneFieldMacOrSerialNumberRequired*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::Camera_ValidationError_OneFieldMacOrSerialNumberRequired >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::Camera_ValidationError_OneFieldMacOrSerialNumberRequired >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::Camera_ValidationError*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::Camera_ValidationError >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::Camera_ValidationError >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::Camera*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::Camera >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::Camera >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraFilter*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraFilter >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraFilter >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraPaging*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraPaging >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraPaging >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::CameraScope*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::CameraScope >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::CameraScope >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraListRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraListResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraListResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraListResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraListResponse_Data*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraListResponse_Data >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraListResponse_Data >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraListResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRtspUrlExternalIdRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRtspUrlExternalIdRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRtspUrlExternalIdRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_CameraRtspUrl >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRtspUrlExternalIdResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomAttachRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomAttachRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomAttachRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomAttachResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomAttachResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomAttachResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomAttachResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomAttachResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomAttachResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomAttachListRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomAttachListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomAttachListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomAttachListResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomAttachListResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomAttachListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomAttachListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomDetachRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomDetachRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomDetachRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomDetachResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomDetachResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomDetachResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomDetachResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomDetachResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomDetachResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomDetachListRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomDetachListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomDetachListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomDetachListResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PutCameraRoomDetachListResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PutCameraRoomDetachListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PutCameraRoomDetachListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRoomCountRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRoomCountRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRoomCountRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRoomCountResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRoomCountResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRoomCountResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRoomCountResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRoomCountResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRoomCountResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRoomListRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRoomListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRoomListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRoomListResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRoomListResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRoomListResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraRoomListResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraRoomListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraRoomListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::DeleteCameraRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::DeleteCameraRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::DeleteCameraRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::DeleteCameraResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::DeleteCameraResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::DeleteCameraResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::DeleteCameraResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::DeleteCameraResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::DeleteCameraResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PostCameraRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PostCameraRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PostCameraRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PostCameraResponse_Error_VcError*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PostCameraResponse_Error_VcError >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PostCameraResponse_Error_VcError >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PostCameraResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PostCameraResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PostCameraResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::PostCameraResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::PostCameraResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::PostCameraResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraCalendarRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraCalendarRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraCalendarRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraCalendarResponse_Caledar*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraCalendarResponse_Caledar >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraCalendarResponse_Caledar >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraCalendarResponse_Error_VcError*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraCalendarResponse_Error_VcError >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraCalendarResponse_Error_VcError >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraCalendarResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraCalendarResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraCalendarResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraCalendarResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraCalendarResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraCalendarResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraIntervalsRequest*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraIntervalsRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraIntervalsRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraIntervalsResponse_Interval_Item*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraIntervalsResponse_Interval_Item >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraIntervalsResponse_Interval_Item >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraIntervalsResponse_Interval*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraIntervalsResponse_Interval >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraIntervalsResponse_Interval >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraIntervalsResponse_Error_VcError*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraIntervalsResponse_Error_VcError >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraIntervalsResponse_Error_VcError >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraIntervalsResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraIntervalsResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraIntervalsResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::GetCameraIntervalsResponse*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::GetCameraIntervalsResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::GetCameraIntervalsResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::vc::v1::ValidationError*
Arena::CreateMaybeMessage< ::keyapis::vc::v1::ValidationError >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::vc::v1::ValidationError >(arena);
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
