// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: csd.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_csd_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_csd_2eproto

#include <limits>
#include <string>

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

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/message_lite.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_util.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_csd_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_csd_2eproto {
  static const uint32_t offsets[];
};
namespace safe_browsing {
class ChromeUserPopulation;
struct ChromeUserPopulationDefaultTypeInternal;
extern ChromeUserPopulationDefaultTypeInternal _ChromeUserPopulation_default_instance_;
class ClientDownloadReport;
struct ClientDownloadReportDefaultTypeInternal;
extern ClientDownloadReportDefaultTypeInternal _ClientDownloadReport_default_instance_;
class ClientDownloadReport_UserInformation;
struct ClientDownloadReport_UserInformationDefaultTypeInternal;
extern ClientDownloadReport_UserInformationDefaultTypeInternal _ClientDownloadReport_UserInformation_default_instance_;
class ClientDownloadRequest;
struct ClientDownloadRequestDefaultTypeInternal;
extern ClientDownloadRequestDefaultTypeInternal _ClientDownloadRequest_default_instance_;
class ClientDownloadRequest_ArchivedBinary;
struct ClientDownloadRequest_ArchivedBinaryDefaultTypeInternal;
extern ClientDownloadRequest_ArchivedBinaryDefaultTypeInternal _ClientDownloadRequest_ArchivedBinary_default_instance_;
class ClientDownloadRequest_CertificateChain;
struct ClientDownloadRequest_CertificateChainDefaultTypeInternal;
extern ClientDownloadRequest_CertificateChainDefaultTypeInternal _ClientDownloadRequest_CertificateChain_default_instance_;
class ClientDownloadRequest_CertificateChain_Element;
struct ClientDownloadRequest_CertificateChain_ElementDefaultTypeInternal;
extern ClientDownloadRequest_CertificateChain_ElementDefaultTypeInternal _ClientDownloadRequest_CertificateChain_Element_default_instance_;
class ClientDownloadRequest_Digests;
struct ClientDownloadRequest_DigestsDefaultTypeInternal;
extern ClientDownloadRequest_DigestsDefaultTypeInternal _ClientDownloadRequest_Digests_default_instance_;
class ClientDownloadRequest_ExtendedAttr;
struct ClientDownloadRequest_ExtendedAttrDefaultTypeInternal;
extern ClientDownloadRequest_ExtendedAttrDefaultTypeInternal _ClientDownloadRequest_ExtendedAttr_default_instance_;
class ClientDownloadRequest_ImageHeaders;
struct ClientDownloadRequest_ImageHeadersDefaultTypeInternal;
extern ClientDownloadRequest_ImageHeadersDefaultTypeInternal _ClientDownloadRequest_ImageHeaders_default_instance_;
class ClientDownloadRequest_MachOHeaders;
struct ClientDownloadRequest_MachOHeadersDefaultTypeInternal;
extern ClientDownloadRequest_MachOHeadersDefaultTypeInternal _ClientDownloadRequest_MachOHeaders_default_instance_;
class ClientDownloadRequest_MachOHeaders_LoadCommand;
struct ClientDownloadRequest_MachOHeaders_LoadCommandDefaultTypeInternal;
extern ClientDownloadRequest_MachOHeaders_LoadCommandDefaultTypeInternal _ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_;
class ClientDownloadRequest_PEImageHeaders;
struct ClientDownloadRequest_PEImageHeadersDefaultTypeInternal;
extern ClientDownloadRequest_PEImageHeadersDefaultTypeInternal _ClientDownloadRequest_PEImageHeaders_default_instance_;
class ClientDownloadRequest_PEImageHeaders_DebugData;
struct ClientDownloadRequest_PEImageHeaders_DebugDataDefaultTypeInternal;
extern ClientDownloadRequest_PEImageHeaders_DebugDataDefaultTypeInternal _ClientDownloadRequest_PEImageHeaders_DebugData_default_instance_;
class ClientDownloadRequest_Resource;
struct ClientDownloadRequest_ResourceDefaultTypeInternal;
extern ClientDownloadRequest_ResourceDefaultTypeInternal _ClientDownloadRequest_Resource_default_instance_;
class ClientDownloadRequest_SignatureInfo;
struct ClientDownloadRequest_SignatureInfoDefaultTypeInternal;
extern ClientDownloadRequest_SignatureInfoDefaultTypeInternal _ClientDownloadRequest_SignatureInfo_default_instance_;
class ClientDownloadResponse;
struct ClientDownloadResponseDefaultTypeInternal;
extern ClientDownloadResponseDefaultTypeInternal _ClientDownloadResponse_default_instance_;
class ClientDownloadResponse_MoreInfo;
struct ClientDownloadResponse_MoreInfoDefaultTypeInternal;
extern ClientDownloadResponse_MoreInfoDefaultTypeInternal _ClientDownloadResponse_MoreInfo_default_instance_;
class ClientIncidentReport;
struct ClientIncidentReportDefaultTypeInternal;
extern ClientIncidentReportDefaultTypeInternal _ClientIncidentReport_default_instance_;
class ClientIncidentReport_DownloadDetails;
struct ClientIncidentReport_DownloadDetailsDefaultTypeInternal;
extern ClientIncidentReport_DownloadDetailsDefaultTypeInternal _ClientIncidentReport_DownloadDetails_default_instance_;
class ClientIncidentReport_EnvironmentData;
struct ClientIncidentReport_EnvironmentDataDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentDataDefaultTypeInternal _ClientIncidentReport_EnvironmentData_default_instance_;
class ClientIncidentReport_EnvironmentData_Machine;
struct ClientIncidentReport_EnvironmentData_MachineDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_MachineDefaultTypeInternal _ClientIncidentReport_EnvironmentData_Machine_default_instance_;
class ClientIncidentReport_EnvironmentData_OS;
struct ClientIncidentReport_EnvironmentData_OSDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_OSDefaultTypeInternal _ClientIncidentReport_EnvironmentData_OS_default_instance_;
class ClientIncidentReport_EnvironmentData_OS_RegistryKey;
struct ClientIncidentReport_EnvironmentData_OS_RegistryKeyDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_OS_RegistryKeyDefaultTypeInternal _ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_;
class ClientIncidentReport_EnvironmentData_OS_RegistryValue;
struct ClientIncidentReport_EnvironmentData_OS_RegistryValueDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_OS_RegistryValueDefaultTypeInternal _ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_;
class ClientIncidentReport_EnvironmentData_Process;
struct ClientIncidentReport_EnvironmentData_ProcessDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_ProcessDefaultTypeInternal _ClientIncidentReport_EnvironmentData_Process_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_Dll;
struct ClientIncidentReport_EnvironmentData_Process_DllDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_Process_DllDefaultTypeInternal _ClientIncidentReport_EnvironmentData_Process_Dll_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_ModuleState;
struct ClientIncidentReport_EnvironmentData_Process_ModuleStateDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_Process_ModuleStateDefaultTypeInternal _ClientIncidentReport_EnvironmentData_Process_ModuleState_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification;
struct ClientIncidentReport_EnvironmentData_Process_ModuleState_ModificationDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_Process_ModuleState_ModificationDefaultTypeInternal _ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_NetworkProvider;
struct ClientIncidentReport_EnvironmentData_Process_NetworkProviderDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_Process_NetworkProviderDefaultTypeInternal _ClientIncidentReport_EnvironmentData_Process_NetworkProvider_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_Patch;
struct ClientIncidentReport_EnvironmentData_Process_PatchDefaultTypeInternal;
extern ClientIncidentReport_EnvironmentData_Process_PatchDefaultTypeInternal _ClientIncidentReport_EnvironmentData_Process_Patch_default_instance_;
class ClientIncidentReport_ExtensionData;
struct ClientIncidentReport_ExtensionDataDefaultTypeInternal;
extern ClientIncidentReport_ExtensionDataDefaultTypeInternal _ClientIncidentReport_ExtensionData_default_instance_;
class ClientIncidentReport_ExtensionData_ExtensionInfo;
struct ClientIncidentReport_ExtensionData_ExtensionInfoDefaultTypeInternal;
extern ClientIncidentReport_ExtensionData_ExtensionInfoDefaultTypeInternal _ClientIncidentReport_ExtensionData_ExtensionInfo_default_instance_;
class ClientIncidentReport_IncidentData;
struct ClientIncidentReport_IncidentDataDefaultTypeInternal;
extern ClientIncidentReport_IncidentDataDefaultTypeInternal _ClientIncidentReport_IncidentData_default_instance_;
class ClientIncidentReport_IncidentData_BinaryIntegrityIncident;
struct ClientIncidentReport_IncidentData_BinaryIntegrityIncidentDefaultTypeInternal;
extern ClientIncidentReport_IncidentData_BinaryIntegrityIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_;
class ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile;
struct ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFileDefaultTypeInternal;
extern ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFileDefaultTypeInternal _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_;
class ClientIncidentReport_IncidentData_ResourceRequestIncident;
struct ClientIncidentReport_IncidentData_ResourceRequestIncidentDefaultTypeInternal;
extern ClientIncidentReport_IncidentData_ResourceRequestIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_;
class ClientIncidentReport_IncidentData_TrackedPreferenceIncident;
struct ClientIncidentReport_IncidentData_TrackedPreferenceIncidentDefaultTypeInternal;
extern ClientIncidentReport_IncidentData_TrackedPreferenceIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_;
class ClientIncidentReport_NonBinaryDownloadDetails;
struct ClientIncidentReport_NonBinaryDownloadDetailsDefaultTypeInternal;
extern ClientIncidentReport_NonBinaryDownloadDetailsDefaultTypeInternal _ClientIncidentReport_NonBinaryDownloadDetails_default_instance_;
class ClientIncidentResponse;
struct ClientIncidentResponseDefaultTypeInternal;
extern ClientIncidentResponseDefaultTypeInternal _ClientIncidentResponse_default_instance_;
class ClientIncidentResponse_EnvironmentRequest;
struct ClientIncidentResponse_EnvironmentRequestDefaultTypeInternal;
extern ClientIncidentResponse_EnvironmentRequestDefaultTypeInternal _ClientIncidentResponse_EnvironmentRequest_default_instance_;
class ClientMalwareRequest;
struct ClientMalwareRequestDefaultTypeInternal;
extern ClientMalwareRequestDefaultTypeInternal _ClientMalwareRequest_default_instance_;
class ClientMalwareRequest_UrlInfo;
struct ClientMalwareRequest_UrlInfoDefaultTypeInternal;
extern ClientMalwareRequest_UrlInfoDefaultTypeInternal _ClientMalwareRequest_UrlInfo_default_instance_;
class ClientMalwareResponse;
struct ClientMalwareResponseDefaultTypeInternal;
extern ClientMalwareResponseDefaultTypeInternal _ClientMalwareResponse_default_instance_;
class ClientPhishingRequest;
struct ClientPhishingRequestDefaultTypeInternal;
extern ClientPhishingRequestDefaultTypeInternal _ClientPhishingRequest_default_instance_;
class ClientPhishingRequest_Feature;
struct ClientPhishingRequest_FeatureDefaultTypeInternal;
extern ClientPhishingRequest_FeatureDefaultTypeInternal _ClientPhishingRequest_Feature_default_instance_;
class ClientPhishingResponse;
struct ClientPhishingResponseDefaultTypeInternal;
extern ClientPhishingResponseDefaultTypeInternal _ClientPhishingResponse_default_instance_;
class ClientSafeBrowsingReportRequest;
struct ClientSafeBrowsingReportRequestDefaultTypeInternal;
extern ClientSafeBrowsingReportRequestDefaultTypeInternal _ClientSafeBrowsingReportRequest_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPHeader;
struct ClientSafeBrowsingReportRequest_HTTPHeaderDefaultTypeInternal;
extern ClientSafeBrowsingReportRequest_HTTPHeaderDefaultTypeInternal _ClientSafeBrowsingReportRequest_HTTPHeader_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPRequest;
struct ClientSafeBrowsingReportRequest_HTTPRequestDefaultTypeInternal;
extern ClientSafeBrowsingReportRequest_HTTPRequestDefaultTypeInternal _ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine;
struct ClientSafeBrowsingReportRequest_HTTPRequest_FirstLineDefaultTypeInternal;
extern ClientSafeBrowsingReportRequest_HTTPRequest_FirstLineDefaultTypeInternal _ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPResponse;
struct ClientSafeBrowsingReportRequest_HTTPResponseDefaultTypeInternal;
extern ClientSafeBrowsingReportRequest_HTTPResponseDefaultTypeInternal _ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine;
struct ClientSafeBrowsingReportRequest_HTTPResponse_FirstLineDefaultTypeInternal;
extern ClientSafeBrowsingReportRequest_HTTPResponse_FirstLineDefaultTypeInternal _ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_;
class ClientSafeBrowsingReportRequest_Resource;
struct ClientSafeBrowsingReportRequest_ResourceDefaultTypeInternal;
extern ClientSafeBrowsingReportRequest_ResourceDefaultTypeInternal _ClientSafeBrowsingReportRequest_Resource_default_instance_;
class ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties;
struct ClientSafeBrowsingReportRequest_SafeBrowsingClientPropertiesDefaultTypeInternal;
extern ClientSafeBrowsingReportRequest_SafeBrowsingClientPropertiesDefaultTypeInternal _ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_;
class ClientUploadResponse;
struct ClientUploadResponseDefaultTypeInternal;
extern ClientUploadResponseDefaultTypeInternal _ClientUploadResponse_default_instance_;
class DownloadMetadata;
struct DownloadMetadataDefaultTypeInternal;
extern DownloadMetadataDefaultTypeInternal _DownloadMetadata_default_instance_;
class HTMLElement;
struct HTMLElementDefaultTypeInternal;
extern HTMLElementDefaultTypeInternal _HTMLElement_default_instance_;
class HTMLElement_Attribute;
struct HTMLElement_AttributeDefaultTypeInternal;
extern HTMLElement_AttributeDefaultTypeInternal _HTMLElement_Attribute_default_instance_;
class ImageData;
struct ImageDataDefaultTypeInternal;
extern ImageDataDefaultTypeInternal _ImageData_default_instance_;
class ImageData_Dimensions;
struct ImageData_DimensionsDefaultTypeInternal;
extern ImageData_DimensionsDefaultTypeInternal _ImageData_Dimensions_default_instance_;
class LoginReputationClientRequest;
struct LoginReputationClientRequestDefaultTypeInternal;
extern LoginReputationClientRequestDefaultTypeInternal _LoginReputationClientRequest_default_instance_;
class LoginReputationClientRequest_Frame;
struct LoginReputationClientRequest_FrameDefaultTypeInternal;
extern LoginReputationClientRequest_FrameDefaultTypeInternal _LoginReputationClientRequest_Frame_default_instance_;
class LoginReputationClientRequest_Frame_Form;
struct LoginReputationClientRequest_Frame_FormDefaultTypeInternal;
extern LoginReputationClientRequest_Frame_FormDefaultTypeInternal _LoginReputationClientRequest_Frame_Form_default_instance_;
class LoginReputationClientRequest_PasswordReuseEvent;
struct LoginReputationClientRequest_PasswordReuseEventDefaultTypeInternal;
extern LoginReputationClientRequest_PasswordReuseEventDefaultTypeInternal _LoginReputationClientRequest_PasswordReuseEvent_default_instance_;
class LoginReputationClientResponse;
struct LoginReputationClientResponseDefaultTypeInternal;
extern LoginReputationClientResponseDefaultTypeInternal _LoginReputationClientResponse_default_instance_;
class NotificationImageReportRequest;
struct NotificationImageReportRequestDefaultTypeInternal;
extern NotificationImageReportRequestDefaultTypeInternal _NotificationImageReportRequest_default_instance_;
class ReferrerChainEntry;
struct ReferrerChainEntryDefaultTypeInternal;
extern ReferrerChainEntryDefaultTypeInternal _ReferrerChainEntry_default_instance_;
class ReferrerChainEntry_ServerRedirect;
struct ReferrerChainEntry_ServerRedirectDefaultTypeInternal;
extern ReferrerChainEntry_ServerRedirectDefaultTypeInternal _ReferrerChainEntry_ServerRedirect_default_instance_;
}  // namespace safe_browsing
PROTOBUF_NAMESPACE_OPEN
template<> ::safe_browsing::ChromeUserPopulation* Arena::CreateMaybeMessage<::safe_browsing::ChromeUserPopulation>(Arena*);
template<> ::safe_browsing::ClientDownloadReport* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadReport>(Arena*);
template<> ::safe_browsing::ClientDownloadReport_UserInformation* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadReport_UserInformation>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_ArchivedBinary* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_ArchivedBinary>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_CertificateChain* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_CertificateChain>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_CertificateChain_Element* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_CertificateChain_Element>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_Digests* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_Digests>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_ExtendedAttr* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_ExtendedAttr>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_ImageHeaders* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_ImageHeaders>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_MachOHeaders* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_MachOHeaders>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_PEImageHeaders* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_PEImageHeaders>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_Resource* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_Resource>(Arena*);
template<> ::safe_browsing::ClientDownloadRequest_SignatureInfo* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_SignatureInfo>(Arena*);
template<> ::safe_browsing::ClientDownloadResponse* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadResponse>(Arena*);
template<> ::safe_browsing::ClientDownloadResponse_MoreInfo* Arena::CreateMaybeMessage<::safe_browsing::ClientDownloadResponse_MoreInfo>(Arena*);
template<> ::safe_browsing::ClientIncidentReport* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_DownloadDetails* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_DownloadDetails>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Machine>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_OS>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Process>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_ExtensionData* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_ExtensionData>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_IncidentData* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_IncidentData>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident>(Arena*);
template<> ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails>(Arena*);
template<> ::safe_browsing::ClientIncidentResponse* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentResponse>(Arena*);
template<> ::safe_browsing::ClientIncidentResponse_EnvironmentRequest* Arena::CreateMaybeMessage<::safe_browsing::ClientIncidentResponse_EnvironmentRequest>(Arena*);
template<> ::safe_browsing::ClientMalwareRequest* Arena::CreateMaybeMessage<::safe_browsing::ClientMalwareRequest>(Arena*);
template<> ::safe_browsing::ClientMalwareRequest_UrlInfo* Arena::CreateMaybeMessage<::safe_browsing::ClientMalwareRequest_UrlInfo>(Arena*);
template<> ::safe_browsing::ClientMalwareResponse* Arena::CreateMaybeMessage<::safe_browsing::ClientMalwareResponse>(Arena*);
template<> ::safe_browsing::ClientPhishingRequest* Arena::CreateMaybeMessage<::safe_browsing::ClientPhishingRequest>(Arena*);
template<> ::safe_browsing::ClientPhishingRequest_Feature* Arena::CreateMaybeMessage<::safe_browsing::ClientPhishingRequest_Feature>(Arena*);
template<> ::safe_browsing::ClientPhishingResponse* Arena::CreateMaybeMessage<::safe_browsing::ClientPhishingResponse>(Arena*);
template<> ::safe_browsing::ClientSafeBrowsingReportRequest* Arena::CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest>(Arena*);
template<> ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* Arena::CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader>(Arena*);
template<> ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* Arena::CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest>(Arena*);
template<> ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* Arena::CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine>(Arena*);
template<> ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* Arena::CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse>(Arena*);
template<> ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* Arena::CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine>(Arena*);
template<> ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* Arena::CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_Resource>(Arena*);
template<> ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* Arena::CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties>(Arena*);
template<> ::safe_browsing::ClientUploadResponse* Arena::CreateMaybeMessage<::safe_browsing::ClientUploadResponse>(Arena*);
template<> ::safe_browsing::DownloadMetadata* Arena::CreateMaybeMessage<::safe_browsing::DownloadMetadata>(Arena*);
template<> ::safe_browsing::HTMLElement* Arena::CreateMaybeMessage<::safe_browsing::HTMLElement>(Arena*);
template<> ::safe_browsing::HTMLElement_Attribute* Arena::CreateMaybeMessage<::safe_browsing::HTMLElement_Attribute>(Arena*);
template<> ::safe_browsing::ImageData* Arena::CreateMaybeMessage<::safe_browsing::ImageData>(Arena*);
template<> ::safe_browsing::ImageData_Dimensions* Arena::CreateMaybeMessage<::safe_browsing::ImageData_Dimensions>(Arena*);
template<> ::safe_browsing::LoginReputationClientRequest* Arena::CreateMaybeMessage<::safe_browsing::LoginReputationClientRequest>(Arena*);
template<> ::safe_browsing::LoginReputationClientRequest_Frame* Arena::CreateMaybeMessage<::safe_browsing::LoginReputationClientRequest_Frame>(Arena*);
template<> ::safe_browsing::LoginReputationClientRequest_Frame_Form* Arena::CreateMaybeMessage<::safe_browsing::LoginReputationClientRequest_Frame_Form>(Arena*);
template<> ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* Arena::CreateMaybeMessage<::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent>(Arena*);
template<> ::safe_browsing::LoginReputationClientResponse* Arena::CreateMaybeMessage<::safe_browsing::LoginReputationClientResponse>(Arena*);
template<> ::safe_browsing::NotificationImageReportRequest* Arena::CreateMaybeMessage<::safe_browsing::NotificationImageReportRequest>(Arena*);
template<> ::safe_browsing::ReferrerChainEntry* Arena::CreateMaybeMessage<::safe_browsing::ReferrerChainEntry>(Arena*);
template<> ::safe_browsing::ReferrerChainEntry_ServerRedirect* Arena::CreateMaybeMessage<::safe_browsing::ReferrerChainEntry_ServerRedirect>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace safe_browsing {

enum ChromeUserPopulation_UserPopulation : int {
  ChromeUserPopulation_UserPopulation_UNKNOWN_USER_POPULATION = 0,
  ChromeUserPopulation_UserPopulation_SAFE_BROWSING = 1,
  ChromeUserPopulation_UserPopulation_EXTENDED_REPORTING = 2
};
bool ChromeUserPopulation_UserPopulation_IsValid(int value);
constexpr ChromeUserPopulation_UserPopulation ChromeUserPopulation_UserPopulation_UserPopulation_MIN = ChromeUserPopulation_UserPopulation_UNKNOWN_USER_POPULATION;
constexpr ChromeUserPopulation_UserPopulation ChromeUserPopulation_UserPopulation_UserPopulation_MAX = ChromeUserPopulation_UserPopulation_EXTENDED_REPORTING;
constexpr int ChromeUserPopulation_UserPopulation_UserPopulation_ARRAYSIZE = ChromeUserPopulation_UserPopulation_UserPopulation_MAX + 1;

const std::string& ChromeUserPopulation_UserPopulation_Name(ChromeUserPopulation_UserPopulation value);
template<typename T>
inline const std::string& ChromeUserPopulation_UserPopulation_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ChromeUserPopulation_UserPopulation>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ChromeUserPopulation_UserPopulation_Name.");
  return ChromeUserPopulation_UserPopulation_Name(static_cast<ChromeUserPopulation_UserPopulation>(enum_t_value));
}
bool ChromeUserPopulation_UserPopulation_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ChromeUserPopulation_UserPopulation* value);
enum LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType : int {
  LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_NOT_SIGNED_IN = 0,
  LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GMAIL = 1,
  LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GSUITE = 2
};
bool LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(int value);
constexpr LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MIN = LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_NOT_SIGNED_IN;
constexpr LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MAX = LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GSUITE;
constexpr int LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_ARRAYSIZE = LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MAX + 1;

const std::string& LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_Name(LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value);
template<typename T>
inline const std::string& LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_Name.");
  return LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_Name(static_cast<LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType>(enum_t_value));
}
bool LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType* value);
enum LoginReputationClientRequest_TriggerType : int {
  LoginReputationClientRequest_TriggerType_TRIGGER_TYPE_UNSPECIFIED = 0,
  LoginReputationClientRequest_TriggerType_UNFAMILIAR_LOGIN_PAGE = 1,
  LoginReputationClientRequest_TriggerType_PASSWORD_REUSE_EVENT = 2
};
bool LoginReputationClientRequest_TriggerType_IsValid(int value);
constexpr LoginReputationClientRequest_TriggerType LoginReputationClientRequest_TriggerType_TriggerType_MIN = LoginReputationClientRequest_TriggerType_TRIGGER_TYPE_UNSPECIFIED;
constexpr LoginReputationClientRequest_TriggerType LoginReputationClientRequest_TriggerType_TriggerType_MAX = LoginReputationClientRequest_TriggerType_PASSWORD_REUSE_EVENT;
constexpr int LoginReputationClientRequest_TriggerType_TriggerType_ARRAYSIZE = LoginReputationClientRequest_TriggerType_TriggerType_MAX + 1;

const std::string& LoginReputationClientRequest_TriggerType_Name(LoginReputationClientRequest_TriggerType value);
template<typename T>
inline const std::string& LoginReputationClientRequest_TriggerType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, LoginReputationClientRequest_TriggerType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function LoginReputationClientRequest_TriggerType_Name.");
  return LoginReputationClientRequest_TriggerType_Name(static_cast<LoginReputationClientRequest_TriggerType>(enum_t_value));
}
bool LoginReputationClientRequest_TriggerType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LoginReputationClientRequest_TriggerType* value);
enum LoginReputationClientResponse_VerdictType : int {
  LoginReputationClientResponse_VerdictType_VERDICT_TYPE_UNSPECIFIED = 0,
  LoginReputationClientResponse_VerdictType_SAFE = 1,
  LoginReputationClientResponse_VerdictType_LOW_REPUTATION = 2,
  LoginReputationClientResponse_VerdictType_PHISHING = 3
};
bool LoginReputationClientResponse_VerdictType_IsValid(int value);
constexpr LoginReputationClientResponse_VerdictType LoginReputationClientResponse_VerdictType_VerdictType_MIN = LoginReputationClientResponse_VerdictType_VERDICT_TYPE_UNSPECIFIED;
constexpr LoginReputationClientResponse_VerdictType LoginReputationClientResponse_VerdictType_VerdictType_MAX = LoginReputationClientResponse_VerdictType_PHISHING;
constexpr int LoginReputationClientResponse_VerdictType_VerdictType_ARRAYSIZE = LoginReputationClientResponse_VerdictType_VerdictType_MAX + 1;

const std::string& LoginReputationClientResponse_VerdictType_Name(LoginReputationClientResponse_VerdictType value);
template<typename T>
inline const std::string& LoginReputationClientResponse_VerdictType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, LoginReputationClientResponse_VerdictType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function LoginReputationClientResponse_VerdictType_Name.");
  return LoginReputationClientResponse_VerdictType_Name(static_cast<LoginReputationClientResponse_VerdictType>(enum_t_value));
}
bool LoginReputationClientResponse_VerdictType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LoginReputationClientResponse_VerdictType* value);
enum ClientDownloadRequest_ResourceType : int {
  ClientDownloadRequest_ResourceType_DOWNLOAD_URL = 0,
  ClientDownloadRequest_ResourceType_DOWNLOAD_REDIRECT = 1,
  ClientDownloadRequest_ResourceType_TAB_URL = 2,
  ClientDownloadRequest_ResourceType_TAB_REDIRECT = 3,
  ClientDownloadRequest_ResourceType_PPAPI_DOCUMENT = 4,
  ClientDownloadRequest_ResourceType_PPAPI_PLUGIN = 5
};
bool ClientDownloadRequest_ResourceType_IsValid(int value);
constexpr ClientDownloadRequest_ResourceType ClientDownloadRequest_ResourceType_ResourceType_MIN = ClientDownloadRequest_ResourceType_DOWNLOAD_URL;
constexpr ClientDownloadRequest_ResourceType ClientDownloadRequest_ResourceType_ResourceType_MAX = ClientDownloadRequest_ResourceType_PPAPI_PLUGIN;
constexpr int ClientDownloadRequest_ResourceType_ResourceType_ARRAYSIZE = ClientDownloadRequest_ResourceType_ResourceType_MAX + 1;

const std::string& ClientDownloadRequest_ResourceType_Name(ClientDownloadRequest_ResourceType value);
template<typename T>
inline const std::string& ClientDownloadRequest_ResourceType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientDownloadRequest_ResourceType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientDownloadRequest_ResourceType_Name.");
  return ClientDownloadRequest_ResourceType_Name(static_cast<ClientDownloadRequest_ResourceType>(enum_t_value));
}
bool ClientDownloadRequest_ResourceType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientDownloadRequest_ResourceType* value);
enum ClientDownloadRequest_DownloadType : int {
  ClientDownloadRequest_DownloadType_WIN_EXECUTABLE = 0,
  ClientDownloadRequest_DownloadType_CHROME_EXTENSION = 1,
  ClientDownloadRequest_DownloadType_ANDROID_APK = 2,
  ClientDownloadRequest_DownloadType_ZIPPED_EXECUTABLE = 3,
  ClientDownloadRequest_DownloadType_MAC_EXECUTABLE = 4,
  ClientDownloadRequest_DownloadType_ZIPPED_ARCHIVE = 5,
  ClientDownloadRequest_DownloadType_ARCHIVE = 6,
  ClientDownloadRequest_DownloadType_INVALID_ZIP = 7,
  ClientDownloadRequest_DownloadType_INVALID_MAC_ARCHIVE = 8,
  ClientDownloadRequest_DownloadType_PPAPI_SAVE_REQUEST = 9,
  ClientDownloadRequest_DownloadType_SAMPLED_UNSUPPORTED_FILE = 10
};
bool ClientDownloadRequest_DownloadType_IsValid(int value);
constexpr ClientDownloadRequest_DownloadType ClientDownloadRequest_DownloadType_DownloadType_MIN = ClientDownloadRequest_DownloadType_WIN_EXECUTABLE;
constexpr ClientDownloadRequest_DownloadType ClientDownloadRequest_DownloadType_DownloadType_MAX = ClientDownloadRequest_DownloadType_SAMPLED_UNSUPPORTED_FILE;
constexpr int ClientDownloadRequest_DownloadType_DownloadType_ARRAYSIZE = ClientDownloadRequest_DownloadType_DownloadType_MAX + 1;

const std::string& ClientDownloadRequest_DownloadType_Name(ClientDownloadRequest_DownloadType value);
template<typename T>
inline const std::string& ClientDownloadRequest_DownloadType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientDownloadRequest_DownloadType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientDownloadRequest_DownloadType_Name.");
  return ClientDownloadRequest_DownloadType_Name(static_cast<ClientDownloadRequest_DownloadType>(enum_t_value));
}
bool ClientDownloadRequest_DownloadType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientDownloadRequest_DownloadType* value);
enum ReferrerChainEntry_URLType : int {
  ReferrerChainEntry_URLType_EVENT_URL = 1,
  ReferrerChainEntry_URLType_LANDING_PAGE = 2,
  ReferrerChainEntry_URLType_LANDING_REFERRER = 3,
  ReferrerChainEntry_URLType_CLIENT_REDIRECT = 4,
  ReferrerChainEntry_URLType_DEPRECATED_SERVER_REDIRECT = 5
};
bool ReferrerChainEntry_URLType_IsValid(int value);
constexpr ReferrerChainEntry_URLType ReferrerChainEntry_URLType_URLType_MIN = ReferrerChainEntry_URLType_EVENT_URL;
constexpr ReferrerChainEntry_URLType ReferrerChainEntry_URLType_URLType_MAX = ReferrerChainEntry_URLType_DEPRECATED_SERVER_REDIRECT;
constexpr int ReferrerChainEntry_URLType_URLType_ARRAYSIZE = ReferrerChainEntry_URLType_URLType_MAX + 1;

const std::string& ReferrerChainEntry_URLType_Name(ReferrerChainEntry_URLType value);
template<typename T>
inline const std::string& ReferrerChainEntry_URLType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ReferrerChainEntry_URLType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ReferrerChainEntry_URLType_Name.");
  return ReferrerChainEntry_URLType_Name(static_cast<ReferrerChainEntry_URLType>(enum_t_value));
}
bool ReferrerChainEntry_URLType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ReferrerChainEntry_URLType* value);
enum ClientDownloadResponse_Verdict : int {
  ClientDownloadResponse_Verdict_SAFE = 0,
  ClientDownloadResponse_Verdict_DANGEROUS = 1,
  ClientDownloadResponse_Verdict_UNCOMMON = 2,
  ClientDownloadResponse_Verdict_POTENTIALLY_UNWANTED = 3,
  ClientDownloadResponse_Verdict_DANGEROUS_HOST = 4,
  ClientDownloadResponse_Verdict_UNKNOWN = 5
};
bool ClientDownloadResponse_Verdict_IsValid(int value);
constexpr ClientDownloadResponse_Verdict ClientDownloadResponse_Verdict_Verdict_MIN = ClientDownloadResponse_Verdict_SAFE;
constexpr ClientDownloadResponse_Verdict ClientDownloadResponse_Verdict_Verdict_MAX = ClientDownloadResponse_Verdict_UNKNOWN;
constexpr int ClientDownloadResponse_Verdict_Verdict_ARRAYSIZE = ClientDownloadResponse_Verdict_Verdict_MAX + 1;

const std::string& ClientDownloadResponse_Verdict_Name(ClientDownloadResponse_Verdict value);
template<typename T>
inline const std::string& ClientDownloadResponse_Verdict_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientDownloadResponse_Verdict>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientDownloadResponse_Verdict_Name.");
  return ClientDownloadResponse_Verdict_Name(static_cast<ClientDownloadResponse_Verdict>(enum_t_value));
}
bool ClientDownloadResponse_Verdict_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientDownloadResponse_Verdict* value);
enum ClientDownloadReport_Reason : int {
  ClientDownloadReport_Reason_SHARE = 0,
  ClientDownloadReport_Reason_FALSE_POSITIVE = 1,
  ClientDownloadReport_Reason_APPEAL = 2
};
bool ClientDownloadReport_Reason_IsValid(int value);
constexpr ClientDownloadReport_Reason ClientDownloadReport_Reason_Reason_MIN = ClientDownloadReport_Reason_SHARE;
constexpr ClientDownloadReport_Reason ClientDownloadReport_Reason_Reason_MAX = ClientDownloadReport_Reason_APPEAL;
constexpr int ClientDownloadReport_Reason_Reason_ARRAYSIZE = ClientDownloadReport_Reason_Reason_MAX + 1;

const std::string& ClientDownloadReport_Reason_Name(ClientDownloadReport_Reason value);
template<typename T>
inline const std::string& ClientDownloadReport_Reason_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientDownloadReport_Reason>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientDownloadReport_Reason_Name.");
  return ClientDownloadReport_Reason_Name(static_cast<ClientDownloadReport_Reason>(enum_t_value));
}
bool ClientDownloadReport_Reason_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientDownloadReport_Reason* value);
enum ClientUploadResponse_UploadStatus : int {
  ClientUploadResponse_UploadStatus_SUCCESS = 0,
  ClientUploadResponse_UploadStatus_UPLOAD_FAILURE = 1
};
bool ClientUploadResponse_UploadStatus_IsValid(int value);
constexpr ClientUploadResponse_UploadStatus ClientUploadResponse_UploadStatus_UploadStatus_MIN = ClientUploadResponse_UploadStatus_SUCCESS;
constexpr ClientUploadResponse_UploadStatus ClientUploadResponse_UploadStatus_UploadStatus_MAX = ClientUploadResponse_UploadStatus_UPLOAD_FAILURE;
constexpr int ClientUploadResponse_UploadStatus_UploadStatus_ARRAYSIZE = ClientUploadResponse_UploadStatus_UploadStatus_MAX + 1;

const std::string& ClientUploadResponse_UploadStatus_Name(ClientUploadResponse_UploadStatus value);
template<typename T>
inline const std::string& ClientUploadResponse_UploadStatus_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientUploadResponse_UploadStatus>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientUploadResponse_UploadStatus_Name.");
  return ClientUploadResponse_UploadStatus_Name(static_cast<ClientUploadResponse_UploadStatus>(enum_t_value));
}
bool ClientUploadResponse_UploadStatus_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientUploadResponse_UploadStatus* value);
enum ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState : int {
  ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_UNKNOWN = 0,
  ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_CLEARED = 1,
  ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_WEAK_LEGACY_OBSOLETE = 2,
  ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_CHANGED = 3,
  ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_UNTRUSTED_UNKNOWN_VALUE = 4,
  ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_BYPASS_CLEARED = 5,
  ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_BYPASS_CHANGED = 6
};
bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(int value);
constexpr ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MIN = ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_UNKNOWN;
constexpr ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MAX = ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_BYPASS_CHANGED;
constexpr int ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_ARRAYSIZE = ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MAX + 1;

const std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_Name(ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState value);
template<typename T>
inline const std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_Name.");
  return ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_Name(static_cast<ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState>(enum_t_value));
}
bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState* value);
enum ClientIncidentReport_IncidentData_ResourceRequestIncident_Type : int {
  ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_UNKNOWN = 0,
  ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_TYPE_PATTERN = 3
};
bool ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(int value);
constexpr ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Type_MIN = ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_UNKNOWN;
constexpr ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Type_MAX = ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_TYPE_PATTERN;
constexpr int ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Type_ARRAYSIZE = ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Type_MAX + 1;

const std::string& ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Name(ClientIncidentReport_IncidentData_ResourceRequestIncident_Type value);
template<typename T>
inline const std::string& ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientIncidentReport_IncidentData_ResourceRequestIncident_Type>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Name.");
  return ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Name(static_cast<ClientIncidentReport_IncidentData_ResourceRequestIncident_Type>(enum_t_value));
}
bool ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientIncidentReport_IncidentData_ResourceRequestIncident_Type* value);
enum ClientIncidentReport_EnvironmentData_Process_Dll_Feature : int {
  ClientIncidentReport_EnvironmentData_Process_Dll_Feature_UNKNOWN = 0,
  ClientIncidentReport_EnvironmentData_Process_Dll_Feature_LSP = 1
};
bool ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid(int value);
constexpr ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Feature_MIN = ClientIncidentReport_EnvironmentData_Process_Dll_Feature_UNKNOWN;
constexpr ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Feature_MAX = ClientIncidentReport_EnvironmentData_Process_Dll_Feature_LSP;
constexpr int ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Feature_ARRAYSIZE = ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Feature_MAX + 1;

const std::string& ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Name(ClientIncidentReport_EnvironmentData_Process_Dll_Feature value);
template<typename T>
inline const std::string& ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientIncidentReport_EnvironmentData_Process_Dll_Feature>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Name.");
  return ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Name(static_cast<ClientIncidentReport_EnvironmentData_Process_Dll_Feature>(enum_t_value));
}
bool ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientIncidentReport_EnvironmentData_Process_Dll_Feature* value);
enum ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState : int {
  ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_UNKNOWN = 0,
  ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_MODULE_STATE_UNKNOWN = 1,
  ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_MODULE_STATE_UNMODIFIED = 2,
  ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_MODULE_STATE_MODIFIED = 3
};
bool ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_IsValid(int value);
constexpr ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_ModifiedState_MIN = ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_UNKNOWN;
constexpr ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_ModifiedState_MAX = ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_MODULE_STATE_MODIFIED;
constexpr int ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_ModifiedState_ARRAYSIZE = ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_ModifiedState_MAX + 1;

const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_Name(ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState value);
template<typename T>
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_Name.");
  return ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_Name(static_cast<ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState>(enum_t_value));
}
bool ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState* value);
enum ClientIncidentReport_EnvironmentData_Process_Channel : int {
  ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_UNKNOWN = 0,
  ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_CANARY = 1,
  ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_DEV = 2,
  ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_BETA = 3,
  ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_STABLE = 4
};
bool ClientIncidentReport_EnvironmentData_Process_Channel_IsValid(int value);
constexpr ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process_Channel_Channel_MIN = ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_UNKNOWN;
constexpr ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process_Channel_Channel_MAX = ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_STABLE;
constexpr int ClientIncidentReport_EnvironmentData_Process_Channel_Channel_ARRAYSIZE = ClientIncidentReport_EnvironmentData_Process_Channel_Channel_MAX + 1;

const std::string& ClientIncidentReport_EnvironmentData_Process_Channel_Name(ClientIncidentReport_EnvironmentData_Process_Channel value);
template<typename T>
inline const std::string& ClientIncidentReport_EnvironmentData_Process_Channel_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientIncidentReport_EnvironmentData_Process_Channel>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientIncidentReport_EnvironmentData_Process_Channel_Name.");
  return ClientIncidentReport_EnvironmentData_Process_Channel_Name(static_cast<ClientIncidentReport_EnvironmentData_Process_Channel>(enum_t_value));
}
bool ClientIncidentReport_EnvironmentData_Process_Channel_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientIncidentReport_EnvironmentData_Process_Channel* value);
enum ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState : int {
  ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_UNKNOWN = 0,
  ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_ENABLED = 1,
  ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_DISABLED = 2,
  ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_BLACKLISTED = 3,
  ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_BLOCKED = 4,
  ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_TERMINATED = 5
};
bool ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_IsValid(int value);
constexpr ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_MIN = ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_UNKNOWN;
constexpr ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_MAX = ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_TERMINATED;
constexpr int ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_ARRAYSIZE = ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_MAX + 1;

const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_Name(ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState value);
template<typename T>
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_Name.");
  return ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_Name(static_cast<ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState>(enum_t_value));
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState* value);
enum ClientSafeBrowsingReportRequest_ReportType : int {
  ClientSafeBrowsingReportRequest_ReportType_UNKNOWN = 0,
  ClientSafeBrowsingReportRequest_ReportType_URL_PHISHING = 1,
  ClientSafeBrowsingReportRequest_ReportType_URL_MALWARE = 2,
  ClientSafeBrowsingReportRequest_ReportType_URL_UNWANTED = 3,
  ClientSafeBrowsingReportRequest_ReportType_URL_CLIENT_SIDE_PHISHING = 4,
  ClientSafeBrowsingReportRequest_ReportType_URL_CLIENT_SIDE_MALWARE = 5,
  ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_RECOVERY = 6,
  ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_WARNING = 7,
  ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_BY_API = 10,
  ClientSafeBrowsingReportRequest_ReportType_URL_PASSWORD_PROTECTION_PHISHING = 12,
  ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_OPENED = 13,
  ClientSafeBrowsingReportRequest_ReportType_AD_SAMPLE = 14
};
bool ClientSafeBrowsingReportRequest_ReportType_IsValid(int value);
constexpr ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest_ReportType_ReportType_MIN = ClientSafeBrowsingReportRequest_ReportType_UNKNOWN;
constexpr ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest_ReportType_ReportType_MAX = ClientSafeBrowsingReportRequest_ReportType_AD_SAMPLE;
constexpr int ClientSafeBrowsingReportRequest_ReportType_ReportType_ARRAYSIZE = ClientSafeBrowsingReportRequest_ReportType_ReportType_MAX + 1;

const std::string& ClientSafeBrowsingReportRequest_ReportType_Name(ClientSafeBrowsingReportRequest_ReportType value);
template<typename T>
inline const std::string& ClientSafeBrowsingReportRequest_ReportType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientSafeBrowsingReportRequest_ReportType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientSafeBrowsingReportRequest_ReportType_Name.");
  return ClientSafeBrowsingReportRequest_ReportType_Name(static_cast<ClientSafeBrowsingReportRequest_ReportType>(enum_t_value));
}
bool ClientSafeBrowsingReportRequest_ReportType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientSafeBrowsingReportRequest_ReportType* value);
enum ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType : int {
  ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED = 0,
  ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_PVER3_NATIVE = 1,
  ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_PVER4_NATIVE = 2,
  ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_ANDROID_SAFETYNET = 3,
  ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_FLYWHEEL = 4
};
bool ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(int value);
constexpr ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MIN = ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED;
constexpr ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MAX = ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_FLYWHEEL;
constexpr int ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_ARRAYSIZE = ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MAX + 1;

const std::string& ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_Name(ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value);
template<typename T>
inline const std::string& ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_Name.");
  return ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_Name(static_cast<ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType>(enum_t_value));
}
bool ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType* value);
// ===================================================================

class ChromeUserPopulation final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ChromeUserPopulation) */ {
 public:
  inline ChromeUserPopulation() : ChromeUserPopulation(nullptr) {}
  ~ChromeUserPopulation() override;
  explicit PROTOBUF_CONSTEXPR ChromeUserPopulation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ChromeUserPopulation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ChromeUserPopulation>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ChromeUserPopulation& from);
  void MergeFrom(const ChromeUserPopulation& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ChromeUserPopulation* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ChromeUserPopulation";
  }
  protected:
  explicit ChromeUserPopulation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ChromeUserPopulation_UserPopulation UserPopulation;
  static constexpr UserPopulation UNKNOWN_USER_POPULATION =
    ChromeUserPopulation_UserPopulation_UNKNOWN_USER_POPULATION;
  static constexpr UserPopulation SAFE_BROWSING =
    ChromeUserPopulation_UserPopulation_SAFE_BROWSING;
  static constexpr UserPopulation EXTENDED_REPORTING =
    ChromeUserPopulation_UserPopulation_EXTENDED_REPORTING;
  static inline bool UserPopulation_IsValid(int value) {
    return ChromeUserPopulation_UserPopulation_IsValid(value);
  }
  static constexpr UserPopulation UserPopulation_MIN =
    ChromeUserPopulation_UserPopulation_UserPopulation_MIN;
  static constexpr UserPopulation UserPopulation_MAX =
    ChromeUserPopulation_UserPopulation_UserPopulation_MAX;
  static constexpr int UserPopulation_ARRAYSIZE =
    ChromeUserPopulation_UserPopulation_UserPopulation_ARRAYSIZE;
  template<typename T>
  static inline const std::string& UserPopulation_Name(T enum_t_value) {
    static_assert(::std::is_same<T, UserPopulation>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function UserPopulation_Name.");
    return ChromeUserPopulation_UserPopulation_Name(enum_t_value);
  }
  static inline bool UserPopulation_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      UserPopulation* value) {
    return ChromeUserPopulation_UserPopulation_Parse(name, value);
  }

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

  enum : int {
    kFinchActiveGroupsFieldNumber = 4,
    kUserPopulationFieldNumber = 1,
    kIsHistorySyncEnabledFieldNumber = 2,
  };
  // repeated string finch_active_groups = 4;
  int finch_active_groups_size() const;
  private:
  int _internal_finch_active_groups_size() const;
  public:
  void clear_finch_active_groups();
  const std::string& finch_active_groups(int index) const;
  std::string* mutable_finch_active_groups(int index);
  void set_finch_active_groups(int index, const std::string& value);
  void set_finch_active_groups(int index, std::string&& value);
  void set_finch_active_groups(int index, const char* value);
  void set_finch_active_groups(int index, const char* value, size_t size);
  std::string* add_finch_active_groups();
  void add_finch_active_groups(const std::string& value);
  void add_finch_active_groups(std::string&& value);
  void add_finch_active_groups(const char* value);
  void add_finch_active_groups(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& finch_active_groups() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_finch_active_groups();
  private:
  const std::string& _internal_finch_active_groups(int index) const;
  std::string* _internal_add_finch_active_groups();
  public:

  // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
  bool has_user_population() const;
  private:
  bool _internal_has_user_population() const;
  public:
  void clear_user_population();
  ::safe_browsing::ChromeUserPopulation_UserPopulation user_population() const;
  void set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value);
  private:
  ::safe_browsing::ChromeUserPopulation_UserPopulation _internal_user_population() const;
  void _internal_set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value);
  public:

  // optional bool is_history_sync_enabled = 2;
  bool has_is_history_sync_enabled() const;
  private:
  bool _internal_has_is_history_sync_enabled() const;
  public:
  void clear_is_history_sync_enabled();
  bool is_history_sync_enabled() const;
  void set_is_history_sync_enabled(bool value);
  private:
  bool _internal_is_history_sync_enabled() const;
  void _internal_set_is_history_sync_enabled(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ChromeUserPopulation)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> finch_active_groups_;
    int user_population_;
    bool is_history_sync_enabled_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientPhishingRequest_Feature final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientPhishingRequest.Feature) */ {
 public:
  inline ClientPhishingRequest_Feature() : ClientPhishingRequest_Feature(nullptr) {}
  ~ClientPhishingRequest_Feature() override;
  explicit PROTOBUF_CONSTEXPR ClientPhishingRequest_Feature(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientPhishingRequest_Feature* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientPhishingRequest_Feature>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientPhishingRequest_Feature& from);
  void MergeFrom(const ClientPhishingRequest_Feature& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientPhishingRequest_Feature* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientPhishingRequest.Feature";
  }
  protected:
  explicit ClientPhishingRequest_Feature(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kNameFieldNumber = 1,
    kValueFieldNumber = 2,
  };
  // required string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // required double value = 2;
  bool has_value() const;
  private:
  bool _internal_has_value() const;
  public:
  void clear_value();
  double value() const;
  void set_value(double value);
  private:
  double _internal_value() const;
  void _internal_set_value(double value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientPhishingRequest.Feature)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    double value_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientPhishingRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientPhishingRequest) */ {
 public:
  inline ClientPhishingRequest() : ClientPhishingRequest(nullptr) {}
  ~ClientPhishingRequest() override;
  explicit PROTOBUF_CONSTEXPR ClientPhishingRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientPhishingRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientPhishingRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientPhishingRequest& from);
  void MergeFrom(const ClientPhishingRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientPhishingRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientPhishingRequest";
  }
  protected:
  explicit ClientPhishingRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientPhishingRequest_Feature Feature;

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

  enum : int {
    kFeatureMapFieldNumber = 5,
    kNonModelFeatureMapFieldNumber = 8,
    kShingleHashesFieldNumber = 12,
    kUrlFieldNumber = 1,
    kOBSOLETEReferrerUrlFieldNumber = 9,
    kOBSOLETEHashPrefixFieldNumber = 10,
    kModelFilenameFieldNumber = 13,
    kPopulationFieldNumber = 14,
    kClientScoreFieldNumber = 2,
    kIsPhishingFieldNumber = 4,
    kModelVersionFieldNumber = 6,
  };
  // repeated .safe_browsing.ClientPhishingRequest.Feature feature_map = 5;
  int feature_map_size() const;
  private:
  int _internal_feature_map_size() const;
  public:
  void clear_feature_map();
  ::safe_browsing::ClientPhishingRequest_Feature* mutable_feature_map(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >*
      mutable_feature_map();
  private:
  const ::safe_browsing::ClientPhishingRequest_Feature& _internal_feature_map(int index) const;
  ::safe_browsing::ClientPhishingRequest_Feature* _internal_add_feature_map();
  public:
  const ::safe_browsing::ClientPhishingRequest_Feature& feature_map(int index) const;
  ::safe_browsing::ClientPhishingRequest_Feature* add_feature_map();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >&
      feature_map() const;

  // repeated .safe_browsing.ClientPhishingRequest.Feature non_model_feature_map = 8;
  int non_model_feature_map_size() const;
  private:
  int _internal_non_model_feature_map_size() const;
  public:
  void clear_non_model_feature_map();
  ::safe_browsing::ClientPhishingRequest_Feature* mutable_non_model_feature_map(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >*
      mutable_non_model_feature_map();
  private:
  const ::safe_browsing::ClientPhishingRequest_Feature& _internal_non_model_feature_map(int index) const;
  ::safe_browsing::ClientPhishingRequest_Feature* _internal_add_non_model_feature_map();
  public:
  const ::safe_browsing::ClientPhishingRequest_Feature& non_model_feature_map(int index) const;
  ::safe_browsing::ClientPhishingRequest_Feature* add_non_model_feature_map();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >&
      non_model_feature_map() const;

  // repeated uint32 shingle_hashes = 12 [packed = true];
  int shingle_hashes_size() const;
  private:
  int _internal_shingle_hashes_size() const;
  public:
  void clear_shingle_hashes();
  private:
  uint32_t _internal_shingle_hashes(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      _internal_shingle_hashes() const;
  void _internal_add_shingle_hashes(uint32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      _internal_mutable_shingle_hashes();
  public:
  uint32_t shingle_hashes(int index) const;
  void set_shingle_hashes(int index, uint32_t value);
  void add_shingle_hashes(uint32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
      shingle_hashes() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
      mutable_shingle_hashes();

  // optional string url = 1;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional string OBSOLETE_referrer_url = 9;
  bool has_obsolete_referrer_url() const;
  private:
  bool _internal_has_obsolete_referrer_url() const;
  public:
  void clear_obsolete_referrer_url();
  const std::string& obsolete_referrer_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_obsolete_referrer_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_obsolete_referrer_url();
  PROTOBUF_NODISCARD std::string* release_obsolete_referrer_url();
  void set_allocated_obsolete_referrer_url(std::string* obsolete_referrer_url);
  private:
  const std::string& _internal_obsolete_referrer_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_obsolete_referrer_url(const std::string& value);
  std::string* _internal_mutable_obsolete_referrer_url();
  public:

  // optional bytes OBSOLETE_hash_prefix = 10;
  bool has_obsolete_hash_prefix() const;
  private:
  bool _internal_has_obsolete_hash_prefix() const;
  public:
  void clear_obsolete_hash_prefix();
  const std::string& obsolete_hash_prefix() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_obsolete_hash_prefix(ArgT0&& arg0, ArgT... args);
  std::string* mutable_obsolete_hash_prefix();
  PROTOBUF_NODISCARD std::string* release_obsolete_hash_prefix();
  void set_allocated_obsolete_hash_prefix(std::string* obsolete_hash_prefix);
  private:
  const std::string& _internal_obsolete_hash_prefix() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_obsolete_hash_prefix(const std::string& value);
  std::string* _internal_mutable_obsolete_hash_prefix();
  public:

  // optional string model_filename = 13;
  bool has_model_filename() const;
  private:
  bool _internal_has_model_filename() const;
  public:
  void clear_model_filename();
  const std::string& model_filename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_model_filename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_model_filename();
  PROTOBUF_NODISCARD std::string* release_model_filename();
  void set_allocated_model_filename(std::string* model_filename);
  private:
  const std::string& _internal_model_filename() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_model_filename(const std::string& value);
  std::string* _internal_mutable_model_filename();
  public:

  // optional .safe_browsing.ChromeUserPopulation population = 14;
  bool has_population() const;
  private:
  bool _internal_has_population() const;
  public:
  void clear_population();
  const ::safe_browsing::ChromeUserPopulation& population() const;
  PROTOBUF_NODISCARD ::safe_browsing::ChromeUserPopulation* release_population();
  ::safe_browsing::ChromeUserPopulation* mutable_population();
  void set_allocated_population(::safe_browsing::ChromeUserPopulation* population);
  private:
  const ::safe_browsing::ChromeUserPopulation& _internal_population() const;
  ::safe_browsing::ChromeUserPopulation* _internal_mutable_population();
  public:
  void unsafe_arena_set_allocated_population(
      ::safe_browsing::ChromeUserPopulation* population);
  ::safe_browsing::ChromeUserPopulation* unsafe_arena_release_population();

  // required float client_score = 2;
  bool has_client_score() const;
  private:
  bool _internal_has_client_score() const;
  public:
  void clear_client_score();
  float client_score() const;
  void set_client_score(float value);
  private:
  float _internal_client_score() const;
  void _internal_set_client_score(float value);
  public:

  // optional bool is_phishing = 4;
  bool has_is_phishing() const;
  private:
  bool _internal_has_is_phishing() const;
  public:
  void clear_is_phishing();
  bool is_phishing() const;
  void set_is_phishing(bool value);
  private:
  bool _internal_is_phishing() const;
  void _internal_set_is_phishing(bool value);
  public:

  // optional int32 model_version = 6;
  bool has_model_version() const;
  private:
  bool _internal_has_model_version() const;
  public:
  void clear_model_version();
  int32_t model_version() const;
  void set_model_version(int32_t value);
  private:
  int32_t _internal_model_version() const;
  void _internal_set_model_version(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientPhishingRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature > feature_map_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature > non_model_feature_map_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > shingle_hashes_;
    mutable std::atomic<int> _shingle_hashes_cached_byte_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr obsolete_referrer_url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr obsolete_hash_prefix_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_filename_;
    ::safe_browsing::ChromeUserPopulation* population_;
    float client_score_;
    bool is_phishing_;
    int32_t model_version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientPhishingResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientPhishingResponse) */ {
 public:
  inline ClientPhishingResponse() : ClientPhishingResponse(nullptr) {}
  ~ClientPhishingResponse() override;
  explicit PROTOBUF_CONSTEXPR ClientPhishingResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientPhishingResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientPhishingResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientPhishingResponse& from);
  void MergeFrom(const ClientPhishingResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientPhishingResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientPhishingResponse";
  }
  protected:
  explicit ClientPhishingResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kOBSOLETEWhitelistExpressionFieldNumber = 2,
    kPhishyFieldNumber = 1,
  };
  // repeated string OBSOLETE_whitelist_expression = 2;
  int obsolete_whitelist_expression_size() const;
  private:
  int _internal_obsolete_whitelist_expression_size() const;
  public:
  void clear_obsolete_whitelist_expression();
  const std::string& obsolete_whitelist_expression(int index) const;
  std::string* mutable_obsolete_whitelist_expression(int index);
  void set_obsolete_whitelist_expression(int index, const std::string& value);
  void set_obsolete_whitelist_expression(int index, std::string&& value);
  void set_obsolete_whitelist_expression(int index, const char* value);
  void set_obsolete_whitelist_expression(int index, const char* value, size_t size);
  std::string* add_obsolete_whitelist_expression();
  void add_obsolete_whitelist_expression(const std::string& value);
  void add_obsolete_whitelist_expression(std::string&& value);
  void add_obsolete_whitelist_expression(const char* value);
  void add_obsolete_whitelist_expression(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& obsolete_whitelist_expression() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_obsolete_whitelist_expression();
  private:
  const std::string& _internal_obsolete_whitelist_expression(int index) const;
  std::string* _internal_add_obsolete_whitelist_expression();
  public:

  // required bool phishy = 1;
  bool has_phishy() const;
  private:
  bool _internal_has_phishy() const;
  public:
  void clear_phishy();
  bool phishy() const;
  void set_phishy(bool value);
  private:
  bool _internal_phishy() const;
  void _internal_set_phishy(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientPhishingResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> obsolete_whitelist_expression_;
    bool phishy_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientMalwareRequest_UrlInfo final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientMalwareRequest.UrlInfo) */ {
 public:
  inline ClientMalwareRequest_UrlInfo() : ClientMalwareRequest_UrlInfo(nullptr) {}
  ~ClientMalwareRequest_UrlInfo() override;
  explicit PROTOBUF_CONSTEXPR ClientMalwareRequest_UrlInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientMalwareRequest_UrlInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientMalwareRequest_UrlInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientMalwareRequest_UrlInfo& from);
  void MergeFrom(const ClientMalwareRequest_UrlInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientMalwareRequest_UrlInfo* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientMalwareRequest.UrlInfo";
  }
  protected:
  explicit ClientMalwareRequest_UrlInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kIpFieldNumber = 1,
    kUrlFieldNumber = 2,
    kMethodFieldNumber = 3,
    kReferrerFieldNumber = 4,
    kResourceTypeFieldNumber = 5,
  };
  // required string ip = 1;
  bool has_ip() const;
  private:
  bool _internal_has_ip() const;
  public:
  void clear_ip();
  const std::string& ip() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_ip(ArgT0&& arg0, ArgT... args);
  std::string* mutable_ip();
  PROTOBUF_NODISCARD std::string* release_ip();
  void set_allocated_ip(std::string* ip);
  private:
  const std::string& _internal_ip() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_ip(const std::string& value);
  std::string* _internal_mutable_ip();
  public:

  // required string url = 2;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional string method = 3;
  bool has_method() const;
  private:
  bool _internal_has_method() const;
  public:
  void clear_method();
  const std::string& method() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_method(ArgT0&& arg0, ArgT... args);
  std::string* mutable_method();
  PROTOBUF_NODISCARD std::string* release_method();
  void set_allocated_method(std::string* method);
  private:
  const std::string& _internal_method() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_method(const std::string& value);
  std::string* _internal_mutable_method();
  public:

  // optional string referrer = 4;
  bool has_referrer() const;
  private:
  bool _internal_has_referrer() const;
  public:
  void clear_referrer();
  const std::string& referrer() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_referrer(ArgT0&& arg0, ArgT... args);
  std::string* mutable_referrer();
  PROTOBUF_NODISCARD std::string* release_referrer();
  void set_allocated_referrer(std::string* referrer);
  private:
  const std::string& _internal_referrer() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_referrer(const std::string& value);
  std::string* _internal_mutable_referrer();
  public:

  // optional int32 resource_type = 5;
  bool has_resource_type() const;
  private:
  bool _internal_has_resource_type() const;
  public:
  void clear_resource_type();
  int32_t resource_type() const;
  void set_resource_type(int32_t value);
  private:
  int32_t _internal_resource_type() const;
  void _internal_set_resource_type(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientMalwareRequest.UrlInfo)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ip_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr method_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr referrer_;
    int32_t resource_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientMalwareRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientMalwareRequest) */ {
 public:
  inline ClientMalwareRequest() : ClientMalwareRequest(nullptr) {}
  ~ClientMalwareRequest() override;
  explicit PROTOBUF_CONSTEXPR ClientMalwareRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientMalwareRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientMalwareRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientMalwareRequest& from);
  void MergeFrom(const ClientMalwareRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientMalwareRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientMalwareRequest";
  }
  protected:
  explicit ClientMalwareRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientMalwareRequest_UrlInfo UrlInfo;

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

  enum : int {
    kBadIpUrlInfoFieldNumber = 7,
    kUrlFieldNumber = 1,
    kReferrerUrlFieldNumber = 4,
    kPopulationFieldNumber = 9,
  };
  // repeated .safe_browsing.ClientMalwareRequest.UrlInfo bad_ip_url_info = 7;
  int bad_ip_url_info_size() const;
  private:
  int _internal_bad_ip_url_info_size() const;
  public:
  void clear_bad_ip_url_info();
  ::safe_browsing::ClientMalwareRequest_UrlInfo* mutable_bad_ip_url_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientMalwareRequest_UrlInfo >*
      mutable_bad_ip_url_info();
  private:
  const ::safe_browsing::ClientMalwareRequest_UrlInfo& _internal_bad_ip_url_info(int index) const;
  ::safe_browsing::ClientMalwareRequest_UrlInfo* _internal_add_bad_ip_url_info();
  public:
  const ::safe_browsing::ClientMalwareRequest_UrlInfo& bad_ip_url_info(int index) const;
  ::safe_browsing::ClientMalwareRequest_UrlInfo* add_bad_ip_url_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientMalwareRequest_UrlInfo >&
      bad_ip_url_info() const;

  // required string url = 1;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional string referrer_url = 4;
  bool has_referrer_url() const;
  private:
  bool _internal_has_referrer_url() const;
  public:
  void clear_referrer_url();
  const std::string& referrer_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_referrer_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_referrer_url();
  PROTOBUF_NODISCARD std::string* release_referrer_url();
  void set_allocated_referrer_url(std::string* referrer_url);
  private:
  const std::string& _internal_referrer_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_referrer_url(const std::string& value);
  std::string* _internal_mutable_referrer_url();
  public:

  // optional .safe_browsing.ChromeUserPopulation population = 9;
  bool has_population() const;
  private:
  bool _internal_has_population() const;
  public:
  void clear_population();
  const ::safe_browsing::ChromeUserPopulation& population() const;
  PROTOBUF_NODISCARD ::safe_browsing::ChromeUserPopulation* release_population();
  ::safe_browsing::ChromeUserPopulation* mutable_population();
  void set_allocated_population(::safe_browsing::ChromeUserPopulation* population);
  private:
  const ::safe_browsing::ChromeUserPopulation& _internal_population() const;
  ::safe_browsing::ChromeUserPopulation* _internal_mutable_population();
  public:
  void unsafe_arena_set_allocated_population(
      ::safe_browsing::ChromeUserPopulation* population);
  ::safe_browsing::ChromeUserPopulation* unsafe_arena_release_population();

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientMalwareRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientMalwareRequest_UrlInfo > bad_ip_url_info_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr referrer_url_;
    ::safe_browsing::ChromeUserPopulation* population_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class LoginReputationClientRequest_Frame_Form final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientRequest.Frame.Form) */ {
 public:
  inline LoginReputationClientRequest_Frame_Form() : LoginReputationClientRequest_Frame_Form(nullptr) {}
  ~LoginReputationClientRequest_Frame_Form() override;
  explicit PROTOBUF_CONSTEXPR LoginReputationClientRequest_Frame_Form(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  LoginReputationClientRequest_Frame_Form* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<LoginReputationClientRequest_Frame_Form>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const LoginReputationClientRequest_Frame_Form& from);
  void MergeFrom(const LoginReputationClientRequest_Frame_Form& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LoginReputationClientRequest_Frame_Form* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.LoginReputationClientRequest.Frame.Form";
  }
  protected:
  explicit LoginReputationClientRequest_Frame_Form(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kActionUrlFieldNumber = 1,
    kHasPasswordFieldFieldNumber = 2,
  };
  // optional string action_url = 1;
  bool has_action_url() const;
  private:
  bool _internal_has_action_url() const;
  public:
  void clear_action_url();
  const std::string& action_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_action_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_action_url();
  PROTOBUF_NODISCARD std::string* release_action_url();
  void set_allocated_action_url(std::string* action_url);
  private:
  const std::string& _internal_action_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_action_url(const std::string& value);
  std::string* _internal_mutable_action_url();
  public:

  // optional bool has_password_field = 2;
  bool has_has_password_field() const;
  private:
  bool _internal_has_has_password_field() const;
  public:
  void clear_has_password_field();
  bool has_password_field() const;
  void set_has_password_field(bool value);
  private:
  bool _internal_has_password_field() const;
  void _internal_set_has_password_field(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientRequest.Frame.Form)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr action_url_;
    bool has_password_field_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class LoginReputationClientRequest_Frame final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientRequest.Frame) */ {
 public:
  inline LoginReputationClientRequest_Frame() : LoginReputationClientRequest_Frame(nullptr) {}
  ~LoginReputationClientRequest_Frame() override;
  explicit PROTOBUF_CONSTEXPR LoginReputationClientRequest_Frame(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  LoginReputationClientRequest_Frame* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<LoginReputationClientRequest_Frame>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const LoginReputationClientRequest_Frame& from);
  void MergeFrom(const LoginReputationClientRequest_Frame& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LoginReputationClientRequest_Frame* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.LoginReputationClientRequest.Frame";
  }
  protected:
  explicit LoginReputationClientRequest_Frame(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef LoginReputationClientRequest_Frame_Form Form;

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

  enum : int {
    kReferrerChainFieldNumber = 5,
    kFormsFieldNumber = 6,
    kUrlFieldNumber = 3,
    kFrameIndexFieldNumber = 1,
    kParentFrameIndexFieldNumber = 2,
    kHasPasswordFieldFieldNumber = 4,
  };
  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
  int referrer_chain_size() const;
  private:
  int _internal_referrer_chain_size() const;
  public:
  void clear_referrer_chain();
  ::safe_browsing::ReferrerChainEntry* mutable_referrer_chain(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
      mutable_referrer_chain();
  private:
  const ::safe_browsing::ReferrerChainEntry& _internal_referrer_chain(int index) const;
  ::safe_browsing::ReferrerChainEntry* _internal_add_referrer_chain();
  public:
  const ::safe_browsing::ReferrerChainEntry& referrer_chain(int index) const;
  ::safe_browsing::ReferrerChainEntry* add_referrer_chain();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
      referrer_chain() const;

  // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
  int forms_size() const;
  private:
  int _internal_forms_size() const;
  public:
  void clear_forms();
  ::safe_browsing::LoginReputationClientRequest_Frame_Form* mutable_forms(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >*
      mutable_forms();
  private:
  const ::safe_browsing::LoginReputationClientRequest_Frame_Form& _internal_forms(int index) const;
  ::safe_browsing::LoginReputationClientRequest_Frame_Form* _internal_add_forms();
  public:
  const ::safe_browsing::LoginReputationClientRequest_Frame_Form& forms(int index) const;
  ::safe_browsing::LoginReputationClientRequest_Frame_Form* add_forms();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >&
      forms() const;

  // optional string url = 3;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional int32 frame_index = 1;
  bool has_frame_index() const;
  private:
  bool _internal_has_frame_index() const;
  public:
  void clear_frame_index();
  int32_t frame_index() const;
  void set_frame_index(int32_t value);
  private:
  int32_t _internal_frame_index() const;
  void _internal_set_frame_index(int32_t value);
  public:

  // optional int32 parent_frame_index = 2;
  bool has_parent_frame_index() const;
  private:
  bool _internal_has_parent_frame_index() const;
  public:
  void clear_parent_frame_index();
  int32_t parent_frame_index() const;
  void set_parent_frame_index(int32_t value);
  private:
  int32_t _internal_parent_frame_index() const;
  void _internal_set_parent_frame_index(int32_t value);
  public:

  // optional bool has_password_field = 4;
  bool has_has_password_field() const;
  private:
  bool _internal_has_has_password_field() const;
  public:
  void clear_has_password_field();
  bool has_password_field() const;
  void set_has_password_field(bool value);
  private:
  bool _internal_has_password_field() const;
  void _internal_set_has_password_field(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientRequest.Frame)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry > referrer_chain_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form > forms_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    int32_t frame_index_;
    int32_t parent_frame_index_;
    bool has_password_field_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class LoginReputationClientRequest_PasswordReuseEvent final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent) */ {
 public:
  inline LoginReputationClientRequest_PasswordReuseEvent() : LoginReputationClientRequest_PasswordReuseEvent(nullptr) {}
  ~LoginReputationClientRequest_PasswordReuseEvent() override;
  explicit PROTOBUF_CONSTEXPR LoginReputationClientRequest_PasswordReuseEvent(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  LoginReputationClientRequest_PasswordReuseEvent* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<LoginReputationClientRequest_PasswordReuseEvent>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const LoginReputationClientRequest_PasswordReuseEvent& from);
  void MergeFrom(const LoginReputationClientRequest_PasswordReuseEvent& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LoginReputationClientRequest_PasswordReuseEvent* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.LoginReputationClientRequest.PasswordReuseEvent";
  }
  protected:
  explicit LoginReputationClientRequest_PasswordReuseEvent(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType SyncAccountType;
  static constexpr SyncAccountType NOT_SIGNED_IN =
    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_NOT_SIGNED_IN;
  static constexpr SyncAccountType GMAIL =
    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GMAIL;
  static constexpr SyncAccountType GSUITE =
    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GSUITE;
  static inline bool SyncAccountType_IsValid(int value) {
    return LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value);
  }
  static constexpr SyncAccountType SyncAccountType_MIN =
    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MIN;
  static constexpr SyncAccountType SyncAccountType_MAX =
    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MAX;
  static constexpr int SyncAccountType_ARRAYSIZE =
    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_ARRAYSIZE;
  template<typename T>
  static inline const std::string& SyncAccountType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, SyncAccountType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function SyncAccountType_Name.");
    return LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_Name(enum_t_value);
  }
  static inline bool SyncAccountType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      SyncAccountType* value) {
    return LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_Parse(name, value);
  }

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

  enum : int {
    kDomainsMatchingPasswordFieldNumber = 1,
    kFrameIdFieldNumber = 2,
    kIsChromeSigninPasswordFieldNumber = 3,
    kSyncAccountTypeFieldNumber = 4,
  };
  // repeated string domains_matching_password = 1;
  int domains_matching_password_size() const;
  private:
  int _internal_domains_matching_password_size() const;
  public:
  void clear_domains_matching_password();
  const std::string& domains_matching_password(int index) const;
  std::string* mutable_domains_matching_password(int index);
  void set_domains_matching_password(int index, const std::string& value);
  void set_domains_matching_password(int index, std::string&& value);
  void set_domains_matching_password(int index, const char* value);
  void set_domains_matching_password(int index, const char* value, size_t size);
  std::string* add_domains_matching_password();
  void add_domains_matching_password(const std::string& value);
  void add_domains_matching_password(std::string&& value);
  void add_domains_matching_password(const char* value);
  void add_domains_matching_password(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& domains_matching_password() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_domains_matching_password();
  private:
  const std::string& _internal_domains_matching_password(int index) const;
  std::string* _internal_add_domains_matching_password();
  public:

  // optional int32 frame_id = 2;
  bool has_frame_id() const;
  private:
  bool _internal_has_frame_id() const;
  public:
  void clear_frame_id();
  int32_t frame_id() const;
  void set_frame_id(int32_t value);
  private:
  int32_t _internal_frame_id() const;
  void _internal_set_frame_id(int32_t value);
  public:

  // optional bool is_chrome_signin_password = 3;
  bool has_is_chrome_signin_password() const;
  private:
  bool _internal_has_is_chrome_signin_password() const;
  public:
  void clear_is_chrome_signin_password();
  bool is_chrome_signin_password() const;
  void set_is_chrome_signin_password(bool value);
  private:
  bool _internal_is_chrome_signin_password() const;
  void _internal_set_is_chrome_signin_password(bool value);
  public:

  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
  bool has_sync_account_type() const;
  private:
  bool _internal_has_sync_account_type() const;
  public:
  void clear_sync_account_type();
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType sync_account_type() const;
  void set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value);
  private:
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType _internal_sync_account_type() const;
  void _internal_set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> domains_matching_password_;
    int32_t frame_id_;
    bool is_chrome_signin_password_;
    int sync_account_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class LoginReputationClientRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientRequest) */ {
 public:
  inline LoginReputationClientRequest() : LoginReputationClientRequest(nullptr) {}
  ~LoginReputationClientRequest() override;
  explicit PROTOBUF_CONSTEXPR LoginReputationClientRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  LoginReputationClientRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<LoginReputationClientRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const LoginReputationClientRequest& from);
  void MergeFrom(const LoginReputationClientRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LoginReputationClientRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.LoginReputationClientRequest";
  }
  protected:
  explicit LoginReputationClientRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef LoginReputationClientRequest_Frame Frame;
  typedef LoginReputationClientRequest_PasswordReuseEvent PasswordReuseEvent;

  typedef LoginReputationClientRequest_TriggerType TriggerType;
  static constexpr TriggerType TRIGGER_TYPE_UNSPECIFIED =
    LoginReputationClientRequest_TriggerType_TRIGGER_TYPE_UNSPECIFIED;
  static constexpr TriggerType UNFAMILIAR_LOGIN_PAGE =
    LoginReputationClientRequest_TriggerType_UNFAMILIAR_LOGIN_PAGE;
  static constexpr TriggerType PASSWORD_REUSE_EVENT =
    LoginReputationClientRequest_TriggerType_PASSWORD_REUSE_EVENT;
  static inline bool TriggerType_IsValid(int value) {
    return LoginReputationClientRequest_TriggerType_IsValid(value);
  }
  static constexpr TriggerType TriggerType_MIN =
    LoginReputationClientRequest_TriggerType_TriggerType_MIN;
  static constexpr TriggerType TriggerType_MAX =
    LoginReputationClientRequest_TriggerType_TriggerType_MAX;
  static constexpr int TriggerType_ARRAYSIZE =
    LoginReputationClientRequest_TriggerType_TriggerType_ARRAYSIZE;
  template<typename T>
  static inline const std::string& TriggerType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, TriggerType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function TriggerType_Name.");
    return LoginReputationClientRequest_TriggerType_Name(enum_t_value);
  }
  static inline bool TriggerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      TriggerType* value) {
    return LoginReputationClientRequest_TriggerType_Parse(name, value);
  }

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

  enum : int {
    kFramesFieldNumber = 3,
    kPageUrlFieldNumber = 1,
    kPasswordReuseEventFieldNumber = 4,
    kPopulationFieldNumber = 6,
    kTriggerTypeFieldNumber = 2,
    kStoredVerdictCntFieldNumber = 5,
    kClickedThroughInterstitialFieldNumber = 7,
  };
  // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
  int frames_size() const;
  private:
  int _internal_frames_size() const;
  public:
  void clear_frames();
  ::safe_browsing::LoginReputationClientRequest_Frame* mutable_frames(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >*
      mutable_frames();
  private:
  const ::safe_browsing::LoginReputationClientRequest_Frame& _internal_frames(int index) const;
  ::safe_browsing::LoginReputationClientRequest_Frame* _internal_add_frames();
  public:
  const ::safe_browsing::LoginReputationClientRequest_Frame& frames(int index) const;
  ::safe_browsing::LoginReputationClientRequest_Frame* add_frames();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >&
      frames() const;

  // optional string page_url = 1;
  bool has_page_url() const;
  private:
  bool _internal_has_page_url() const;
  public:
  void clear_page_url();
  const std::string& page_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_page_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_page_url();
  PROTOBUF_NODISCARD std::string* release_page_url();
  void set_allocated_page_url(std::string* page_url);
  private:
  const std::string& _internal_page_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_page_url(const std::string& value);
  std::string* _internal_mutable_page_url();
  public:

  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
  bool has_password_reuse_event() const;
  private:
  bool _internal_has_password_reuse_event() const;
  public:
  void clear_password_reuse_event();
  const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& password_reuse_event() const;
  PROTOBUF_NODISCARD ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* release_password_reuse_event();
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* mutable_password_reuse_event();
  void set_allocated_password_reuse_event(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event);
  private:
  const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& _internal_password_reuse_event() const;
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* _internal_mutable_password_reuse_event();
  public:
  void unsafe_arena_set_allocated_password_reuse_event(
      ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event);
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* unsafe_arena_release_password_reuse_event();

  // optional .safe_browsing.ChromeUserPopulation population = 6;
  bool has_population() const;
  private:
  bool _internal_has_population() const;
  public:
  void clear_population();
  const ::safe_browsing::ChromeUserPopulation& population() const;
  PROTOBUF_NODISCARD ::safe_browsing::ChromeUserPopulation* release_population();
  ::safe_browsing::ChromeUserPopulation* mutable_population();
  void set_allocated_population(::safe_browsing::ChromeUserPopulation* population);
  private:
  const ::safe_browsing::ChromeUserPopulation& _internal_population() const;
  ::safe_browsing::ChromeUserPopulation* _internal_mutable_population();
  public:
  void unsafe_arena_set_allocated_population(
      ::safe_browsing::ChromeUserPopulation* population);
  ::safe_browsing::ChromeUserPopulation* unsafe_arena_release_population();

  // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
  bool has_trigger_type() const;
  private:
  bool _internal_has_trigger_type() const;
  public:
  void clear_trigger_type();
  ::safe_browsing::LoginReputationClientRequest_TriggerType trigger_type() const;
  void set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value);
  private:
  ::safe_browsing::LoginReputationClientRequest_TriggerType _internal_trigger_type() const;
  void _internal_set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value);
  public:

  // optional int32 stored_verdict_cnt = 5;
  bool has_stored_verdict_cnt() const;
  private:
  bool _internal_has_stored_verdict_cnt() const;
  public:
  void clear_stored_verdict_cnt();
  int32_t stored_verdict_cnt() const;
  void set_stored_verdict_cnt(int32_t value);
  private:
  int32_t _internal_stored_verdict_cnt() const;
  void _internal_set_stored_verdict_cnt(int32_t value);
  public:

  // optional bool clicked_through_interstitial = 7;
  bool has_clicked_through_interstitial() const;
  private:
  bool _internal_has_clicked_through_interstitial() const;
  public:
  void clear_clicked_through_interstitial();
  bool clicked_through_interstitial() const;
  void set_clicked_through_interstitial(bool value);
  private:
  bool _internal_clicked_through_interstitial() const;
  void _internal_set_clicked_through_interstitial(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame > frames_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr page_url_;
    ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event_;
    ::safe_browsing::ChromeUserPopulation* population_;
    int trigger_type_;
    int32_t stored_verdict_cnt_;
    bool clicked_through_interstitial_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class LoginReputationClientResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientResponse) */ {
 public:
  inline LoginReputationClientResponse() : LoginReputationClientResponse(nullptr) {}
  ~LoginReputationClientResponse() override;
  explicit PROTOBUF_CONSTEXPR LoginReputationClientResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  LoginReputationClientResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<LoginReputationClientResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const LoginReputationClientResponse& from);
  void MergeFrom(const LoginReputationClientResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LoginReputationClientResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.LoginReputationClientResponse";
  }
  protected:
  explicit LoginReputationClientResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef LoginReputationClientResponse_VerdictType VerdictType;
  static constexpr VerdictType VERDICT_TYPE_UNSPECIFIED =
    LoginReputationClientResponse_VerdictType_VERDICT_TYPE_UNSPECIFIED;
  static constexpr VerdictType SAFE =
    LoginReputationClientResponse_VerdictType_SAFE;
  static constexpr VerdictType LOW_REPUTATION =
    LoginReputationClientResponse_VerdictType_LOW_REPUTATION;
  static constexpr VerdictType PHISHING =
    LoginReputationClientResponse_VerdictType_PHISHING;
  static inline bool VerdictType_IsValid(int value) {
    return LoginReputationClientResponse_VerdictType_IsValid(value);
  }
  static constexpr VerdictType VerdictType_MIN =
    LoginReputationClientResponse_VerdictType_VerdictType_MIN;
  static constexpr VerdictType VerdictType_MAX =
    LoginReputationClientResponse_VerdictType_VerdictType_MAX;
  static constexpr int VerdictType_ARRAYSIZE =
    LoginReputationClientResponse_VerdictType_VerdictType_ARRAYSIZE;
  template<typename T>
  static inline const std::string& VerdictType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, VerdictType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function VerdictType_Name.");
    return LoginReputationClientResponse_VerdictType_Name(enum_t_value);
  }
  static inline bool VerdictType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      VerdictType* value) {
    return LoginReputationClientResponse_VerdictType_Parse(name, value);
  }

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

  enum : int {
    kCacheExpressionFieldNumber = 3,
    kVerdictTokenFieldNumber = 5,
    kCacheDurationSecFieldNumber = 2,
    kVerdictTypeFieldNumber = 1,
    kDEPRECATEDCacheExpressionExactMatchFieldNumber = 4,
  };
  // optional string cache_expression = 3;
  bool has_cache_expression() const;
  private:
  bool _internal_has_cache_expression() const;
  public:
  void clear_cache_expression();
  const std::string& cache_expression() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_cache_expression(ArgT0&& arg0, ArgT... args);
  std::string* mutable_cache_expression();
  PROTOBUF_NODISCARD std::string* release_cache_expression();
  void set_allocated_cache_expression(std::string* cache_expression);
  private:
  const std::string& _internal_cache_expression() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_cache_expression(const std::string& value);
  std::string* _internal_mutable_cache_expression();
  public:

  // optional bytes verdict_token = 5;
  bool has_verdict_token() const;
  private:
  bool _internal_has_verdict_token() const;
  public:
  void clear_verdict_token();
  const std::string& verdict_token() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_verdict_token(ArgT0&& arg0, ArgT... args);
  std::string* mutable_verdict_token();
  PROTOBUF_NODISCARD std::string* release_verdict_token();
  void set_allocated_verdict_token(std::string* verdict_token);
  private:
  const std::string& _internal_verdict_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_verdict_token(const std::string& value);
  std::string* _internal_mutable_verdict_token();
  public:

  // optional int64 cache_duration_sec = 2;
  bool has_cache_duration_sec() const;
  private:
  bool _internal_has_cache_duration_sec() const;
  public:
  void clear_cache_duration_sec();
  int64_t cache_duration_sec() const;
  void set_cache_duration_sec(int64_t value);
  private:
  int64_t _internal_cache_duration_sec() const;
  void _internal_set_cache_duration_sec(int64_t value);
  public:

  // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
  bool has_verdict_type() const;
  private:
  bool _internal_has_verdict_type() const;
  public:
  void clear_verdict_type();
  ::safe_browsing::LoginReputationClientResponse_VerdictType verdict_type() const;
  void set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value);
  private:
  ::safe_browsing::LoginReputationClientResponse_VerdictType _internal_verdict_type() const;
  void _internal_set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value);
  public:

  // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
  PROTOBUF_DEPRECATED bool has_deprecated_cache_expression_exact_match() const;
  private:
  bool _internal_has_deprecated_cache_expression_exact_match() const;
  public:
  PROTOBUF_DEPRECATED void clear_deprecated_cache_expression_exact_match();
  PROTOBUF_DEPRECATED bool deprecated_cache_expression_exact_match() const;
  PROTOBUF_DEPRECATED void set_deprecated_cache_expression_exact_match(bool value);
  private:
  bool _internal_deprecated_cache_expression_exact_match() const;
  void _internal_set_deprecated_cache_expression_exact_match(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cache_expression_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr verdict_token_;
    int64_t cache_duration_sec_;
    int verdict_type_;
    bool deprecated_cache_expression_exact_match_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientMalwareResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientMalwareResponse) */ {
 public:
  inline ClientMalwareResponse() : ClientMalwareResponse(nullptr) {}
  ~ClientMalwareResponse() override;
  explicit PROTOBUF_CONSTEXPR ClientMalwareResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientMalwareResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientMalwareResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientMalwareResponse& from);
  void MergeFrom(const ClientMalwareResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientMalwareResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientMalwareResponse";
  }
  protected:
  explicit ClientMalwareResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kBadIpFieldNumber = 2,
    kBadUrlFieldNumber = 3,
    kBlacklistFieldNumber = 1,
  };
  // optional string bad_ip = 2;
  bool has_bad_ip() const;
  private:
  bool _internal_has_bad_ip() const;
  public:
  void clear_bad_ip();
  const std::string& bad_ip() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_bad_ip(ArgT0&& arg0, ArgT... args);
  std::string* mutable_bad_ip();
  PROTOBUF_NODISCARD std::string* release_bad_ip();
  void set_allocated_bad_ip(std::string* bad_ip);
  private:
  const std::string& _internal_bad_ip() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_bad_ip(const std::string& value);
  std::string* _internal_mutable_bad_ip();
  public:

  // optional string bad_url = 3;
  bool has_bad_url() const;
  private:
  bool _internal_has_bad_url() const;
  public:
  void clear_bad_url();
  const std::string& bad_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_bad_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_bad_url();
  PROTOBUF_NODISCARD std::string* release_bad_url();
  void set_allocated_bad_url(std::string* bad_url);
  private:
  const std::string& _internal_bad_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_bad_url(const std::string& value);
  std::string* _internal_mutable_bad_url();
  public:

  // required bool blacklist = 1;
  bool has_blacklist() const;
  private:
  bool _internal_has_blacklist() const;
  public:
  void clear_blacklist();
  bool blacklist() const;
  void set_blacklist(bool value);
  private:
  bool _internal_blacklist() const;
  void _internal_set_blacklist(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientMalwareResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bad_ip_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bad_url_;
    bool blacklist_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_Digests final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.Digests) */ {
 public:
  inline ClientDownloadRequest_Digests() : ClientDownloadRequest_Digests(nullptr) {}
  ~ClientDownloadRequest_Digests() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_Digests(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientDownloadRequest_Digests* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_Digests>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_Digests& from);
  void MergeFrom(const ClientDownloadRequest_Digests& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_Digests* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.Digests";
  }
  protected:
  explicit ClientDownloadRequest_Digests(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kSha256FieldNumber = 1,
    kSha1FieldNumber = 2,
    kMd5FieldNumber = 3,
  };
  // optional bytes sha256 = 1;
  bool has_sha256() const;
  private:
  bool _internal_has_sha256() const;
  public:
  void clear_sha256();
  const std::string& sha256() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_sha256(ArgT0&& arg0, ArgT... args);
  std::string* mutable_sha256();
  PROTOBUF_NODISCARD std::string* release_sha256();
  void set_allocated_sha256(std::string* sha256);
  private:
  const std::string& _internal_sha256() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_sha256(const std::string& value);
  std::string* _internal_mutable_sha256();
  public:

  // optional bytes sha1 = 2;
  bool has_sha1() const;
  private:
  bool _internal_has_sha1() const;
  public:
  void clear_sha1();
  const std::string& sha1() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_sha1(ArgT0&& arg0, ArgT... args);
  std::string* mutable_sha1();
  PROTOBUF_NODISCARD std::string* release_sha1();
  void set_allocated_sha1(std::string* sha1);
  private:
  const std::string& _internal_sha1() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_sha1(const std::string& value);
  std::string* _internal_mutable_sha1();
  public:

  // optional bytes md5 = 3;
  bool has_md5() const;
  private:
  bool _internal_has_md5() const;
  public:
  void clear_md5();
  const std::string& md5() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_md5(ArgT0&& arg0, ArgT... args);
  std::string* mutable_md5();
  PROTOBUF_NODISCARD std::string* release_md5();
  void set_allocated_md5(std::string* md5);
  private:
  const std::string& _internal_md5() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_md5(const std::string& value);
  std::string* _internal_mutable_md5();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.Digests)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sha256_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sha1_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr md5_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_Resource final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.Resource) */ {
 public:
  inline ClientDownloadRequest_Resource() : ClientDownloadRequest_Resource(nullptr) {}
  ~ClientDownloadRequest_Resource() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_Resource(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientDownloadRequest_Resource* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_Resource>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_Resource& from);
  void MergeFrom(const ClientDownloadRequest_Resource& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_Resource* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.Resource";
  }
  protected:
  explicit ClientDownloadRequest_Resource(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kUrlFieldNumber = 1,
    kRemoteIpFieldNumber = 3,
    kReferrerFieldNumber = 4,
    kTypeFieldNumber = 2,
  };
  // required string url = 1;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional bytes remote_ip = 3;
  bool has_remote_ip() const;
  private:
  bool _internal_has_remote_ip() const;
  public:
  void clear_remote_ip();
  const std::string& remote_ip() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_remote_ip(ArgT0&& arg0, ArgT... args);
  std::string* mutable_remote_ip();
  PROTOBUF_NODISCARD std::string* release_remote_ip();
  void set_allocated_remote_ip(std::string* remote_ip);
  private:
  const std::string& _internal_remote_ip() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_remote_ip(const std::string& value);
  std::string* _internal_mutable_remote_ip();
  public:

  // optional string referrer = 4;
  bool has_referrer() const;
  private:
  bool _internal_has_referrer() const;
  public:
  void clear_referrer();
  const std::string& referrer() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_referrer(ArgT0&& arg0, ArgT... args);
  std::string* mutable_referrer();
  PROTOBUF_NODISCARD std::string* release_referrer();
  void set_allocated_referrer(std::string* referrer);
  private:
  const std::string& _internal_referrer() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_referrer(const std::string& value);
  std::string* _internal_mutable_referrer();
  public:

  // required .safe_browsing.ClientDownloadRequest.ResourceType type = 2;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  ::safe_browsing::ClientDownloadRequest_ResourceType type() const;
  void set_type(::safe_browsing::ClientDownloadRequest_ResourceType value);
  private:
  ::safe_browsing::ClientDownloadRequest_ResourceType _internal_type() const;
  void _internal_set_type(::safe_browsing::ClientDownloadRequest_ResourceType value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.Resource)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr remote_ip_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr referrer_;
    int type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_CertificateChain_Element final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.CertificateChain.Element) */ {
 public:
  inline ClientDownloadRequest_CertificateChain_Element() : ClientDownloadRequest_CertificateChain_Element(nullptr) {}
  ~ClientDownloadRequest_CertificateChain_Element() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_CertificateChain_Element(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientDownloadRequest_CertificateChain_Element* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_CertificateChain_Element>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_CertificateChain_Element& from);
  void MergeFrom(const ClientDownloadRequest_CertificateChain_Element& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_CertificateChain_Element* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.CertificateChain.Element";
  }
  protected:
  explicit ClientDownloadRequest_CertificateChain_Element(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCertificateFieldNumber = 1,
  };
  // optional bytes certificate = 1;
  bool has_certificate() const;
  private:
  bool _internal_has_certificate() const;
  public:
  void clear_certificate();
  const std::string& certificate() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_certificate(ArgT0&& arg0, ArgT... args);
  std::string* mutable_certificate();
  PROTOBUF_NODISCARD std::string* release_certificate();
  void set_allocated_certificate(std::string* certificate);
  private:
  const std::string& _internal_certificate() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_certificate(const std::string& value);
  std::string* _internal_mutable_certificate();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
 private:
  class _Internal;

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

class ClientDownloadRequest_CertificateChain final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.CertificateChain) */ {
 public:
  inline ClientDownloadRequest_CertificateChain() : ClientDownloadRequest_CertificateChain(nullptr) {}
  ~ClientDownloadRequest_CertificateChain() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_CertificateChain(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientDownloadRequest_CertificateChain* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_CertificateChain>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_CertificateChain& from);
  void MergeFrom(const ClientDownloadRequest_CertificateChain& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_CertificateChain* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.CertificateChain";
  }
  protected:
  explicit ClientDownloadRequest_CertificateChain(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientDownloadRequest_CertificateChain_Element Element;

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

  enum : int {
    kElementFieldNumber = 1,
  };
  // repeated .safe_browsing.ClientDownloadRequest.CertificateChain.Element element = 1;
  int element_size() const;
  private:
  int _internal_element_size() const;
  public:
  void clear_element();
  ::safe_browsing::ClientDownloadRequest_CertificateChain_Element* mutable_element(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain_Element >*
      mutable_element();
  private:
  const ::safe_browsing::ClientDownloadRequest_CertificateChain_Element& _internal_element(int index) const;
  ::safe_browsing::ClientDownloadRequest_CertificateChain_Element* _internal_add_element();
  public:
  const ::safe_browsing::ClientDownloadRequest_CertificateChain_Element& element(int index) const;
  ::safe_browsing::ClientDownloadRequest_CertificateChain_Element* add_element();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain_Element >&
      element() const;

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.CertificateChain)
 private:
  class _Internal;

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

class ClientDownloadRequest_ExtendedAttr final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.ExtendedAttr) */ {
 public:
  inline ClientDownloadRequest_ExtendedAttr() : ClientDownloadRequest_ExtendedAttr(nullptr) {}
  ~ClientDownloadRequest_ExtendedAttr() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_ExtendedAttr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

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

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

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

  ClientDownloadRequest_ExtendedAttr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_ExtendedAttr>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_ExtendedAttr& from);
  void MergeFrom(const ClientDownloadRequest_ExtendedAttr& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_ExtendedAttr* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.ExtendedAttr";
  }
  protected:
  explicit ClientDownloadRequest_ExtendedAttr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kKeyFieldNumber = 1,
    kValueFieldNumber = 2,
  };
  // required string key = 1;
  bool has_key() const;
  private:
  bool _internal_has_key() const;
  public:
  void clear_key();
  const std::string& key() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_key(ArgT0&& arg0, ArgT... args);
  std::string* mutable_key();
  PROTOBUF_NODISCARD std::string* release_key();
  void set_allocated_key(std::string* key);
  private:
  const std::string& _internal_key() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_key(const std::string& value);
  std::string* _internal_mutable_key();
  public:

  // optional bytes value = 2;
  bool has_value() const;
  private:
  bool _internal_has_value() const;
  public:
  void clear_value();
  const std::string& value() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_value(ArgT0&& arg0, ArgT... args);
  std::string* mutable_value();
  PROTOBUF_NODISCARD std::string* release_value();
  void set_allocated_value(std::string* value);
  private:
  const std::string& _internal_value() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value);
  std::string* _internal_mutable_value();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.ExtendedAttr)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr key_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_SignatureInfo final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.SignatureInfo) */ {
 public:
  inline ClientDownloadRequest_SignatureInfo() : ClientDownloadRequest_SignatureInfo(nullptr) {}
  ~ClientDownloadRequest_SignatureInfo() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_SignatureInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadRequest_SignatureInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadRequest_SignatureInfo* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadRequest_SignatureInfo*>(
               &_ClientDownloadRequest_SignatureInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    17;

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

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

  ClientDownloadRequest_SignatureInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_SignatureInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_SignatureInfo& from);
  void MergeFrom(const ClientDownloadRequest_SignatureInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_SignatureInfo* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.SignatureInfo";
  }
  protected:
  explicit ClientDownloadRequest_SignatureInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCertificateChainFieldNumber = 1,
    kSignedDataFieldNumber = 3,
    kXattrFieldNumber = 4,
    kTrustedFieldNumber = 2,
  };
  // repeated .safe_browsing.ClientDownloadRequest.CertificateChain certificate_chain = 1;
  int certificate_chain_size() const;
  private:
  int _internal_certificate_chain_size() const;
  public:
  void clear_certificate_chain();
  ::safe_browsing::ClientDownloadRequest_CertificateChain* mutable_certificate_chain(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain >*
      mutable_certificate_chain();
  private:
  const ::safe_browsing::ClientDownloadRequest_CertificateChain& _internal_certificate_chain(int index) const;
  ::safe_browsing::ClientDownloadRequest_CertificateChain* _internal_add_certificate_chain();
  public:
  const ::safe_browsing::ClientDownloadRequest_CertificateChain& certificate_chain(int index) const;
  ::safe_browsing::ClientDownloadRequest_CertificateChain* add_certificate_chain();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain >&
      certificate_chain() const;

  // repeated bytes signed_data = 3;
  int signed_data_size() const;
  private:
  int _internal_signed_data_size() const;
  public:
  void clear_signed_data();
  const std::string& signed_data(int index) const;
  std::string* mutable_signed_data(int index);
  void set_signed_data(int index, const std::string& value);
  void set_signed_data(int index, std::string&& value);
  void set_signed_data(int index, const char* value);
  void set_signed_data(int index, const void* value, size_t size);
  std::string* add_signed_data();
  void add_signed_data(const std::string& value);
  void add_signed_data(std::string&& value);
  void add_signed_data(const char* value);
  void add_signed_data(const void* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& signed_data() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_signed_data();
  private:
  const std::string& _internal_signed_data(int index) const;
  std::string* _internal_add_signed_data();
  public:

  // repeated .safe_browsing.ClientDownloadRequest.ExtendedAttr xattr = 4;
  int xattr_size() const;
  private:
  int _internal_xattr_size() const;
  public:
  void clear_xattr();
  ::safe_browsing::ClientDownloadRequest_ExtendedAttr* mutable_xattr(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ExtendedAttr >*
      mutable_xattr();
  private:
  const ::safe_browsing::ClientDownloadRequest_ExtendedAttr& _internal_xattr(int index) const;
  ::safe_browsing::ClientDownloadRequest_ExtendedAttr* _internal_add_xattr();
  public:
  const ::safe_browsing::ClientDownloadRequest_ExtendedAttr& xattr(int index) const;
  ::safe_browsing::ClientDownloadRequest_ExtendedAttr* add_xattr();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ExtendedAttr >&
      xattr() const;

  // optional bool trusted = 2;
  bool has_trusted() const;
  private:
  bool _internal_has_trusted() const;
  public:
  void clear_trusted();
  bool trusted() const;
  void set_trusted(bool value);
  private:
  bool _internal_trusted() const;
  void _internal_set_trusted(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.SignatureInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain > certificate_chain_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> signed_data_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ExtendedAttr > xattr_;
    bool trusted_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_PEImageHeaders_DebugData final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData) */ {
 public:
  inline ClientDownloadRequest_PEImageHeaders_DebugData() : ClientDownloadRequest_PEImageHeaders_DebugData(nullptr) {}
  ~ClientDownloadRequest_PEImageHeaders_DebugData() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_PEImageHeaders_DebugData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadRequest_PEImageHeaders_DebugData& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadRequest_PEImageHeaders_DebugData* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadRequest_PEImageHeaders_DebugData*>(
               &_ClientDownloadRequest_PEImageHeaders_DebugData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    18;

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

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

  ClientDownloadRequest_PEImageHeaders_DebugData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_PEImageHeaders_DebugData>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_PEImageHeaders_DebugData& from);
  void MergeFrom(const ClientDownloadRequest_PEImageHeaders_DebugData& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_PEImageHeaders_DebugData* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData";
  }
  protected:
  explicit ClientDownloadRequest_PEImageHeaders_DebugData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDirectoryEntryFieldNumber = 1,
    kRawDataFieldNumber = 2,
  };
  // optional bytes directory_entry = 1;
  bool has_directory_entry() const;
  private:
  bool _internal_has_directory_entry() const;
  public:
  void clear_directory_entry();
  const std::string& directory_entry() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_directory_entry(ArgT0&& arg0, ArgT... args);
  std::string* mutable_directory_entry();
  PROTOBUF_NODISCARD std::string* release_directory_entry();
  void set_allocated_directory_entry(std::string* directory_entry);
  private:
  const std::string& _internal_directory_entry() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_directory_entry(const std::string& value);
  std::string* _internal_mutable_directory_entry();
  public:

  // optional bytes raw_data = 2;
  bool has_raw_data() const;
  private:
  bool _internal_has_raw_data() const;
  public:
  void clear_raw_data();
  const std::string& raw_data() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_raw_data(ArgT0&& arg0, ArgT... args);
  std::string* mutable_raw_data();
  PROTOBUF_NODISCARD std::string* release_raw_data();
  void set_allocated_raw_data(std::string* raw_data);
  private:
  const std::string& _internal_raw_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_raw_data(const std::string& value);
  std::string* _internal_mutable_raw_data();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr directory_entry_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr raw_data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_PEImageHeaders final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.PEImageHeaders) */ {
 public:
  inline ClientDownloadRequest_PEImageHeaders() : ClientDownloadRequest_PEImageHeaders(nullptr) {}
  ~ClientDownloadRequest_PEImageHeaders() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_PEImageHeaders(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadRequest_PEImageHeaders& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadRequest_PEImageHeaders* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadRequest_PEImageHeaders*>(
               &_ClientDownloadRequest_PEImageHeaders_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    19;

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

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

  ClientDownloadRequest_PEImageHeaders* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_PEImageHeaders>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_PEImageHeaders& from);
  void MergeFrom(const ClientDownloadRequest_PEImageHeaders& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_PEImageHeaders* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.PEImageHeaders";
  }
  protected:
  explicit ClientDownloadRequest_PEImageHeaders(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientDownloadRequest_PEImageHeaders_DebugData DebugData;

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

  enum : int {
    kSectionHeaderFieldNumber = 5,
    kDebugDataFieldNumber = 7,
    kDosHeaderFieldNumber = 1,
    kFileHeaderFieldNumber = 2,
    kOptionalHeaders32FieldNumber = 3,
    kOptionalHeaders64FieldNumber = 4,
    kExportSectionDataFieldNumber = 6,
  };
  // repeated bytes section_header = 5;
  int section_header_size() const;
  private:
  int _internal_section_header_size() const;
  public:
  void clear_section_header();
  const std::string& section_header(int index) const;
  std::string* mutable_section_header(int index);
  void set_section_header(int index, const std::string& value);
  void set_section_header(int index, std::string&& value);
  void set_section_header(int index, const char* value);
  void set_section_header(int index, const void* value, size_t size);
  std::string* add_section_header();
  void add_section_header(const std::string& value);
  void add_section_header(std::string&& value);
  void add_section_header(const char* value);
  void add_section_header(const void* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& section_header() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_section_header();
  private:
  const std::string& _internal_section_header(int index) const;
  std::string* _internal_add_section_header();
  public:

  // repeated .safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData debug_data = 7;
  int debug_data_size() const;
  private:
  int _internal_debug_data_size() const;
  public:
  void clear_debug_data();
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* mutable_debug_data(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData >*
      mutable_debug_data();
  private:
  const ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData& _internal_debug_data(int index) const;
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* _internal_add_debug_data();
  public:
  const ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData& debug_data(int index) const;
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* add_debug_data();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData >&
      debug_data() const;

  // optional bytes dos_header = 1;
  bool has_dos_header() const;
  private:
  bool _internal_has_dos_header() const;
  public:
  void clear_dos_header();
  const std::string& dos_header() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_dos_header(ArgT0&& arg0, ArgT... args);
  std::string* mutable_dos_header();
  PROTOBUF_NODISCARD std::string* release_dos_header();
  void set_allocated_dos_header(std::string* dos_header);
  private:
  const std::string& _internal_dos_header() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_dos_header(const std::string& value);
  std::string* _internal_mutable_dos_header();
  public:

  // optional bytes file_header = 2;
  bool has_file_header() const;
  private:
  bool _internal_has_file_header() const;
  public:
  void clear_file_header();
  const std::string& file_header() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_file_header(ArgT0&& arg0, ArgT... args);
  std::string* mutable_file_header();
  PROTOBUF_NODISCARD std::string* release_file_header();
  void set_allocated_file_header(std::string* file_header);
  private:
  const std::string& _internal_file_header() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_file_header(const std::string& value);
  std::string* _internal_mutable_file_header();
  public:

  // optional bytes optional_headers32 = 3;
  bool has_optional_headers32() const;
  private:
  bool _internal_has_optional_headers32() const;
  public:
  void clear_optional_headers32();
  const std::string& optional_headers32() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_optional_headers32(ArgT0&& arg0, ArgT... args);
  std::string* mutable_optional_headers32();
  PROTOBUF_NODISCARD std::string* release_optional_headers32();
  void set_allocated_optional_headers32(std::string* optional_headers32);
  private:
  const std::string& _internal_optional_headers32() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_optional_headers32(const std::string& value);
  std::string* _internal_mutable_optional_headers32();
  public:

  // optional bytes optional_headers64 = 4;
  bool has_optional_headers64() const;
  private:
  bool _internal_has_optional_headers64() const;
  public:
  void clear_optional_headers64();
  const std::string& optional_headers64() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_optional_headers64(ArgT0&& arg0, ArgT... args);
  std::string* mutable_optional_headers64();
  PROTOBUF_NODISCARD std::string* release_optional_headers64();
  void set_allocated_optional_headers64(std::string* optional_headers64);
  private:
  const std::string& _internal_optional_headers64() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_optional_headers64(const std::string& value);
  std::string* _internal_mutable_optional_headers64();
  public:

  // optional bytes export_section_data = 6;
  bool has_export_section_data() const;
  private:
  bool _internal_has_export_section_data() const;
  public:
  void clear_export_section_data();
  const std::string& export_section_data() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_export_section_data(ArgT0&& arg0, ArgT... args);
  std::string* mutable_export_section_data();
  PROTOBUF_NODISCARD std::string* release_export_section_data();
  void set_allocated_export_section_data(std::string* export_section_data);
  private:
  const std::string& _internal_export_section_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_export_section_data(const std::string& value);
  std::string* _internal_mutable_export_section_data();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.PEImageHeaders)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> section_header_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData > debug_data_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dos_header_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr file_header_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr optional_headers32_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr optional_headers64_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr export_section_data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_MachOHeaders_LoadCommand final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand) */ {
 public:
  inline ClientDownloadRequest_MachOHeaders_LoadCommand() : ClientDownloadRequest_MachOHeaders_LoadCommand(nullptr) {}
  ~ClientDownloadRequest_MachOHeaders_LoadCommand() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_MachOHeaders_LoadCommand(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadRequest_MachOHeaders_LoadCommand& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadRequest_MachOHeaders_LoadCommand* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadRequest_MachOHeaders_LoadCommand*>(
               &_ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    20;

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

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

  ClientDownloadRequest_MachOHeaders_LoadCommand* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_MachOHeaders_LoadCommand>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_MachOHeaders_LoadCommand& from);
  void MergeFrom(const ClientDownloadRequest_MachOHeaders_LoadCommand& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_MachOHeaders_LoadCommand* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand";
  }
  protected:
  explicit ClientDownloadRequest_MachOHeaders_LoadCommand(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCommandFieldNumber = 2,
    kCommandIdFieldNumber = 1,
  };
  // required bytes command = 2;
  bool has_command() const;
  private:
  bool _internal_has_command() const;
  public:
  void clear_command();
  const std::string& command() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_command(ArgT0&& arg0, ArgT... args);
  std::string* mutable_command();
  PROTOBUF_NODISCARD std::string* release_command();
  void set_allocated_command(std::string* command);
  private:
  const std::string& _internal_command() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_command(const std::string& value);
  std::string* _internal_mutable_command();
  public:

  // required uint32 command_id = 1;
  bool has_command_id() const;
  private:
  bool _internal_has_command_id() const;
  public:
  void clear_command_id();
  uint32_t command_id() const;
  void set_command_id(uint32_t value);
  private:
  uint32_t _internal_command_id() const;
  void _internal_set_command_id(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr command_;
    uint32_t command_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_MachOHeaders final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.MachOHeaders) */ {
 public:
  inline ClientDownloadRequest_MachOHeaders() : ClientDownloadRequest_MachOHeaders(nullptr) {}
  ~ClientDownloadRequest_MachOHeaders() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_MachOHeaders(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadRequest_MachOHeaders& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadRequest_MachOHeaders* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadRequest_MachOHeaders*>(
               &_ClientDownloadRequest_MachOHeaders_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    21;

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

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

  ClientDownloadRequest_MachOHeaders* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_MachOHeaders>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_MachOHeaders& from);
  void MergeFrom(const ClientDownloadRequest_MachOHeaders& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_MachOHeaders* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.MachOHeaders";
  }
  protected:
  explicit ClientDownloadRequest_MachOHeaders(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientDownloadRequest_MachOHeaders_LoadCommand LoadCommand;

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

  enum : int {
    kLoadCommandsFieldNumber = 2,
    kMachHeaderFieldNumber = 1,
  };
  // repeated .safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand load_commands = 2;
  int load_commands_size() const;
  private:
  int _internal_load_commands_size() const;
  public:
  void clear_load_commands();
  ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* mutable_load_commands(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand >*
      mutable_load_commands();
  private:
  const ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand& _internal_load_commands(int index) const;
  ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* _internal_add_load_commands();
  public:
  const ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand& load_commands(int index) const;
  ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* add_load_commands();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand >&
      load_commands() const;

  // required bytes mach_header = 1;
  bool has_mach_header() const;
  private:
  bool _internal_has_mach_header() const;
  public:
  void clear_mach_header();
  const std::string& mach_header() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_mach_header(ArgT0&& arg0, ArgT... args);
  std::string* mutable_mach_header();
  PROTOBUF_NODISCARD std::string* release_mach_header();
  void set_allocated_mach_header(std::string* mach_header);
  private:
  const std::string& _internal_mach_header() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_mach_header(const std::string& value);
  std::string* _internal_mutable_mach_header();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.MachOHeaders)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand > load_commands_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr mach_header_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_ImageHeaders final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.ImageHeaders) */ {
 public:
  inline ClientDownloadRequest_ImageHeaders() : ClientDownloadRequest_ImageHeaders(nullptr) {}
  ~ClientDownloadRequest_ImageHeaders() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_ImageHeaders(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadRequest_ImageHeaders& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadRequest_ImageHeaders* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadRequest_ImageHeaders*>(
               &_ClientDownloadRequest_ImageHeaders_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    22;

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

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

  ClientDownloadRequest_ImageHeaders* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_ImageHeaders>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_ImageHeaders& from);
  void MergeFrom(const ClientDownloadRequest_ImageHeaders& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_ImageHeaders* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.ImageHeaders";
  }
  protected:
  explicit ClientDownloadRequest_ImageHeaders(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kMachOHeadersFieldNumber = 2,
    kPeHeadersFieldNumber = 1,
  };
  // repeated .safe_browsing.ClientDownloadRequest.MachOHeaders mach_o_headers = 2;
  int mach_o_headers_size() const;
  private:
  int _internal_mach_o_headers_size() const;
  public:
  void clear_mach_o_headers();
  ::safe_browsing::ClientDownloadRequest_MachOHeaders* mutable_mach_o_headers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders >*
      mutable_mach_o_headers();
  private:
  const ::safe_browsing::ClientDownloadRequest_MachOHeaders& _internal_mach_o_headers(int index) const;
  ::safe_browsing::ClientDownloadRequest_MachOHeaders* _internal_add_mach_o_headers();
  public:
  const ::safe_browsing::ClientDownloadRequest_MachOHeaders& mach_o_headers(int index) const;
  ::safe_browsing::ClientDownloadRequest_MachOHeaders* add_mach_o_headers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders >&
      mach_o_headers() const;

  // optional .safe_browsing.ClientDownloadRequest.PEImageHeaders pe_headers = 1;
  bool has_pe_headers() const;
  private:
  bool _internal_has_pe_headers() const;
  public:
  void clear_pe_headers();
  const ::safe_browsing::ClientDownloadRequest_PEImageHeaders& pe_headers() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_PEImageHeaders* release_pe_headers();
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders* mutable_pe_headers();
  void set_allocated_pe_headers(::safe_browsing::ClientDownloadRequest_PEImageHeaders* pe_headers);
  private:
  const ::safe_browsing::ClientDownloadRequest_PEImageHeaders& _internal_pe_headers() const;
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders* _internal_mutable_pe_headers();
  public:
  void unsafe_arena_set_allocated_pe_headers(
      ::safe_browsing::ClientDownloadRequest_PEImageHeaders* pe_headers);
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders* unsafe_arena_release_pe_headers();

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.ImageHeaders)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders > mach_o_headers_;
    ::safe_browsing::ClientDownloadRequest_PEImageHeaders* pe_headers_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest_ArchivedBinary final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.ArchivedBinary) */ {
 public:
  inline ClientDownloadRequest_ArchivedBinary() : ClientDownloadRequest_ArchivedBinary(nullptr) {}
  ~ClientDownloadRequest_ArchivedBinary() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest_ArchivedBinary(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadRequest_ArchivedBinary& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadRequest_ArchivedBinary* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadRequest_ArchivedBinary*>(
               &_ClientDownloadRequest_ArchivedBinary_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    23;

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

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

  ClientDownloadRequest_ArchivedBinary* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest_ArchivedBinary>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest_ArchivedBinary& from);
  void MergeFrom(const ClientDownloadRequest_ArchivedBinary& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest_ArchivedBinary* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest.ArchivedBinary";
  }
  protected:
  explicit ClientDownloadRequest_ArchivedBinary(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kFileBasenameFieldNumber = 1,
    kDigestsFieldNumber = 3,
    kSignatureFieldNumber = 5,
    kImageHeadersFieldNumber = 6,
    kLengthFieldNumber = 4,
    kDownloadTypeFieldNumber = 2,
  };
  // optional string file_basename = 1;
  bool has_file_basename() const;
  private:
  bool _internal_has_file_basename() const;
  public:
  void clear_file_basename();
  const std::string& file_basename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_file_basename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_file_basename();
  PROTOBUF_NODISCARD std::string* release_file_basename();
  void set_allocated_file_basename(std::string* file_basename);
  private:
  const std::string& _internal_file_basename() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_file_basename(const std::string& value);
  std::string* _internal_mutable_file_basename();
  public:

  // optional .safe_browsing.ClientDownloadRequest.Digests digests = 3;
  bool has_digests() const;
  private:
  bool _internal_has_digests() const;
  public:
  void clear_digests();
  const ::safe_browsing::ClientDownloadRequest_Digests& digests() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_Digests* release_digests();
  ::safe_browsing::ClientDownloadRequest_Digests* mutable_digests();
  void set_allocated_digests(::safe_browsing::ClientDownloadRequest_Digests* digests);
  private:
  const ::safe_browsing::ClientDownloadRequest_Digests& _internal_digests() const;
  ::safe_browsing::ClientDownloadRequest_Digests* _internal_mutable_digests();
  public:
  void unsafe_arena_set_allocated_digests(
      ::safe_browsing::ClientDownloadRequest_Digests* digests);
  ::safe_browsing::ClientDownloadRequest_Digests* unsafe_arena_release_digests();

  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
  bool has_signature() const;
  private:
  bool _internal_has_signature() const;
  public:
  void clear_signature();
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& signature() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_SignatureInfo* release_signature();
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* mutable_signature();
  void set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
  private:
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& _internal_signature() const;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* _internal_mutable_signature();
  public:
  void unsafe_arena_set_allocated_signature(
      ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* unsafe_arena_release_signature();

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
  bool has_image_headers() const;
  private:
  bool _internal_has_image_headers() const;
  public:
  void clear_image_headers();
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& image_headers() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_ImageHeaders* release_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* mutable_image_headers();
  void set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  private:
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& _internal_image_headers() const;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _internal_mutable_image_headers();
  public:
  void unsafe_arena_set_allocated_image_headers(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* unsafe_arena_release_image_headers();

  // optional int64 length = 4;
  bool has_length() const;
  private:
  bool _internal_has_length() const;
  public:
  void clear_length();
  int64_t length() const;
  void set_length(int64_t value);
  private:
  int64_t _internal_length() const;
  void _internal_set_length(int64_t value);
  public:

  // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 2;
  bool has_download_type() const;
  private:
  bool _internal_has_download_type() const;
  public:
  void clear_download_type();
  ::safe_browsing::ClientDownloadRequest_DownloadType download_type() const;
  void set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value);
  private:
  ::safe_browsing::ClientDownloadRequest_DownloadType _internal_download_type() const;
  void _internal_set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.ArchivedBinary)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr file_basename_;
    ::safe_browsing::ClientDownloadRequest_Digests* digests_;
    ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature_;
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
    int64_t length_;
    int download_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest) */ {
 public:
  inline ClientDownloadRequest() : ClientDownloadRequest(nullptr) {}
  ~ClientDownloadRequest() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadRequest* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadRequest*>(
               &_ClientDownloadRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    24;

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

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

  ClientDownloadRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadRequest& from);
  void MergeFrom(const ClientDownloadRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadRequest";
  }
  protected:
  explicit ClientDownloadRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientDownloadRequest_Digests Digests;
  typedef ClientDownloadRequest_Resource Resource;
  typedef ClientDownloadRequest_CertificateChain CertificateChain;
  typedef ClientDownloadRequest_ExtendedAttr ExtendedAttr;
  typedef ClientDownloadRequest_SignatureInfo SignatureInfo;
  typedef ClientDownloadRequest_PEImageHeaders PEImageHeaders;
  typedef ClientDownloadRequest_MachOHeaders MachOHeaders;
  typedef ClientDownloadRequest_ImageHeaders ImageHeaders;
  typedef ClientDownloadRequest_ArchivedBinary ArchivedBinary;

  typedef ClientDownloadRequest_ResourceType ResourceType;
  static constexpr ResourceType DOWNLOAD_URL =
    ClientDownloadRequest_ResourceType_DOWNLOAD_URL;
  static constexpr ResourceType DOWNLOAD_REDIRECT =
    ClientDownloadRequest_ResourceType_DOWNLOAD_REDIRECT;
  static constexpr ResourceType TAB_URL =
    ClientDownloadRequest_ResourceType_TAB_URL;
  static constexpr ResourceType TAB_REDIRECT =
    ClientDownloadRequest_ResourceType_TAB_REDIRECT;
  static constexpr ResourceType PPAPI_DOCUMENT =
    ClientDownloadRequest_ResourceType_PPAPI_DOCUMENT;
  static constexpr ResourceType PPAPI_PLUGIN =
    ClientDownloadRequest_ResourceType_PPAPI_PLUGIN;
  static inline bool ResourceType_IsValid(int value) {
    return ClientDownloadRequest_ResourceType_IsValid(value);
  }
  static constexpr ResourceType ResourceType_MIN =
    ClientDownloadRequest_ResourceType_ResourceType_MIN;
  static constexpr ResourceType ResourceType_MAX =
    ClientDownloadRequest_ResourceType_ResourceType_MAX;
  static constexpr int ResourceType_ARRAYSIZE =
    ClientDownloadRequest_ResourceType_ResourceType_ARRAYSIZE;
  template<typename T>
  static inline const std::string& ResourceType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, ResourceType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function ResourceType_Name.");
    return ClientDownloadRequest_ResourceType_Name(enum_t_value);
  }
  static inline bool ResourceType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      ResourceType* value) {
    return ClientDownloadRequest_ResourceType_Parse(name, value);
  }

  typedef ClientDownloadRequest_DownloadType DownloadType;
  static constexpr DownloadType WIN_EXECUTABLE =
    ClientDownloadRequest_DownloadType_WIN_EXECUTABLE;
  static constexpr DownloadType CHROME_EXTENSION =
    ClientDownloadRequest_DownloadType_CHROME_EXTENSION;
  static constexpr DownloadType ANDROID_APK =
    ClientDownloadRequest_DownloadType_ANDROID_APK;
  static constexpr DownloadType ZIPPED_EXECUTABLE =
    ClientDownloadRequest_DownloadType_ZIPPED_EXECUTABLE;
  static constexpr DownloadType MAC_EXECUTABLE =
    ClientDownloadRequest_DownloadType_MAC_EXECUTABLE;
  static constexpr DownloadType ZIPPED_ARCHIVE =
    ClientDownloadRequest_DownloadType_ZIPPED_ARCHIVE;
  static constexpr DownloadType ARCHIVE =
    ClientDownloadRequest_DownloadType_ARCHIVE;
  static constexpr DownloadType INVALID_ZIP =
    ClientDownloadRequest_DownloadType_INVALID_ZIP;
  static constexpr DownloadType INVALID_MAC_ARCHIVE =
    ClientDownloadRequest_DownloadType_INVALID_MAC_ARCHIVE;
  static constexpr DownloadType PPAPI_SAVE_REQUEST =
    ClientDownloadRequest_DownloadType_PPAPI_SAVE_REQUEST;
  static constexpr DownloadType SAMPLED_UNSUPPORTED_FILE =
    ClientDownloadRequest_DownloadType_SAMPLED_UNSUPPORTED_FILE;
  static inline bool DownloadType_IsValid(int value) {
    return ClientDownloadRequest_DownloadType_IsValid(value);
  }
  static constexpr DownloadType DownloadType_MIN =
    ClientDownloadRequest_DownloadType_DownloadType_MIN;
  static constexpr DownloadType DownloadType_MAX =
    ClientDownloadRequest_DownloadType_DownloadType_MAX;
  static constexpr int DownloadType_ARRAYSIZE =
    ClientDownloadRequest_DownloadType_DownloadType_ARRAYSIZE;
  template<typename T>
  static inline const std::string& DownloadType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, DownloadType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function DownloadType_Name.");
    return ClientDownloadRequest_DownloadType_Name(enum_t_value);
  }
  static inline bool DownloadType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      DownloadType* value) {
    return ClientDownloadRequest_DownloadType_Parse(name, value);
  }

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

  enum : int {
    kResourcesFieldNumber = 4,
    kArchivedBinaryFieldNumber = 22,
    kAlternateExtensionsFieldNumber = 35,
    kReferrerChainFieldNumber = 36,
    kUrlFieldNumber = 1,
    kFileBasenameFieldNumber = 9,
    kLocaleFieldNumber = 11,
    kUdifCodeSignatureFieldNumber = 40,
    kDigestsFieldNumber = 2,
    kSignatureFieldNumber = 5,
    kImageHeadersFieldNumber = 18,
    kPopulationFieldNumber = 24,
    kLengthFieldNumber = 3,
    kDownloadTypeFieldNumber = 10,
    kUserInitiatedFieldNumber = 6,
    kArchiveValidFieldNumber = 26,
    kSkippedUrlWhitelistFieldNumber = 28,
    kSkippedCertificateWhitelistFieldNumber = 31,
    kDEPRECATEDDownloadAttributionFinchEnabledFieldNumber = 39,
  };
  // repeated .safe_browsing.ClientDownloadRequest.Resource resources = 4;
  int resources_size() const;
  private:
  int _internal_resources_size() const;
  public:
  void clear_resources();
  ::safe_browsing::ClientDownloadRequest_Resource* mutable_resources(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >*
      mutable_resources();
  private:
  const ::safe_browsing::ClientDownloadRequest_Resource& _internal_resources(int index) const;
  ::safe_browsing::ClientDownloadRequest_Resource* _internal_add_resources();
  public:
  const ::safe_browsing::ClientDownloadRequest_Resource& resources(int index) const;
  ::safe_browsing::ClientDownloadRequest_Resource* add_resources();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >&
      resources() const;

  // repeated .safe_browsing.ClientDownloadRequest.ArchivedBinary archived_binary = 22;
  int archived_binary_size() const;
  private:
  int _internal_archived_binary_size() const;
  public:
  void clear_archived_binary();
  ::safe_browsing::ClientDownloadRequest_ArchivedBinary* mutable_archived_binary(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >*
      mutable_archived_binary();
  private:
  const ::safe_browsing::ClientDownloadRequest_ArchivedBinary& _internal_archived_binary(int index) const;
  ::safe_browsing::ClientDownloadRequest_ArchivedBinary* _internal_add_archived_binary();
  public:
  const ::safe_browsing::ClientDownloadRequest_ArchivedBinary& archived_binary(int index) const;
  ::safe_browsing::ClientDownloadRequest_ArchivedBinary* add_archived_binary();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >&
      archived_binary() const;

  // repeated string alternate_extensions = 35;
  int alternate_extensions_size() const;
  private:
  int _internal_alternate_extensions_size() const;
  public:
  void clear_alternate_extensions();
  const std::string& alternate_extensions(int index) const;
  std::string* mutable_alternate_extensions(int index);
  void set_alternate_extensions(int index, const std::string& value);
  void set_alternate_extensions(int index, std::string&& value);
  void set_alternate_extensions(int index, const char* value);
  void set_alternate_extensions(int index, const char* value, size_t size);
  std::string* add_alternate_extensions();
  void add_alternate_extensions(const std::string& value);
  void add_alternate_extensions(std::string&& value);
  void add_alternate_extensions(const char* value);
  void add_alternate_extensions(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& alternate_extensions() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_alternate_extensions();
  private:
  const std::string& _internal_alternate_extensions(int index) const;
  std::string* _internal_add_alternate_extensions();
  public:

  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
  int referrer_chain_size() const;
  private:
  int _internal_referrer_chain_size() const;
  public:
  void clear_referrer_chain();
  ::safe_browsing::ReferrerChainEntry* mutable_referrer_chain(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
      mutable_referrer_chain();
  private:
  const ::safe_browsing::ReferrerChainEntry& _internal_referrer_chain(int index) const;
  ::safe_browsing::ReferrerChainEntry* _internal_add_referrer_chain();
  public:
  const ::safe_browsing::ReferrerChainEntry& referrer_chain(int index) const;
  ::safe_browsing::ReferrerChainEntry* add_referrer_chain();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
      referrer_chain() const;

  // required string url = 1;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional string file_basename = 9;
  bool has_file_basename() const;
  private:
  bool _internal_has_file_basename() const;
  public:
  void clear_file_basename();
  const std::string& file_basename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_file_basename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_file_basename();
  PROTOBUF_NODISCARD std::string* release_file_basename();
  void set_allocated_file_basename(std::string* file_basename);
  private:
  const std::string& _internal_file_basename() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_file_basename(const std::string& value);
  std::string* _internal_mutable_file_basename();
  public:

  // optional string locale = 11;
  bool has_locale() const;
  private:
  bool _internal_has_locale() const;
  public:
  void clear_locale();
  const std::string& locale() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_locale(ArgT0&& arg0, ArgT... args);
  std::string* mutable_locale();
  PROTOBUF_NODISCARD std::string* release_locale();
  void set_allocated_locale(std::string* locale);
  private:
  const std::string& _internal_locale() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_locale(const std::string& value);
  std::string* _internal_mutable_locale();
  public:

  // optional bytes udif_code_signature = 40;
  bool has_udif_code_signature() const;
  private:
  bool _internal_has_udif_code_signature() const;
  public:
  void clear_udif_code_signature();
  const std::string& udif_code_signature() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_udif_code_signature(ArgT0&& arg0, ArgT... args);
  std::string* mutable_udif_code_signature();
  PROTOBUF_NODISCARD std::string* release_udif_code_signature();
  void set_allocated_udif_code_signature(std::string* udif_code_signature);
  private:
  const std::string& _internal_udif_code_signature() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_udif_code_signature(const std::string& value);
  std::string* _internal_mutable_udif_code_signature();
  public:

  // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
  bool has_digests() const;
  private:
  bool _internal_has_digests() const;
  public:
  void clear_digests();
  const ::safe_browsing::ClientDownloadRequest_Digests& digests() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_Digests* release_digests();
  ::safe_browsing::ClientDownloadRequest_Digests* mutable_digests();
  void set_allocated_digests(::safe_browsing::ClientDownloadRequest_Digests* digests);
  private:
  const ::safe_browsing::ClientDownloadRequest_Digests& _internal_digests() const;
  ::safe_browsing::ClientDownloadRequest_Digests* _internal_mutable_digests();
  public:
  void unsafe_arena_set_allocated_digests(
      ::safe_browsing::ClientDownloadRequest_Digests* digests);
  ::safe_browsing::ClientDownloadRequest_Digests* unsafe_arena_release_digests();

  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
  bool has_signature() const;
  private:
  bool _internal_has_signature() const;
  public:
  void clear_signature();
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& signature() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_SignatureInfo* release_signature();
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* mutable_signature();
  void set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
  private:
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& _internal_signature() const;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* _internal_mutable_signature();
  public:
  void unsafe_arena_set_allocated_signature(
      ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* unsafe_arena_release_signature();

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
  bool has_image_headers() const;
  private:
  bool _internal_has_image_headers() const;
  public:
  void clear_image_headers();
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& image_headers() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_ImageHeaders* release_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* mutable_image_headers();
  void set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  private:
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& _internal_image_headers() const;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _internal_mutable_image_headers();
  public:
  void unsafe_arena_set_allocated_image_headers(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* unsafe_arena_release_image_headers();

  // optional .safe_browsing.ChromeUserPopulation population = 24;
  bool has_population() const;
  private:
  bool _internal_has_population() const;
  public:
  void clear_population();
  const ::safe_browsing::ChromeUserPopulation& population() const;
  PROTOBUF_NODISCARD ::safe_browsing::ChromeUserPopulation* release_population();
  ::safe_browsing::ChromeUserPopulation* mutable_population();
  void set_allocated_population(::safe_browsing::ChromeUserPopulation* population);
  private:
  const ::safe_browsing::ChromeUserPopulation& _internal_population() const;
  ::safe_browsing::ChromeUserPopulation* _internal_mutable_population();
  public:
  void unsafe_arena_set_allocated_population(
      ::safe_browsing::ChromeUserPopulation* population);
  ::safe_browsing::ChromeUserPopulation* unsafe_arena_release_population();

  // required int64 length = 3;
  bool has_length() const;
  private:
  bool _internal_has_length() const;
  public:
  void clear_length();
  int64_t length() const;
  void set_length(int64_t value);
  private:
  int64_t _internal_length() const;
  void _internal_set_length(int64_t value);
  public:

  // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
  bool has_download_type() const;
  private:
  bool _internal_has_download_type() const;
  public:
  void clear_download_type();
  ::safe_browsing::ClientDownloadRequest_DownloadType download_type() const;
  void set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value);
  private:
  ::safe_browsing::ClientDownloadRequest_DownloadType _internal_download_type() const;
  void _internal_set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value);
  public:

  // optional bool user_initiated = 6;
  bool has_user_initiated() const;
  private:
  bool _internal_has_user_initiated() const;
  public:
  void clear_user_initiated();
  bool user_initiated() const;
  void set_user_initiated(bool value);
  private:
  bool _internal_user_initiated() const;
  void _internal_set_user_initiated(bool value);
  public:

  // optional bool archive_valid = 26;
  bool has_archive_valid() const;
  private:
  bool _internal_has_archive_valid() const;
  public:
  void clear_archive_valid();
  bool archive_valid() const;
  void set_archive_valid(bool value);
  private:
  bool _internal_archive_valid() const;
  void _internal_set_archive_valid(bool value);
  public:

  // optional bool skipped_url_whitelist = 28;
  bool has_skipped_url_whitelist() const;
  private:
  bool _internal_has_skipped_url_whitelist() const;
  public:
  void clear_skipped_url_whitelist();
  bool skipped_url_whitelist() const;
  void set_skipped_url_whitelist(bool value);
  private:
  bool _internal_skipped_url_whitelist() const;
  void _internal_set_skipped_url_whitelist(bool value);
  public:

  // optional bool skipped_certificate_whitelist = 31;
  bool has_skipped_certificate_whitelist() const;
  private:
  bool _internal_has_skipped_certificate_whitelist() const;
  public:
  void clear_skipped_certificate_whitelist();
  bool skipped_certificate_whitelist() const;
  void set_skipped_certificate_whitelist(bool value);
  private:
  bool _internal_skipped_certificate_whitelist() const;
  void _internal_set_skipped_certificate_whitelist(bool value);
  public:

  // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
  PROTOBUF_DEPRECATED bool has_deprecated_download_attribution_finch_enabled() const;
  private:
  bool _internal_has_deprecated_download_attribution_finch_enabled() const;
  public:
  PROTOBUF_DEPRECATED void clear_deprecated_download_attribution_finch_enabled();
  PROTOBUF_DEPRECATED bool deprecated_download_attribution_finch_enabled() const;
  PROTOBUF_DEPRECATED void set_deprecated_download_attribution_finch_enabled(bool value);
  private:
  bool _internal_deprecated_download_attribution_finch_enabled() const;
  void _internal_set_deprecated_download_attribution_finch_enabled(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource > resources_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary > archived_binary_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> alternate_extensions_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry > referrer_chain_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr file_basename_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr locale_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr udif_code_signature_;
    ::safe_browsing::ClientDownloadRequest_Digests* digests_;
    ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature_;
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
    ::safe_browsing::ChromeUserPopulation* population_;
    int64_t length_;
    int download_type_;
    bool user_initiated_;
    bool archive_valid_;
    bool skipped_url_whitelist_;
    bool skipped_certificate_whitelist_;
    bool deprecated_download_attribution_finch_enabled_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ReferrerChainEntry_ServerRedirect final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ReferrerChainEntry.ServerRedirect) */ {
 public:
  inline ReferrerChainEntry_ServerRedirect() : ReferrerChainEntry_ServerRedirect(nullptr) {}
  ~ReferrerChainEntry_ServerRedirect() override;
  explicit PROTOBUF_CONSTEXPR ReferrerChainEntry_ServerRedirect(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ReferrerChainEntry_ServerRedirect& default_instance() {
    return *internal_default_instance();
  }
  static inline const ReferrerChainEntry_ServerRedirect* internal_default_instance() {
    return reinterpret_cast<const ReferrerChainEntry_ServerRedirect*>(
               &_ReferrerChainEntry_ServerRedirect_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    25;

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

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

  ReferrerChainEntry_ServerRedirect* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ReferrerChainEntry_ServerRedirect>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ReferrerChainEntry_ServerRedirect& from);
  void MergeFrom(const ReferrerChainEntry_ServerRedirect& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ReferrerChainEntry_ServerRedirect* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ReferrerChainEntry.ServerRedirect";
  }
  protected:
  explicit ReferrerChainEntry_ServerRedirect(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kUrlFieldNumber = 1,
  };
  // optional string url = 1;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ReferrerChainEntry.ServerRedirect)
 private:
  class _Internal;

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

class ReferrerChainEntry final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ReferrerChainEntry) */ {
 public:
  inline ReferrerChainEntry() : ReferrerChainEntry(nullptr) {}
  ~ReferrerChainEntry() override;
  explicit PROTOBUF_CONSTEXPR ReferrerChainEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ReferrerChainEntry& default_instance() {
    return *internal_default_instance();
  }
  static inline const ReferrerChainEntry* internal_default_instance() {
    return reinterpret_cast<const ReferrerChainEntry*>(
               &_ReferrerChainEntry_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    26;

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

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

  ReferrerChainEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ReferrerChainEntry>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ReferrerChainEntry& from);
  void MergeFrom(const ReferrerChainEntry& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ReferrerChainEntry* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ReferrerChainEntry";
  }
  protected:
  explicit ReferrerChainEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ReferrerChainEntry_ServerRedirect ServerRedirect;

  typedef ReferrerChainEntry_URLType URLType;
  static constexpr URLType EVENT_URL =
    ReferrerChainEntry_URLType_EVENT_URL;
  static constexpr URLType LANDING_PAGE =
    ReferrerChainEntry_URLType_LANDING_PAGE;
  static constexpr URLType LANDING_REFERRER =
    ReferrerChainEntry_URLType_LANDING_REFERRER;
  static constexpr URLType CLIENT_REDIRECT =
    ReferrerChainEntry_URLType_CLIENT_REDIRECT;
  static constexpr URLType DEPRECATED_SERVER_REDIRECT =
    ReferrerChainEntry_URLType_DEPRECATED_SERVER_REDIRECT;
  static inline bool URLType_IsValid(int value) {
    return ReferrerChainEntry_URLType_IsValid(value);
  }
  static constexpr URLType URLType_MIN =
    ReferrerChainEntry_URLType_URLType_MIN;
  static constexpr URLType URLType_MAX =
    ReferrerChainEntry_URLType_URLType_MAX;
  static constexpr int URLType_ARRAYSIZE =
    ReferrerChainEntry_URLType_URLType_ARRAYSIZE;
  template<typename T>
  static inline const std::string& URLType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, URLType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function URLType_Name.");
    return ReferrerChainEntry_URLType_Name(enum_t_value);
  }
  static inline bool URLType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      URLType* value) {
    return ReferrerChainEntry_URLType_Parse(name, value);
  }

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

  enum : int {
    kIpAddressesFieldNumber = 3,
    kServerRedirectChainFieldNumber = 8,
    kUrlFieldNumber = 1,
    kReferrerUrlFieldNumber = 4,
    kReferrerMainFrameUrlFieldNumber = 5,
    kMainFrameUrlFieldNumber = 9,
    kNavigationTimeMsecFieldNumber = 7,
    kIsRetargetingFieldNumber = 6,
    kTypeFieldNumber = 2,
  };
  // repeated string ip_addresses = 3;
  int ip_addresses_size() const;
  private:
  int _internal_ip_addresses_size() const;
  public:
  void clear_ip_addresses();
  const std::string& ip_addresses(int index) const;
  std::string* mutable_ip_addresses(int index);
  void set_ip_addresses(int index, const std::string& value);
  void set_ip_addresses(int index, std::string&& value);
  void set_ip_addresses(int index, const char* value);
  void set_ip_addresses(int index, const char* value, size_t size);
  std::string* add_ip_addresses();
  void add_ip_addresses(const std::string& value);
  void add_ip_addresses(std::string&& value);
  void add_ip_addresses(const char* value);
  void add_ip_addresses(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& ip_addresses() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_ip_addresses();
  private:
  const std::string& _internal_ip_addresses(int index) const;
  std::string* _internal_add_ip_addresses();
  public:

  // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
  int server_redirect_chain_size() const;
  private:
  int _internal_server_redirect_chain_size() const;
  public:
  void clear_server_redirect_chain();
  ::safe_browsing::ReferrerChainEntry_ServerRedirect* mutable_server_redirect_chain(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >*
      mutable_server_redirect_chain();
  private:
  const ::safe_browsing::ReferrerChainEntry_ServerRedirect& _internal_server_redirect_chain(int index) const;
  ::safe_browsing::ReferrerChainEntry_ServerRedirect* _internal_add_server_redirect_chain();
  public:
  const ::safe_browsing::ReferrerChainEntry_ServerRedirect& server_redirect_chain(int index) const;
  ::safe_browsing::ReferrerChainEntry_ServerRedirect* add_server_redirect_chain();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >&
      server_redirect_chain() const;

  // optional string url = 1;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional string referrer_url = 4;
  bool has_referrer_url() const;
  private:
  bool _internal_has_referrer_url() const;
  public:
  void clear_referrer_url();
  const std::string& referrer_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_referrer_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_referrer_url();
  PROTOBUF_NODISCARD std::string* release_referrer_url();
  void set_allocated_referrer_url(std::string* referrer_url);
  private:
  const std::string& _internal_referrer_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_referrer_url(const std::string& value);
  std::string* _internal_mutable_referrer_url();
  public:

  // optional string referrer_main_frame_url = 5;
  bool has_referrer_main_frame_url() const;
  private:
  bool _internal_has_referrer_main_frame_url() const;
  public:
  void clear_referrer_main_frame_url();
  const std::string& referrer_main_frame_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_referrer_main_frame_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_referrer_main_frame_url();
  PROTOBUF_NODISCARD std::string* release_referrer_main_frame_url();
  void set_allocated_referrer_main_frame_url(std::string* referrer_main_frame_url);
  private:
  const std::string& _internal_referrer_main_frame_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_referrer_main_frame_url(const std::string& value);
  std::string* _internal_mutable_referrer_main_frame_url();
  public:

  // optional string main_frame_url = 9;
  bool has_main_frame_url() const;
  private:
  bool _internal_has_main_frame_url() const;
  public:
  void clear_main_frame_url();
  const std::string& main_frame_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_main_frame_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_main_frame_url();
  PROTOBUF_NODISCARD std::string* release_main_frame_url();
  void set_allocated_main_frame_url(std::string* main_frame_url);
  private:
  const std::string& _internal_main_frame_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_main_frame_url(const std::string& value);
  std::string* _internal_mutable_main_frame_url();
  public:

  // optional double navigation_time_msec = 7;
  bool has_navigation_time_msec() const;
  private:
  bool _internal_has_navigation_time_msec() const;
  public:
  void clear_navigation_time_msec();
  double navigation_time_msec() const;
  void set_navigation_time_msec(double value);
  private:
  double _internal_navigation_time_msec() const;
  void _internal_set_navigation_time_msec(double value);
  public:

  // optional bool is_retargeting = 6;
  bool has_is_retargeting() const;
  private:
  bool _internal_has_is_retargeting() const;
  public:
  void clear_is_retargeting();
  bool is_retargeting() const;
  void set_is_retargeting(bool value);
  private:
  bool _internal_is_retargeting() const;
  void _internal_set_is_retargeting(bool value);
  public:

  // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  ::safe_browsing::ReferrerChainEntry_URLType type() const;
  void set_type(::safe_browsing::ReferrerChainEntry_URLType value);
  private:
  ::safe_browsing::ReferrerChainEntry_URLType _internal_type() const;
  void _internal_set_type(::safe_browsing::ReferrerChainEntry_URLType value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ReferrerChainEntry)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> ip_addresses_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect > server_redirect_chain_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr referrer_url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr referrer_main_frame_url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr main_frame_url_;
    double navigation_time_msec_;
    bool is_retargeting_;
    int type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadResponse_MoreInfo final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadResponse.MoreInfo) */ {
 public:
  inline ClientDownloadResponse_MoreInfo() : ClientDownloadResponse_MoreInfo(nullptr) {}
  ~ClientDownloadResponse_MoreInfo() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadResponse_MoreInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadResponse_MoreInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadResponse_MoreInfo* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadResponse_MoreInfo*>(
               &_ClientDownloadResponse_MoreInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    27;

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

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

  ClientDownloadResponse_MoreInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadResponse_MoreInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadResponse_MoreInfo& from);
  void MergeFrom(const ClientDownloadResponse_MoreInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadResponse_MoreInfo* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadResponse.MoreInfo";
  }
  protected:
  explicit ClientDownloadResponse_MoreInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDescriptionFieldNumber = 1,
    kUrlFieldNumber = 2,
  };
  // optional string description = 1;
  bool has_description() const;
  private:
  bool _internal_has_description() const;
  public:
  void clear_description();
  const std::string& description() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_description(ArgT0&& arg0, ArgT... args);
  std::string* mutable_description();
  PROTOBUF_NODISCARD std::string* release_description();
  void set_allocated_description(std::string* description);
  private:
  const std::string& _internal_description() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_description(const std::string& value);
  std::string* _internal_mutable_description();
  public:

  // optional string url = 2;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadResponse.MoreInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadResponse) */ {
 public:
  inline ClientDownloadResponse() : ClientDownloadResponse(nullptr) {}
  ~ClientDownloadResponse() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadResponse* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadResponse*>(
               &_ClientDownloadResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    28;

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

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

  ClientDownloadResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadResponse& from);
  void MergeFrom(const ClientDownloadResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadResponse";
  }
  protected:
  explicit ClientDownloadResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientDownloadResponse_MoreInfo MoreInfo;

  typedef ClientDownloadResponse_Verdict Verdict;
  static constexpr Verdict SAFE =
    ClientDownloadResponse_Verdict_SAFE;
  static constexpr Verdict DANGEROUS =
    ClientDownloadResponse_Verdict_DANGEROUS;
  static constexpr Verdict UNCOMMON =
    ClientDownloadResponse_Verdict_UNCOMMON;
  static constexpr Verdict POTENTIALLY_UNWANTED =
    ClientDownloadResponse_Verdict_POTENTIALLY_UNWANTED;
  static constexpr Verdict DANGEROUS_HOST =
    ClientDownloadResponse_Verdict_DANGEROUS_HOST;
  static constexpr Verdict UNKNOWN =
    ClientDownloadResponse_Verdict_UNKNOWN;
  static inline bool Verdict_IsValid(int value) {
    return ClientDownloadResponse_Verdict_IsValid(value);
  }
  static constexpr Verdict Verdict_MIN =
    ClientDownloadResponse_Verdict_Verdict_MIN;
  static constexpr Verdict Verdict_MAX =
    ClientDownloadResponse_Verdict_Verdict_MAX;
  static constexpr int Verdict_ARRAYSIZE =
    ClientDownloadResponse_Verdict_Verdict_ARRAYSIZE;
  template<typename T>
  static inline const std::string& Verdict_Name(T enum_t_value) {
    static_assert(::std::is_same<T, Verdict>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function Verdict_Name.");
    return ClientDownloadResponse_Verdict_Name(enum_t_value);
  }
  static inline bool Verdict_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      Verdict* value) {
    return ClientDownloadResponse_Verdict_Parse(name, value);
  }

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

  enum : int {
    kTokenFieldNumber = 3,
    kMoreInfoFieldNumber = 2,
    kVerdictFieldNumber = 1,
    kUploadFieldNumber = 5,
  };
  // optional bytes token = 3;
  bool has_token() const;
  private:
  bool _internal_has_token() const;
  public:
  void clear_token();
  const std::string& token() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_token(ArgT0&& arg0, ArgT... args);
  std::string* mutable_token();
  PROTOBUF_NODISCARD std::string* release_token();
  void set_allocated_token(std::string* token);
  private:
  const std::string& _internal_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_token(const std::string& value);
  std::string* _internal_mutable_token();
  public:

  // optional .safe_browsing.ClientDownloadResponse.MoreInfo more_info = 2;
  bool has_more_info() const;
  private:
  bool _internal_has_more_info() const;
  public:
  void clear_more_info();
  const ::safe_browsing::ClientDownloadResponse_MoreInfo& more_info() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadResponse_MoreInfo* release_more_info();
  ::safe_browsing::ClientDownloadResponse_MoreInfo* mutable_more_info();
  void set_allocated_more_info(::safe_browsing::ClientDownloadResponse_MoreInfo* more_info);
  private:
  const ::safe_browsing::ClientDownloadResponse_MoreInfo& _internal_more_info() const;
  ::safe_browsing::ClientDownloadResponse_MoreInfo* _internal_mutable_more_info();
  public:
  void unsafe_arena_set_allocated_more_info(
      ::safe_browsing::ClientDownloadResponse_MoreInfo* more_info);
  ::safe_browsing::ClientDownloadResponse_MoreInfo* unsafe_arena_release_more_info();

  // optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
  bool has_verdict() const;
  private:
  bool _internal_has_verdict() const;
  public:
  void clear_verdict();
  ::safe_browsing::ClientDownloadResponse_Verdict verdict() const;
  void set_verdict(::safe_browsing::ClientDownloadResponse_Verdict value);
  private:
  ::safe_browsing::ClientDownloadResponse_Verdict _internal_verdict() const;
  void _internal_set_verdict(::safe_browsing::ClientDownloadResponse_Verdict value);
  public:

  // optional bool upload = 5;
  bool has_upload() const;
  private:
  bool _internal_has_upload() const;
  public:
  void clear_upload();
  bool upload() const;
  void set_upload(bool value);
  private:
  bool _internal_upload() const;
  void _internal_set_upload(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr token_;
    ::safe_browsing::ClientDownloadResponse_MoreInfo* more_info_;
    int verdict_;
    bool upload_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientDownloadReport_UserInformation final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadReport.UserInformation) */ {
 public:
  inline ClientDownloadReport_UserInformation() : ClientDownloadReport_UserInformation(nullptr) {}
  ~ClientDownloadReport_UserInformation() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadReport_UserInformation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadReport_UserInformation& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadReport_UserInformation* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadReport_UserInformation*>(
               &_ClientDownloadReport_UserInformation_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    29;

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

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

  ClientDownloadReport_UserInformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadReport_UserInformation>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadReport_UserInformation& from);
  void MergeFrom(const ClientDownloadReport_UserInformation& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadReport_UserInformation* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadReport.UserInformation";
  }
  protected:
  explicit ClientDownloadReport_UserInformation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kEmailFieldNumber = 1,
  };
  // optional string email = 1;
  bool has_email() const;
  private:
  bool _internal_has_email() const;
  public:
  void clear_email();
  const std::string& email() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_email(ArgT0&& arg0, ArgT... args);
  std::string* mutable_email();
  PROTOBUF_NODISCARD std::string* release_email();
  void set_allocated_email(std::string* email);
  private:
  const std::string& _internal_email() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_email(const std::string& value);
  std::string* _internal_mutable_email();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadReport.UserInformation)
 private:
  class _Internal;

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

class ClientDownloadReport final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadReport) */ {
 public:
  inline ClientDownloadReport() : ClientDownloadReport(nullptr) {}
  ~ClientDownloadReport() override;
  explicit PROTOBUF_CONSTEXPR ClientDownloadReport(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientDownloadReport& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientDownloadReport* internal_default_instance() {
    return reinterpret_cast<const ClientDownloadReport*>(
               &_ClientDownloadReport_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    30;

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

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

  ClientDownloadReport* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientDownloadReport>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientDownloadReport& from);
  void MergeFrom(const ClientDownloadReport& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientDownloadReport* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientDownloadReport";
  }
  protected:
  explicit ClientDownloadReport(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientDownloadReport_UserInformation UserInformation;

  typedef ClientDownloadReport_Reason Reason;
  static constexpr Reason SHARE =
    ClientDownloadReport_Reason_SHARE;
  static constexpr Reason FALSE_POSITIVE =
    ClientDownloadReport_Reason_FALSE_POSITIVE;
  static constexpr Reason APPEAL =
    ClientDownloadReport_Reason_APPEAL;
  static inline bool Reason_IsValid(int value) {
    return ClientDownloadReport_Reason_IsValid(value);
  }
  static constexpr Reason Reason_MIN =
    ClientDownloadReport_Reason_Reason_MIN;
  static constexpr Reason Reason_MAX =
    ClientDownloadReport_Reason_Reason_MAX;
  static constexpr int Reason_ARRAYSIZE =
    ClientDownloadReport_Reason_Reason_ARRAYSIZE;
  template<typename T>
  static inline const std::string& Reason_Name(T enum_t_value) {
    static_assert(::std::is_same<T, Reason>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function Reason_Name.");
    return ClientDownloadReport_Reason_Name(enum_t_value);
  }
  static inline bool Reason_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      Reason* value) {
    return ClientDownloadReport_Reason_Parse(name, value);
  }

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

  enum : int {
    kCommentFieldNumber = 4,
    kDownloadRequestFieldNumber = 2,
    kUserInformationFieldNumber = 3,
    kDownloadResponseFieldNumber = 5,
    kReasonFieldNumber = 1,
  };
  // optional bytes comment = 4;
  bool has_comment() const;
  private:
  bool _internal_has_comment() const;
  public:
  void clear_comment();
  const std::string& comment() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_comment(ArgT0&& arg0, ArgT... args);
  std::string* mutable_comment();
  PROTOBUF_NODISCARD std::string* release_comment();
  void set_allocated_comment(std::string* comment);
  private:
  const std::string& _internal_comment() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_comment(const std::string& value);
  std::string* _internal_mutable_comment();
  public:

  // optional .safe_browsing.ClientDownloadRequest download_request = 2;
  bool has_download_request() const;
  private:
  bool _internal_has_download_request() const;
  public:
  void clear_download_request();
  const ::safe_browsing::ClientDownloadRequest& download_request() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest* release_download_request();
  ::safe_browsing::ClientDownloadRequest* mutable_download_request();
  void set_allocated_download_request(::safe_browsing::ClientDownloadRequest* download_request);
  private:
  const ::safe_browsing::ClientDownloadRequest& _internal_download_request() const;
  ::safe_browsing::ClientDownloadRequest* _internal_mutable_download_request();
  public:
  void unsafe_arena_set_allocated_download_request(
      ::safe_browsing::ClientDownloadRequest* download_request);
  ::safe_browsing::ClientDownloadRequest* unsafe_arena_release_download_request();

  // optional .safe_browsing.ClientDownloadReport.UserInformation user_information = 3;
  bool has_user_information() const;
  private:
  bool _internal_has_user_information() const;
  public:
  void clear_user_information();
  const ::safe_browsing::ClientDownloadReport_UserInformation& user_information() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadReport_UserInformation* release_user_information();
  ::safe_browsing::ClientDownloadReport_UserInformation* mutable_user_information();
  void set_allocated_user_information(::safe_browsing::ClientDownloadReport_UserInformation* user_information);
  private:
  const ::safe_browsing::ClientDownloadReport_UserInformation& _internal_user_information() const;
  ::safe_browsing::ClientDownloadReport_UserInformation* _internal_mutable_user_information();
  public:
  void unsafe_arena_set_allocated_user_information(
      ::safe_browsing::ClientDownloadReport_UserInformation* user_information);
  ::safe_browsing::ClientDownloadReport_UserInformation* unsafe_arena_release_user_information();

  // optional .safe_browsing.ClientDownloadResponse download_response = 5;
  bool has_download_response() const;
  private:
  bool _internal_has_download_response() const;
  public:
  void clear_download_response();
  const ::safe_browsing::ClientDownloadResponse& download_response() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadResponse* release_download_response();
  ::safe_browsing::ClientDownloadResponse* mutable_download_response();
  void set_allocated_download_response(::safe_browsing::ClientDownloadResponse* download_response);
  private:
  const ::safe_browsing::ClientDownloadResponse& _internal_download_response() const;
  ::safe_browsing::ClientDownloadResponse* _internal_mutable_download_response();
  public:
  void unsafe_arena_set_allocated_download_response(
      ::safe_browsing::ClientDownloadResponse* download_response);
  ::safe_browsing::ClientDownloadResponse* unsafe_arena_release_download_response();

  // optional .safe_browsing.ClientDownloadReport.Reason reason = 1;
  bool has_reason() const;
  private:
  bool _internal_has_reason() const;
  public:
  void clear_reason();
  ::safe_browsing::ClientDownloadReport_Reason reason() const;
  void set_reason(::safe_browsing::ClientDownloadReport_Reason value);
  private:
  ::safe_browsing::ClientDownloadReport_Reason _internal_reason() const;
  void _internal_set_reason(::safe_browsing::ClientDownloadReport_Reason value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadReport)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr comment_;
    ::safe_browsing::ClientDownloadRequest* download_request_;
    ::safe_browsing::ClientDownloadReport_UserInformation* user_information_;
    ::safe_browsing::ClientDownloadResponse* download_response_;
    int reason_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientUploadResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientUploadResponse) */ {
 public:
  inline ClientUploadResponse() : ClientUploadResponse(nullptr) {}
  ~ClientUploadResponse() override;
  explicit PROTOBUF_CONSTEXPR ClientUploadResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientUploadResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientUploadResponse* internal_default_instance() {
    return reinterpret_cast<const ClientUploadResponse*>(
               &_ClientUploadResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    31;

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

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

  ClientUploadResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientUploadResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientUploadResponse& from);
  void MergeFrom(const ClientUploadResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientUploadResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientUploadResponse";
  }
  protected:
  explicit ClientUploadResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientUploadResponse_UploadStatus UploadStatus;
  static constexpr UploadStatus SUCCESS =
    ClientUploadResponse_UploadStatus_SUCCESS;
  static constexpr UploadStatus UPLOAD_FAILURE =
    ClientUploadResponse_UploadStatus_UPLOAD_FAILURE;
  static inline bool UploadStatus_IsValid(int value) {
    return ClientUploadResponse_UploadStatus_IsValid(value);
  }
  static constexpr UploadStatus UploadStatus_MIN =
    ClientUploadResponse_UploadStatus_UploadStatus_MIN;
  static constexpr UploadStatus UploadStatus_MAX =
    ClientUploadResponse_UploadStatus_UploadStatus_MAX;
  static constexpr int UploadStatus_ARRAYSIZE =
    ClientUploadResponse_UploadStatus_UploadStatus_ARRAYSIZE;
  template<typename T>
  static inline const std::string& UploadStatus_Name(T enum_t_value) {
    static_assert(::std::is_same<T, UploadStatus>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function UploadStatus_Name.");
    return ClientUploadResponse_UploadStatus_Name(enum_t_value);
  }
  static inline bool UploadStatus_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      UploadStatus* value) {
    return ClientUploadResponse_UploadStatus_Parse(name, value);
  }

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

  enum : int {
    kPermalinkFieldNumber = 2,
    kStatusFieldNumber = 1,
  };
  // optional string permalink = 2;
  bool has_permalink() const;
  private:
  bool _internal_has_permalink() const;
  public:
  void clear_permalink();
  const std::string& permalink() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_permalink(ArgT0&& arg0, ArgT... args);
  std::string* mutable_permalink();
  PROTOBUF_NODISCARD std::string* release_permalink();
  void set_allocated_permalink(std::string* permalink);
  private:
  const std::string& _internal_permalink() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_permalink(const std::string& value);
  std::string* _internal_mutable_permalink();
  public:

  // optional .safe_browsing.ClientUploadResponse.UploadStatus status = 1;
  bool has_status() const;
  private:
  bool _internal_has_status() const;
  public:
  void clear_status();
  ::safe_browsing::ClientUploadResponse_UploadStatus status() const;
  void set_status(::safe_browsing::ClientUploadResponse_UploadStatus value);
  private:
  ::safe_browsing::ClientUploadResponse_UploadStatus _internal_status() const;
  void _internal_set_status(::safe_browsing::ClientUploadResponse_UploadStatus value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientUploadResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr permalink_;
    int status_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_IncidentData_TrackedPreferenceIncident final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident) */ {
 public:
  inline ClientIncidentReport_IncidentData_TrackedPreferenceIncident() : ClientIncidentReport_IncidentData_TrackedPreferenceIncident(nullptr) {}
  ~ClientIncidentReport_IncidentData_TrackedPreferenceIncident() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_IncidentData_TrackedPreferenceIncident(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_IncidentData_TrackedPreferenceIncident& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_IncidentData_TrackedPreferenceIncident* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_IncidentData_TrackedPreferenceIncident*>(
               &_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    32;

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

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

  ClientIncidentReport_IncidentData_TrackedPreferenceIncident* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_IncidentData_TrackedPreferenceIncident>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_IncidentData_TrackedPreferenceIncident& from);
  void MergeFrom(const ClientIncidentReport_IncidentData_TrackedPreferenceIncident& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_IncidentData_TrackedPreferenceIncident* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident";
  }
  protected:
  explicit ClientIncidentReport_IncidentData_TrackedPreferenceIncident(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ValueState;
  static constexpr ValueState UNKNOWN =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_UNKNOWN;
  static constexpr ValueState CLEARED =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_CLEARED;
  static constexpr ValueState WEAK_LEGACY_OBSOLETE =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_WEAK_LEGACY_OBSOLETE;
  static constexpr ValueState CHANGED =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_CHANGED;
  static constexpr ValueState UNTRUSTED_UNKNOWN_VALUE =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_UNTRUSTED_UNKNOWN_VALUE;
  static constexpr ValueState BYPASS_CLEARED =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_BYPASS_CLEARED;
  static constexpr ValueState BYPASS_CHANGED =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_BYPASS_CHANGED;
  static inline bool ValueState_IsValid(int value) {
    return ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(value);
  }
  static constexpr ValueState ValueState_MIN =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MIN;
  static constexpr ValueState ValueState_MAX =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MAX;
  static constexpr int ValueState_ARRAYSIZE =
    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_ARRAYSIZE;
  template<typename T>
  static inline const std::string& ValueState_Name(T enum_t_value) {
    static_assert(::std::is_same<T, ValueState>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function ValueState_Name.");
    return ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_Name(enum_t_value);
  }
  static inline bool ValueState_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      ValueState* value) {
    return ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_Parse(name, value);
  }

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

  enum : int {
    kSplitKeyFieldNumber = 3,
    kPathFieldNumber = 1,
    kAtomicValueFieldNumber = 2,
    kValueStateFieldNumber = 4,
  };
  // repeated string split_key = 3;
  int split_key_size() const;
  private:
  int _internal_split_key_size() const;
  public:
  void clear_split_key();
  const std::string& split_key(int index) const;
  std::string* mutable_split_key(int index);
  void set_split_key(int index, const std::string& value);
  void set_split_key(int index, std::string&& value);
  void set_split_key(int index, const char* value);
  void set_split_key(int index, const char* value, size_t size);
  std::string* add_split_key();
  void add_split_key(const std::string& value);
  void add_split_key(std::string&& value);
  void add_split_key(const char* value);
  void add_split_key(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& split_key() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_split_key();
  private:
  const std::string& _internal_split_key(int index) const;
  std::string* _internal_add_split_key();
  public:

  // optional string path = 1;
  bool has_path() const;
  private:
  bool _internal_has_path() const;
  public:
  void clear_path();
  const std::string& path() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_path(ArgT0&& arg0, ArgT... args);
  std::string* mutable_path();
  PROTOBUF_NODISCARD std::string* release_path();
  void set_allocated_path(std::string* path);
  private:
  const std::string& _internal_path() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_path(const std::string& value);
  std::string* _internal_mutable_path();
  public:

  // optional string atomic_value = 2;
  bool has_atomic_value() const;
  private:
  bool _internal_has_atomic_value() const;
  public:
  void clear_atomic_value();
  const std::string& atomic_value() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_atomic_value(ArgT0&& arg0, ArgT... args);
  std::string* mutable_atomic_value();
  PROTOBUF_NODISCARD std::string* release_atomic_value();
  void set_allocated_atomic_value(std::string* atomic_value);
  private:
  const std::string& _internal_atomic_value() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_atomic_value(const std::string& value);
  std::string* _internal_mutable_atomic_value();
  public:

  // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.ValueState value_state = 4;
  bool has_value_state() const;
  private:
  bool _internal_has_value_state() const;
  public:
  void clear_value_state();
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState value_state() const;
  void set_value_state(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState value);
  private:
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState _internal_value_state() const;
  void _internal_set_value_state(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> split_key_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr path_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr atomic_value_;
    int value_state_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile) */ {
 public:
  inline ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile() : ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile(nullptr) {}
  ~ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile*>(
               &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    33;

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

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

  ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& from);
  void MergeFrom(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile";
  }
  protected:
  explicit ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kRelativePathFieldNumber = 1,
    kSignatureFieldNumber = 2,
    kImageHeadersFieldNumber = 3,
  };
  // optional string relative_path = 1;
  bool has_relative_path() const;
  private:
  bool _internal_has_relative_path() const;
  public:
  void clear_relative_path();
  const std::string& relative_path() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_relative_path(ArgT0&& arg0, ArgT... args);
  std::string* mutable_relative_path();
  PROTOBUF_NODISCARD std::string* release_relative_path();
  void set_allocated_relative_path(std::string* relative_path);
  private:
  const std::string& _internal_relative_path() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_relative_path(const std::string& value);
  std::string* _internal_mutable_relative_path();
  public:

  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
  bool has_signature() const;
  private:
  bool _internal_has_signature() const;
  public:
  void clear_signature();
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& signature() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_SignatureInfo* release_signature();
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* mutable_signature();
  void set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
  private:
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& _internal_signature() const;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* _internal_mutable_signature();
  public:
  void unsafe_arena_set_allocated_signature(
      ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* unsafe_arena_release_signature();

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
  bool has_image_headers() const;
  private:
  bool _internal_has_image_headers() const;
  public:
  void clear_image_headers();
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& image_headers() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_ImageHeaders* release_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* mutable_image_headers();
  void set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  private:
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& _internal_image_headers() const;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _internal_mutable_image_headers();
  public:
  void unsafe_arena_set_allocated_image_headers(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* unsafe_arena_release_image_headers();

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr relative_path_;
    ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature_;
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_IncidentData_BinaryIntegrityIncident final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident) */ {
 public:
  inline ClientIncidentReport_IncidentData_BinaryIntegrityIncident() : ClientIncidentReport_IncidentData_BinaryIntegrityIncident(nullptr) {}
  ~ClientIncidentReport_IncidentData_BinaryIntegrityIncident() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_IncidentData_BinaryIntegrityIncident(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_IncidentData_BinaryIntegrityIncident& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_IncidentData_BinaryIntegrityIncident* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_IncidentData_BinaryIntegrityIncident*>(
               &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    34;

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

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

  ClientIncidentReport_IncidentData_BinaryIntegrityIncident* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_IncidentData_BinaryIntegrityIncident>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident& from);
  void MergeFrom(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident";
  }
  protected:
  explicit ClientIncidentReport_IncidentData_BinaryIntegrityIncident(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile ContainedFile;

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

  enum : int {
    kContainedFileFieldNumber = 5,
    kFileBasenameFieldNumber = 1,
    kSignatureFieldNumber = 2,
    kImageHeadersFieldNumber = 3,
    kSecErrorFieldNumber = 4,
  };
  // repeated .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile contained_file = 5;
  int contained_file_size() const;
  private:
  int _internal_contained_file_size() const;
  public:
  void clear_contained_file();
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* mutable_contained_file(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile >*
      mutable_contained_file();
  private:
  const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& _internal_contained_file(int index) const;
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* _internal_add_contained_file();
  public:
  const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& contained_file(int index) const;
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* add_contained_file();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile >&
      contained_file() const;

  // optional string file_basename = 1;
  bool has_file_basename() const;
  private:
  bool _internal_has_file_basename() const;
  public:
  void clear_file_basename();
  const std::string& file_basename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_file_basename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_file_basename();
  PROTOBUF_NODISCARD std::string* release_file_basename();
  void set_allocated_file_basename(std::string* file_basename);
  private:
  const std::string& _internal_file_basename() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_file_basename(const std::string& value);
  std::string* _internal_mutable_file_basename();
  public:

  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
  bool has_signature() const;
  private:
  bool _internal_has_signature() const;
  public:
  void clear_signature();
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& signature() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_SignatureInfo* release_signature();
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* mutable_signature();
  void set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
  private:
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& _internal_signature() const;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* _internal_mutable_signature();
  public:
  void unsafe_arena_set_allocated_signature(
      ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* unsafe_arena_release_signature();

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
  bool has_image_headers() const;
  private:
  bool _internal_has_image_headers() const;
  public:
  void clear_image_headers();
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& image_headers() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_ImageHeaders* release_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* mutable_image_headers();
  void set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  private:
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& _internal_image_headers() const;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _internal_mutable_image_headers();
  public:
  void unsafe_arena_set_allocated_image_headers(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* unsafe_arena_release_image_headers();

  // optional int32 sec_error = 4;
  bool has_sec_error() const;
  private:
  bool _internal_has_sec_error() const;
  public:
  void clear_sec_error();
  int32_t sec_error() const;
  void set_sec_error(int32_t value);
  private:
  int32_t _internal_sec_error() const;
  void _internal_set_sec_error(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile > contained_file_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr file_basename_;
    ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature_;
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
    int32_t sec_error_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_IncidentData_ResourceRequestIncident final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident) */ {
 public:
  inline ClientIncidentReport_IncidentData_ResourceRequestIncident() : ClientIncidentReport_IncidentData_ResourceRequestIncident(nullptr) {}
  ~ClientIncidentReport_IncidentData_ResourceRequestIncident() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_IncidentData_ResourceRequestIncident(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_IncidentData_ResourceRequestIncident& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_IncidentData_ResourceRequestIncident* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_IncidentData_ResourceRequestIncident*>(
               &_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    35;

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

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

  ClientIncidentReport_IncidentData_ResourceRequestIncident* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_IncidentData_ResourceRequestIncident>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_IncidentData_ResourceRequestIncident& from);
  void MergeFrom(const ClientIncidentReport_IncidentData_ResourceRequestIncident& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_IncidentData_ResourceRequestIncident* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident";
  }
  protected:
  explicit ClientIncidentReport_IncidentData_ResourceRequestIncident(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_IncidentData_ResourceRequestIncident_Type Type;
  static constexpr Type UNKNOWN =
    ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_UNKNOWN;
  static constexpr Type TYPE_PATTERN =
    ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_TYPE_PATTERN;
  static inline bool Type_IsValid(int value) {
    return ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(value);
  }
  static constexpr Type Type_MIN =
    ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Type_MIN;
  static constexpr Type Type_MAX =
    ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Type_MAX;
  static constexpr int Type_ARRAYSIZE =
    ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Type_ARRAYSIZE;
  template<typename T>
  static inline const std::string& Type_Name(T enum_t_value) {
    static_assert(::std::is_same<T, Type>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function Type_Name.");
    return ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Name(enum_t_value);
  }
  static inline bool Type_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      Type* value) {
    return ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Parse(name, value);
  }

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

  enum : int {
    kDigestFieldNumber = 1,
    kOriginFieldNumber = 2,
    kTypeFieldNumber = 3,
  };
  // optional bytes digest = 1;
  bool has_digest() const;
  private:
  bool _internal_has_digest() const;
  public:
  void clear_digest();
  const std::string& digest() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_digest(ArgT0&& arg0, ArgT... args);
  std::string* mutable_digest();
  PROTOBUF_NODISCARD std::string* release_digest();
  void set_allocated_digest(std::string* digest);
  private:
  const std::string& _internal_digest() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_digest(const std::string& value);
  std::string* _internal_mutable_digest();
  public:

  // optional string origin = 2;
  bool has_origin() const;
  private:
  bool _internal_has_origin() const;
  public:
  void clear_origin();
  const std::string& origin() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_origin(ArgT0&& arg0, ArgT... args);
  std::string* mutable_origin();
  PROTOBUF_NODISCARD std::string* release_origin();
  void set_allocated_origin(std::string* origin);
  private:
  const std::string& _internal_origin() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_origin(const std::string& value);
  std::string* _internal_mutable_origin();
  public:

  // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.Type type = 3 [default = UNKNOWN];
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type type() const;
  void set_type(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type value);
  private:
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type _internal_type() const;
  void _internal_set_type(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr digest_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr origin_;
    int type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_IncidentData final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData) */ {
 public:
  inline ClientIncidentReport_IncidentData() : ClientIncidentReport_IncidentData(nullptr) {}
  ~ClientIncidentReport_IncidentData() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_IncidentData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_IncidentData& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_IncidentData* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_IncidentData*>(
               &_ClientIncidentReport_IncidentData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    36;

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

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

  ClientIncidentReport_IncidentData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_IncidentData>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_IncidentData& from);
  void MergeFrom(const ClientIncidentReport_IncidentData& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_IncidentData* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.IncidentData";
  }
  protected:
  explicit ClientIncidentReport_IncidentData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_IncidentData_TrackedPreferenceIncident TrackedPreferenceIncident;
  typedef ClientIncidentReport_IncidentData_BinaryIntegrityIncident BinaryIntegrityIncident;
  typedef ClientIncidentReport_IncidentData_ResourceRequestIncident ResourceRequestIncident;

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

  enum : int {
    kTrackedPreferenceFieldNumber = 2,
    kBinaryIntegrityFieldNumber = 3,
    kResourceRequestFieldNumber = 7,
    kIncidentTimeMsecFieldNumber = 1,
  };
  // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
  bool has_tracked_preference() const;
  private:
  bool _internal_has_tracked_preference() const;
  public:
  void clear_tracked_preference();
  const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident& tracked_preference() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* release_tracked_preference();
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* mutable_tracked_preference();
  void set_allocated_tracked_preference(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* tracked_preference);
  private:
  const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident& _internal_tracked_preference() const;
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* _internal_mutable_tracked_preference();
  public:
  void unsafe_arena_set_allocated_tracked_preference(
      ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* tracked_preference);
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* unsafe_arena_release_tracked_preference();

  // optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
  bool has_binary_integrity() const;
  private:
  bool _internal_has_binary_integrity() const;
  public:
  void clear_binary_integrity();
  const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident& binary_integrity() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* release_binary_integrity();
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* mutable_binary_integrity();
  void set_allocated_binary_integrity(::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* binary_integrity);
  private:
  const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident& _internal_binary_integrity() const;
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* _internal_mutable_binary_integrity();
  public:
  void unsafe_arena_set_allocated_binary_integrity(
      ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* binary_integrity);
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* unsafe_arena_release_binary_integrity();

  // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
  bool has_resource_request() const;
  private:
  bool _internal_has_resource_request() const;
  public:
  void clear_resource_request();
  const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& resource_request() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* release_resource_request();
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* mutable_resource_request();
  void set_allocated_resource_request(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* resource_request);
  private:
  const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& _internal_resource_request() const;
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* _internal_mutable_resource_request();
  public:
  void unsafe_arena_set_allocated_resource_request(
      ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* resource_request);
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* unsafe_arena_release_resource_request();

  // optional int64 incident_time_msec = 1;
  bool has_incident_time_msec() const;
  private:
  bool _internal_has_incident_time_msec() const;
  public:
  void clear_incident_time_msec();
  int64_t incident_time_msec() const;
  void set_incident_time_msec(int64_t value);
  private:
  int64_t _internal_incident_time_msec() const;
  void _internal_set_incident_time_msec(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* tracked_preference_;
    ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* binary_integrity_;
    ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* resource_request_;
    int64_t incident_time_msec_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_DownloadDetails final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.DownloadDetails) */ {
 public:
  inline ClientIncidentReport_DownloadDetails() : ClientIncidentReport_DownloadDetails(nullptr) {}
  ~ClientIncidentReport_DownloadDetails() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_DownloadDetails(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_DownloadDetails& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_DownloadDetails* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_DownloadDetails*>(
               &_ClientIncidentReport_DownloadDetails_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    37;

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

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

  ClientIncidentReport_DownloadDetails* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_DownloadDetails>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_DownloadDetails& from);
  void MergeFrom(const ClientIncidentReport_DownloadDetails& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_DownloadDetails* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.DownloadDetails";
  }
  protected:
  explicit ClientIncidentReport_DownloadDetails(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kTokenFieldNumber = 1,
    kDownloadFieldNumber = 2,
    kDownloadTimeMsecFieldNumber = 3,
    kOpenTimeMsecFieldNumber = 4,
  };
  // optional bytes token = 1;
  bool has_token() const;
  private:
  bool _internal_has_token() const;
  public:
  void clear_token();
  const std::string& token() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_token(ArgT0&& arg0, ArgT... args);
  std::string* mutable_token();
  PROTOBUF_NODISCARD std::string* release_token();
  void set_allocated_token(std::string* token);
  private:
  const std::string& _internal_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_token(const std::string& value);
  std::string* _internal_mutable_token();
  public:

  // optional .safe_browsing.ClientDownloadRequest download = 2;
  bool has_download() const;
  private:
  bool _internal_has_download() const;
  public:
  void clear_download();
  const ::safe_browsing::ClientDownloadRequest& download() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest* release_download();
  ::safe_browsing::ClientDownloadRequest* mutable_download();
  void set_allocated_download(::safe_browsing::ClientDownloadRequest* download);
  private:
  const ::safe_browsing::ClientDownloadRequest& _internal_download() const;
  ::safe_browsing::ClientDownloadRequest* _internal_mutable_download();
  public:
  void unsafe_arena_set_allocated_download(
      ::safe_browsing::ClientDownloadRequest* download);
  ::safe_browsing::ClientDownloadRequest* unsafe_arena_release_download();

  // optional int64 download_time_msec = 3;
  bool has_download_time_msec() const;
  private:
  bool _internal_has_download_time_msec() const;
  public:
  void clear_download_time_msec();
  int64_t download_time_msec() const;
  void set_download_time_msec(int64_t value);
  private:
  int64_t _internal_download_time_msec() const;
  void _internal_set_download_time_msec(int64_t value);
  public:

  // optional int64 open_time_msec = 4;
  bool has_open_time_msec() const;
  private:
  bool _internal_has_open_time_msec() const;
  public:
  void clear_open_time_msec();
  int64_t open_time_msec() const;
  void set_open_time_msec(int64_t value);
  private:
  int64_t _internal_open_time_msec() const;
  void _internal_set_open_time_msec(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.DownloadDetails)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr token_;
    ::safe_browsing::ClientDownloadRequest* download_;
    int64_t download_time_msec_;
    int64_t open_time_msec_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_OS_RegistryValue final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_OS_RegistryValue() : ClientIncidentReport_EnvironmentData_OS_RegistryValue(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_OS_RegistryValue() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_OS_RegistryValue(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_OS_RegistryValue& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_OS_RegistryValue* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_OS_RegistryValue*>(
               &_ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    38;

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

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

  ClientIncidentReport_EnvironmentData_OS_RegistryValue* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_OS_RegistryValue>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_OS_RegistryValue& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_OS_RegistryValue& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_OS_RegistryValue* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_OS_RegistryValue(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kNameFieldNumber = 1,
    kDataFieldNumber = 3,
    kTypeFieldNumber = 2,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional bytes data = 3;
  bool has_data() const;
  private:
  bool _internal_has_data() const;
  public:
  void clear_data();
  const std::string& data() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_data(ArgT0&& arg0, ArgT... args);
  std::string* mutable_data();
  PROTOBUF_NODISCARD std::string* release_data();
  void set_allocated_data(std::string* data);
  private:
  const std::string& _internal_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_data(const std::string& value);
  std::string* _internal_mutable_data();
  public:

  // optional uint32 type = 2;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  uint32_t type() const;
  void set_type(uint32_t value);
  private:
  uint32_t _internal_type() const;
  void _internal_set_type(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr data_;
    uint32_t type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_OS_RegistryKey final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_OS_RegistryKey() : ClientIncidentReport_EnvironmentData_OS_RegistryKey(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_OS_RegistryKey() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_OS_RegistryKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_OS_RegistryKey& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_OS_RegistryKey* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_OS_RegistryKey*>(
               &_ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    39;

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

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

  ClientIncidentReport_EnvironmentData_OS_RegistryKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_OS_RegistryKey>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_OS_RegistryKey& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_OS_RegistryKey& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_OS_RegistryKey* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_OS_RegistryKey(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kValueFieldNumber = 2,
    kKeyFieldNumber = 3,
    kNameFieldNumber = 1,
  };
  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue value = 2;
  int value_size() const;
  private:
  int _internal_value_size() const;
  public:
  void clear_value();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* mutable_value(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue >*
      mutable_value();
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue& _internal_value(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* _internal_add_value();
  public:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue& value(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* add_value();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue >&
      value() const;

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey key = 3;
  int key_size() const;
  private:
  int _internal_key_size() const;
  public:
  void clear_key();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* mutable_key(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >*
      mutable_key();
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& _internal_key(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* _internal_add_key();
  public:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& key(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* add_key();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >&
      key() const;

  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue > value_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey > key_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_OS final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.OS) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_OS() : ClientIncidentReport_EnvironmentData_OS(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_OS() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_OS(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_OS& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_OS* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_OS*>(
               &_ClientIncidentReport_EnvironmentData_OS_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    40;

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

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

  ClientIncidentReport_EnvironmentData_OS* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_OS>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_OS& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_OS& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_OS* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.OS";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_OS(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_EnvironmentData_OS_RegistryValue RegistryValue;
  typedef ClientIncidentReport_EnvironmentData_OS_RegistryKey RegistryKey;

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

  enum : int {
    kRegistryKeyFieldNumber = 3,
    kOsNameFieldNumber = 1,
    kOsVersionFieldNumber = 2,
    kIsEnrolledToDomainFieldNumber = 4,
  };
  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey registry_key = 3;
  int registry_key_size() const;
  private:
  int _internal_registry_key_size() const;
  public:
  void clear_registry_key();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* mutable_registry_key(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >*
      mutable_registry_key();
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& _internal_registry_key(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* _internal_add_registry_key();
  public:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& registry_key(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* add_registry_key();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >&
      registry_key() const;

  // optional string os_name = 1;
  bool has_os_name() const;
  private:
  bool _internal_has_os_name() const;
  public:
  void clear_os_name();
  const std::string& os_name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_os_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_os_name();
  PROTOBUF_NODISCARD std::string* release_os_name();
  void set_allocated_os_name(std::string* os_name);
  private:
  const std::string& _internal_os_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_os_name(const std::string& value);
  std::string* _internal_mutable_os_name();
  public:

  // optional string os_version = 2;
  bool has_os_version() const;
  private:
  bool _internal_has_os_version() const;
  public:
  void clear_os_version();
  const std::string& os_version() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_os_version(ArgT0&& arg0, ArgT... args);
  std::string* mutable_os_version();
  PROTOBUF_NODISCARD std::string* release_os_version();
  void set_allocated_os_version(std::string* os_version);
  private:
  const std::string& _internal_os_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_os_version(const std::string& value);
  std::string* _internal_mutable_os_version();
  public:

  // optional bool is_enrolled_to_domain = 4;
  bool has_is_enrolled_to_domain() const;
  private:
  bool _internal_has_is_enrolled_to_domain() const;
  public:
  void clear_is_enrolled_to_domain();
  bool is_enrolled_to_domain() const;
  void set_is_enrolled_to_domain(bool value);
  private:
  bool _internal_is_enrolled_to_domain() const;
  void _internal_set_is_enrolled_to_domain(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey > registry_key_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr os_name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr os_version_;
    bool is_enrolled_to_domain_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_Machine final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.Machine) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_Machine() : ClientIncidentReport_EnvironmentData_Machine(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_Machine() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_Machine(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_Machine& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_Machine* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Machine*>(
               &_ClientIncidentReport_EnvironmentData_Machine_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    41;

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

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

  ClientIncidentReport_EnvironmentData_Machine* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_Machine>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_Machine& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_Machine& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_Machine* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.Machine";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_Machine(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCpuArchitectureFieldNumber = 1,
    kCpuVendorFieldNumber = 2,
    kCpuidFieldNumber = 3,
  };
  // optional string cpu_architecture = 1;
  bool has_cpu_architecture() const;
  private:
  bool _internal_has_cpu_architecture() const;
  public:
  void clear_cpu_architecture();
  const std::string& cpu_architecture() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_cpu_architecture(ArgT0&& arg0, ArgT... args);
  std::string* mutable_cpu_architecture();
  PROTOBUF_NODISCARD std::string* release_cpu_architecture();
  void set_allocated_cpu_architecture(std::string* cpu_architecture);
  private:
  const std::string& _internal_cpu_architecture() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_cpu_architecture(const std::string& value);
  std::string* _internal_mutable_cpu_architecture();
  public:

  // optional string cpu_vendor = 2;
  bool has_cpu_vendor() const;
  private:
  bool _internal_has_cpu_vendor() const;
  public:
  void clear_cpu_vendor();
  const std::string& cpu_vendor() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_cpu_vendor(ArgT0&& arg0, ArgT... args);
  std::string* mutable_cpu_vendor();
  PROTOBUF_NODISCARD std::string* release_cpu_vendor();
  void set_allocated_cpu_vendor(std::string* cpu_vendor);
  private:
  const std::string& _internal_cpu_vendor() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_cpu_vendor(const std::string& value);
  std::string* _internal_mutable_cpu_vendor();
  public:

  // optional uint32 cpuid = 3;
  bool has_cpuid() const;
  private:
  bool _internal_has_cpuid() const;
  public:
  void clear_cpuid();
  uint32_t cpuid() const;
  void set_cpuid(uint32_t value);
  private:
  uint32_t _internal_cpuid() const;
  void _internal_set_cpuid(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cpu_architecture_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cpu_vendor_;
    uint32_t cpuid_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_Process_Patch final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_Process_Patch() : ClientIncidentReport_EnvironmentData_Process_Patch(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_Process_Patch() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_Process_Patch(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_Process_Patch& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_Process_Patch* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Process_Patch*>(
               &_ClientIncidentReport_EnvironmentData_Process_Patch_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    42;

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

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

  ClientIncidentReport_EnvironmentData_Process_Patch* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_Process_Patch>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_Process_Patch& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_Process_Patch& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_Process_Patch* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_Process_Patch(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kFunctionFieldNumber = 1,
    kTargetDllFieldNumber = 2,
  };
  // optional string function = 1;
  bool has_function() const;
  private:
  bool _internal_has_function() const;
  public:
  void clear_function();
  const std::string& function() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_function(ArgT0&& arg0, ArgT... args);
  std::string* mutable_function();
  PROTOBUF_NODISCARD std::string* release_function();
  void set_allocated_function(std::string* function);
  private:
  const std::string& _internal_function() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_function(const std::string& value);
  std::string* _internal_mutable_function();
  public:

  // optional string target_dll = 2;
  bool has_target_dll() const;
  private:
  bool _internal_has_target_dll() const;
  public:
  void clear_target_dll();
  const std::string& target_dll() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_target_dll(ArgT0&& arg0, ArgT... args);
  std::string* mutable_target_dll();
  PROTOBUF_NODISCARD std::string* release_target_dll();
  void set_allocated_target_dll(std::string* target_dll);
  private:
  const std::string& _internal_target_dll() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_target_dll(const std::string& value);
  std::string* _internal_mutable_target_dll();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr function_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr target_dll_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_Process_NetworkProvider final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_Process_NetworkProvider() : ClientIncidentReport_EnvironmentData_Process_NetworkProvider(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_Process_NetworkProvider() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_Process_NetworkProvider(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_Process_NetworkProvider& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_Process_NetworkProvider* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Process_NetworkProvider*>(
               &_ClientIncidentReport_EnvironmentData_Process_NetworkProvider_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    43;

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

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

  ClientIncidentReport_EnvironmentData_Process_NetworkProvider* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_Process_NetworkProvider>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_Process_NetworkProvider& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_Process_NetworkProvider& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_Process_NetworkProvider* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_Process_NetworkProvider(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
 private:
  class _Internal;

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

class ClientIncidentReport_EnvironmentData_Process_Dll final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_Process_Dll() : ClientIncidentReport_EnvironmentData_Process_Dll(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_Process_Dll() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_Process_Dll(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_Process_Dll& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_Process_Dll* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Process_Dll*>(
               &_ClientIncidentReport_EnvironmentData_Process_Dll_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    44;

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

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

  ClientIncidentReport_EnvironmentData_Process_Dll* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_Process_Dll>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_Process_Dll& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_Process_Dll& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_Process_Dll* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_Process_Dll(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_EnvironmentData_Process_Dll_Feature Feature;
  static constexpr Feature UNKNOWN =
    ClientIncidentReport_EnvironmentData_Process_Dll_Feature_UNKNOWN;
  static constexpr Feature LSP =
    ClientIncidentReport_EnvironmentData_Process_Dll_Feature_LSP;
  static inline bool Feature_IsValid(int value) {
    return ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid(value);
  }
  static constexpr Feature Feature_MIN =
    ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Feature_MIN;
  static constexpr Feature Feature_MAX =
    ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Feature_MAX;
  static constexpr int Feature_ARRAYSIZE =
    ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Feature_ARRAYSIZE;
  template<typename T>
  static inline const std::string& Feature_Name(T enum_t_value) {
    static_assert(::std::is_same<T, Feature>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function Feature_Name.");
    return ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Name(enum_t_value);
  }
  static inline bool Feature_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      Feature* value) {
    return ClientIncidentReport_EnvironmentData_Process_Dll_Feature_Parse(name, value);
  }

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

  enum : int {
    kFeatureFieldNumber = 4,
    kPathFieldNumber = 1,
    kImageHeadersFieldNumber = 5,
    kBaseAddressFieldNumber = 2,
    kLengthFieldNumber = 3,
  };
  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.Feature feature = 4;
  int feature_size() const;
  private:
  int _internal_feature_size() const;
  public:
  void clear_feature();
  private:
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature _internal_feature(int index) const;
  void _internal_add_feature(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_feature();
  public:
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature feature(int index) const;
  void set_feature(int index, ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature value);
  void add_feature(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& feature() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_feature();

  // optional string path = 1;
  bool has_path() const;
  private:
  bool _internal_has_path() const;
  public:
  void clear_path();
  const std::string& path() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_path(ArgT0&& arg0, ArgT... args);
  std::string* mutable_path();
  PROTOBUF_NODISCARD std::string* release_path();
  void set_allocated_path(std::string* path);
  private:
  const std::string& _internal_path() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_path(const std::string& value);
  std::string* _internal_mutable_path();
  public:

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
  bool has_image_headers() const;
  private:
  bool _internal_has_image_headers() const;
  public:
  void clear_image_headers();
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& image_headers() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientDownloadRequest_ImageHeaders* release_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* mutable_image_headers();
  void set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  private:
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& _internal_image_headers() const;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _internal_mutable_image_headers();
  public:
  void unsafe_arena_set_allocated_image_headers(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* unsafe_arena_release_image_headers();

  // optional uint64 base_address = 2;
  bool has_base_address() const;
  private:
  bool _internal_has_base_address() const;
  public:
  void clear_base_address();
  uint64_t base_address() const;
  void set_base_address(uint64_t value);
  private:
  uint64_t _internal_base_address() const;
  void _internal_set_base_address(uint64_t value);
  public:

  // optional uint32 length = 3;
  bool has_length() const;
  private:
  bool _internal_has_length() const;
  public:
  void clear_length();
  uint32_t length() const;
  void set_length(uint32_t value);
  private:
  uint32_t _internal_length() const;
  void _internal_set_length(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> feature_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr path_;
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
    uint64_t base_address_;
    uint32_t length_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification() : ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification*>(
               &_ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    45;

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

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

  ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kModifiedBytesFieldNumber = 3,
    kExportNameFieldNumber = 4,
    kFileOffsetFieldNumber = 1,
    kByteCountFieldNumber = 2,
  };
  // optional bytes modified_bytes = 3;
  bool has_modified_bytes() const;
  private:
  bool _internal_has_modified_bytes() const;
  public:
  void clear_modified_bytes();
  const std::string& modified_bytes() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_modified_bytes(ArgT0&& arg0, ArgT... args);
  std::string* mutable_modified_bytes();
  PROTOBUF_NODISCARD std::string* release_modified_bytes();
  void set_allocated_modified_bytes(std::string* modified_bytes);
  private:
  const std::string& _internal_modified_bytes() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_modified_bytes(const std::string& value);
  std::string* _internal_mutable_modified_bytes();
  public:

  // optional string export_name = 4;
  bool has_export_name() const;
  private:
  bool _internal_has_export_name() const;
  public:
  void clear_export_name();
  const std::string& export_name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_export_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_export_name();
  PROTOBUF_NODISCARD std::string* release_export_name();
  void set_allocated_export_name(std::string* export_name);
  private:
  const std::string& _internal_export_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_export_name(const std::string& value);
  std::string* _internal_mutable_export_name();
  public:

  // optional uint32 file_offset = 1;
  bool has_file_offset() const;
  private:
  bool _internal_has_file_offset() const;
  public:
  void clear_file_offset();
  uint32_t file_offset() const;
  void set_file_offset(uint32_t value);
  private:
  uint32_t _internal_file_offset() const;
  void _internal_set_file_offset(uint32_t value);
  public:

  // optional int32 byte_count = 2;
  bool has_byte_count() const;
  private:
  bool _internal_has_byte_count() const;
  public:
  void clear_byte_count();
  int32_t byte_count() const;
  void set_byte_count(int32_t value);
  private:
  int32_t _internal_byte_count() const;
  void _internal_set_byte_count(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr modified_bytes_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr export_name_;
    uint32_t file_offset_;
    int32_t byte_count_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_Process_ModuleState final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_Process_ModuleState() : ClientIncidentReport_EnvironmentData_Process_ModuleState(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_Process_ModuleState() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_Process_ModuleState(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_Process_ModuleState& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_Process_ModuleState* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Process_ModuleState*>(
               &_ClientIncidentReport_EnvironmentData_Process_ModuleState_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    46;

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

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

  ClientIncidentReport_EnvironmentData_Process_ModuleState* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_Process_ModuleState>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_Process_ModuleState& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_Process_ModuleState& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_Process_ModuleState* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_Process_ModuleState(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification Modification;

  typedef ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ModifiedState;
  static constexpr ModifiedState UNKNOWN =
    ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_UNKNOWN;
  static constexpr ModifiedState MODULE_STATE_UNKNOWN =
    ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_MODULE_STATE_UNKNOWN;
  static constexpr ModifiedState MODULE_STATE_UNMODIFIED =
    ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_MODULE_STATE_UNMODIFIED;
  static constexpr ModifiedState MODULE_STATE_MODIFIED =
    ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_MODULE_STATE_MODIFIED;
  static inline bool ModifiedState_IsValid(int value) {
    return ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_IsValid(value);
  }
  static constexpr ModifiedState ModifiedState_MIN =
    ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_ModifiedState_MIN;
  static constexpr ModifiedState ModifiedState_MAX =
    ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_ModifiedState_MAX;
  static constexpr int ModifiedState_ARRAYSIZE =
    ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_ModifiedState_ARRAYSIZE;
  template<typename T>
  static inline const std::string& ModifiedState_Name(T enum_t_value) {
    static_assert(::std::is_same<T, ModifiedState>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function ModifiedState_Name.");
    return ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_Name(enum_t_value);
  }
  static inline bool ModifiedState_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      ModifiedState* value) {
    return ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_Parse(name, value);
  }

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

  enum : int {
    kOBSOLETEModifiedExportFieldNumber = 3,
    kModificationFieldNumber = 4,
    kNameFieldNumber = 1,
    kModifiedStateFieldNumber = 2,
  };
  // repeated string OBSOLETE_modified_export = 3;
  int obsolete_modified_export_size() const;
  private:
  int _internal_obsolete_modified_export_size() const;
  public:
  void clear_obsolete_modified_export();
  const std::string& obsolete_modified_export(int index) const;
  std::string* mutable_obsolete_modified_export(int index);
  void set_obsolete_modified_export(int index, const std::string& value);
  void set_obsolete_modified_export(int index, std::string&& value);
  void set_obsolete_modified_export(int index, const char* value);
  void set_obsolete_modified_export(int index, const char* value, size_t size);
  std::string* add_obsolete_modified_export();
  void add_obsolete_modified_export(const std::string& value);
  void add_obsolete_modified_export(std::string&& value);
  void add_obsolete_modified_export(const char* value);
  void add_obsolete_modified_export(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& obsolete_modified_export() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_obsolete_modified_export();
  private:
  const std::string& _internal_obsolete_modified_export(int index) const;
  std::string* _internal_add_obsolete_modified_export();
  public:

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification modification = 4;
  int modification_size() const;
  private:
  int _internal_modification_size() const;
  public:
  void clear_modification();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* mutable_modification(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification >*
      mutable_modification();
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& _internal_modification(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* _internal_add_modification();
  public:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& modification(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* add_modification();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification >&
      modification() const;

  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.ModifiedState modified_state = 2;
  bool has_modified_state() const;
  private:
  bool _internal_has_modified_state() const;
  public:
  void clear_modified_state();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState modified_state() const;
  void set_modified_state(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState value);
  private:
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState _internal_modified_state() const;
  void _internal_set_modified_state(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> obsolete_modified_export_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification > modification_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    int modified_state_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData_Process final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData.Process) */ {
 public:
  inline ClientIncidentReport_EnvironmentData_Process() : ClientIncidentReport_EnvironmentData_Process(nullptr) {}
  ~ClientIncidentReport_EnvironmentData_Process() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData_Process(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData_Process& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData_Process* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Process*>(
               &_ClientIncidentReport_EnvironmentData_Process_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    47;

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

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

  ClientIncidentReport_EnvironmentData_Process* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData_Process>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData_Process& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData_Process& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData_Process* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData.Process";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData_Process(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_EnvironmentData_Process_Patch Patch;
  typedef ClientIncidentReport_EnvironmentData_Process_NetworkProvider NetworkProvider;
  typedef ClientIncidentReport_EnvironmentData_Process_Dll Dll;
  typedef ClientIncidentReport_EnvironmentData_Process_ModuleState ModuleState;

  typedef ClientIncidentReport_EnvironmentData_Process_Channel Channel;
  static constexpr Channel CHANNEL_UNKNOWN =
    ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_UNKNOWN;
  static constexpr Channel CHANNEL_CANARY =
    ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_CANARY;
  static constexpr Channel CHANNEL_DEV =
    ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_DEV;
  static constexpr Channel CHANNEL_BETA =
    ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_BETA;
  static constexpr Channel CHANNEL_STABLE =
    ClientIncidentReport_EnvironmentData_Process_Channel_CHANNEL_STABLE;
  static inline bool Channel_IsValid(int value) {
    return ClientIncidentReport_EnvironmentData_Process_Channel_IsValid(value);
  }
  static constexpr Channel Channel_MIN =
    ClientIncidentReport_EnvironmentData_Process_Channel_Channel_MIN;
  static constexpr Channel Channel_MAX =
    ClientIncidentReport_EnvironmentData_Process_Channel_Channel_MAX;
  static constexpr int Channel_ARRAYSIZE =
    ClientIncidentReport_EnvironmentData_Process_Channel_Channel_ARRAYSIZE;
  template<typename T>
  static inline const std::string& Channel_Name(T enum_t_value) {
    static_assert(::std::is_same<T, Channel>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function Channel_Name.");
    return ClientIncidentReport_EnvironmentData_Process_Channel_Name(enum_t_value);
  }
  static inline bool Channel_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      Channel* value) {
    return ClientIncidentReport_EnvironmentData_Process_Channel_Parse(name, value);
  }

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

  enum : int {
    kOBSOLETEDllsFieldNumber = 2,
    kPatchesFieldNumber = 3,
    kNetworkProvidersFieldNumber = 4,
    kDllFieldNumber = 9,
    kBlacklistedDllFieldNumber = 10,
    kModuleStateFieldNumber = 11,
    kVersionFieldNumber = 1,
    kUptimeMsecFieldNumber = 6,
    kChromeUpdateChannelFieldNumber = 5,
    kMetricsConsentFieldNumber = 7,
    kOBSOLETEExtendedConsentFieldNumber = 8,
    kOBSOLETEFieldTrialParticipantFieldNumber = 12,
  };
  // repeated string OBSOLETE_dlls = 2;
  int obsolete_dlls_size() const;
  private:
  int _internal_obsolete_dlls_size() const;
  public:
  void clear_obsolete_dlls();
  const std::string& obsolete_dlls(int index) const;
  std::string* mutable_obsolete_dlls(int index);
  void set_obsolete_dlls(int index, const std::string& value);
  void set_obsolete_dlls(int index, std::string&& value);
  void set_obsolete_dlls(int index, const char* value);
  void set_obsolete_dlls(int index, const char* value, size_t size);
  std::string* add_obsolete_dlls();
  void add_obsolete_dlls(const std::string& value);
  void add_obsolete_dlls(std::string&& value);
  void add_obsolete_dlls(const char* value);
  void add_obsolete_dlls(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& obsolete_dlls() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_obsolete_dlls();
  private:
  const std::string& _internal_obsolete_dlls(int index) const;
  std::string* _internal_add_obsolete_dlls();
  public:

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch patches = 3;
  int patches_size() const;
  private:
  int _internal_patches_size() const;
  public:
  void clear_patches();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* mutable_patches(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch >*
      mutable_patches();
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch& _internal_patches(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* _internal_add_patches();
  public:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch& patches(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* add_patches();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch >&
      patches() const;

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider network_providers = 4;
  int network_providers_size() const;
  private:
  int _internal_network_providers_size() const;
  public:
  void clear_network_providers();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* mutable_network_providers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider >*
      mutable_network_providers();
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider& _internal_network_providers(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* _internal_add_network_providers();
  public:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider& network_providers(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* add_network_providers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider >&
      network_providers() const;

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll dll = 9;
  int dll_size() const;
  private:
  int _internal_dll_size() const;
  public:
  void clear_dll();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* mutable_dll(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll >*
      mutable_dll();
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll& _internal_dll(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* _internal_add_dll();
  public:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll& dll(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* add_dll();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll >&
      dll() const;

  // repeated string blacklisted_dll = 10;
  int blacklisted_dll_size() const;
  private:
  int _internal_blacklisted_dll_size() const;
  public:
  void clear_blacklisted_dll();
  const std::string& blacklisted_dll(int index) const;
  std::string* mutable_blacklisted_dll(int index);
  void set_blacklisted_dll(int index, const std::string& value);
  void set_blacklisted_dll(int index, std::string&& value);
  void set_blacklisted_dll(int index, const char* value);
  void set_blacklisted_dll(int index, const char* value, size_t size);
  std::string* add_blacklisted_dll();
  void add_blacklisted_dll(const std::string& value);
  void add_blacklisted_dll(std::string&& value);
  void add_blacklisted_dll(const char* value);
  void add_blacklisted_dll(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& blacklisted_dll() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_blacklisted_dll();
  private:
  const std::string& _internal_blacklisted_dll(int index) const;
  std::string* _internal_add_blacklisted_dll();
  public:

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState module_state = 11;
  int module_state_size() const;
  private:
  int _internal_module_state_size() const;
  public:
  void clear_module_state();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* mutable_module_state(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState >*
      mutable_module_state();
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState& _internal_module_state(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* _internal_add_module_state();
  public:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState& module_state(int index) const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* add_module_state();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState >&
      module_state() const;

  // optional string version = 1;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  const std::string& version() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_version(ArgT0&& arg0, ArgT... args);
  std::string* mutable_version();
  PROTOBUF_NODISCARD std::string* release_version();
  void set_allocated_version(std::string* version);
  private:
  const std::string& _internal_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_version(const std::string& value);
  std::string* _internal_mutable_version();
  public:

  // optional int64 uptime_msec = 6;
  bool has_uptime_msec() const;
  private:
  bool _internal_has_uptime_msec() const;
  public:
  void clear_uptime_msec();
  int64_t uptime_msec() const;
  void set_uptime_msec(int64_t value);
  private:
  int64_t _internal_uptime_msec() const;
  void _internal_set_uptime_msec(int64_t value);
  public:

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Channel chrome_update_channel = 5;
  bool has_chrome_update_channel() const;
  private:
  bool _internal_has_chrome_update_channel() const;
  public:
  void clear_chrome_update_channel();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel chrome_update_channel() const;
  void set_chrome_update_channel(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel value);
  private:
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel _internal_chrome_update_channel() const;
  void _internal_set_chrome_update_channel(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel value);
  public:

  // optional bool metrics_consent = 7;
  bool has_metrics_consent() const;
  private:
  bool _internal_has_metrics_consent() const;
  public:
  void clear_metrics_consent();
  bool metrics_consent() const;
  void set_metrics_consent(bool value);
  private:
  bool _internal_metrics_consent() const;
  void _internal_set_metrics_consent(bool value);
  public:

  // optional bool OBSOLETE_extended_consent = 8;
  bool has_obsolete_extended_consent() const;
  private:
  bool _internal_has_obsolete_extended_consent() const;
  public:
  void clear_obsolete_extended_consent();
  bool obsolete_extended_consent() const;
  void set_obsolete_extended_consent(bool value);
  private:
  bool _internal_obsolete_extended_consent() const;
  void _internal_set_obsolete_extended_consent(bool value);
  public:

  // optional bool OBSOLETE_field_trial_participant = 12;
  bool has_obsolete_field_trial_participant() const;
  private:
  bool _internal_has_obsolete_field_trial_participant() const;
  public:
  void clear_obsolete_field_trial_participant();
  bool obsolete_field_trial_participant() const;
  void set_obsolete_field_trial_participant(bool value);
  private:
  bool _internal_obsolete_field_trial_participant() const;
  void _internal_set_obsolete_field_trial_participant(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> obsolete_dlls_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch > patches_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider > network_providers_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll > dll_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> blacklisted_dll_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState > module_state_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr version_;
    int64_t uptime_msec_;
    int chrome_update_channel_;
    bool metrics_consent_;
    bool obsolete_extended_consent_;
    bool obsolete_field_trial_participant_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_EnvironmentData final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData) */ {
 public:
  inline ClientIncidentReport_EnvironmentData() : ClientIncidentReport_EnvironmentData(nullptr) {}
  ~ClientIncidentReport_EnvironmentData() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_EnvironmentData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_EnvironmentData& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_EnvironmentData* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_EnvironmentData*>(
               &_ClientIncidentReport_EnvironmentData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    48;

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

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

  ClientIncidentReport_EnvironmentData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_EnvironmentData>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_EnvironmentData& from);
  void MergeFrom(const ClientIncidentReport_EnvironmentData& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_EnvironmentData* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.EnvironmentData";
  }
  protected:
  explicit ClientIncidentReport_EnvironmentData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_EnvironmentData_OS OS;
  typedef ClientIncidentReport_EnvironmentData_Machine Machine;
  typedef ClientIncidentReport_EnvironmentData_Process Process;

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

  enum : int {
    kOsFieldNumber = 1,
    kMachineFieldNumber = 2,
    kProcessFieldNumber = 3,
  };
  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.OS os = 1;
  bool has_os() const;
  private:
  bool _internal_has_os() const;
  public:
  void clear_os();
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS& os() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* release_os();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* mutable_os();
  void set_allocated_os(::safe_browsing::ClientIncidentReport_EnvironmentData_OS* os);
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS& _internal_os() const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* _internal_mutable_os();
  public:
  void unsafe_arena_set_allocated_os(
      ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* os);
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* unsafe_arena_release_os();

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Machine machine = 2;
  bool has_machine() const;
  private:
  bool _internal_has_machine() const;
  public:
  void clear_machine();
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine& machine() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* release_machine();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* mutable_machine();
  void set_allocated_machine(::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* machine);
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine& _internal_machine() const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* _internal_mutable_machine();
  public:
  void unsafe_arena_set_allocated_machine(
      ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* machine);
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* unsafe_arena_release_machine();

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process process = 3;
  bool has_process() const;
  private:
  bool _internal_has_process() const;
  public:
  void clear_process();
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process& process() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* release_process();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* mutable_process();
  void set_allocated_process(::safe_browsing::ClientIncidentReport_EnvironmentData_Process* process);
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process& _internal_process() const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* _internal_mutable_process();
  public:
  void unsafe_arena_set_allocated_process(
      ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* process);
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* unsafe_arena_release_process();

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* os_;
    ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* machine_;
    ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* process_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_ExtensionData_ExtensionInfo final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo) */ {
 public:
  inline ClientIncidentReport_ExtensionData_ExtensionInfo() : ClientIncidentReport_ExtensionData_ExtensionInfo(nullptr) {}
  ~ClientIncidentReport_ExtensionData_ExtensionInfo() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_ExtensionData_ExtensionInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_ExtensionData_ExtensionInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_ExtensionData_ExtensionInfo* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_ExtensionData_ExtensionInfo*>(
               &_ClientIncidentReport_ExtensionData_ExtensionInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    49;

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

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

  ClientIncidentReport_ExtensionData_ExtensionInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_ExtensionData_ExtensionInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_ExtensionData_ExtensionInfo& from);
  void MergeFrom(const ClientIncidentReport_ExtensionData_ExtensionInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_ExtensionData_ExtensionInfo* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo";
  }
  protected:
  explicit ClientIncidentReport_ExtensionData_ExtensionInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ExtensionState;
  static constexpr ExtensionState STATE_UNKNOWN =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_UNKNOWN;
  static constexpr ExtensionState STATE_ENABLED =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_ENABLED;
  static constexpr ExtensionState STATE_DISABLED =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_DISABLED;
  static constexpr ExtensionState STATE_BLACKLISTED =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_BLACKLISTED;
  static constexpr ExtensionState STATE_BLOCKED =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_BLOCKED;
  static constexpr ExtensionState STATE_TERMINATED =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_TERMINATED;
  static inline bool ExtensionState_IsValid(int value) {
    return ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_IsValid(value);
  }
  static constexpr ExtensionState ExtensionState_MIN =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_MIN;
  static constexpr ExtensionState ExtensionState_MAX =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_MAX;
  static constexpr int ExtensionState_ARRAYSIZE =
    ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_ARRAYSIZE;
  template<typename T>
  static inline const std::string& ExtensionState_Name(T enum_t_value) {
    static_assert(::std::is_same<T, ExtensionState>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function ExtensionState_Name.");
    return ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_Name(enum_t_value);
  }
  static inline bool ExtensionState_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      ExtensionState* value) {
    return ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_Parse(name, value);
  }

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

  enum : int {
    kIdFieldNumber = 1,
    kVersionFieldNumber = 2,
    kNameFieldNumber = 3,
    kDescriptionFieldNumber = 4,
    kUpdateUrlFieldNumber = 7,
    kManifestFieldNumber = 19,
    kStateFieldNumber = 5,
    kTypeFieldNumber = 6,
    kHasSignatureValidationFieldNumber = 8,
    kSignatureIsValidFieldNumber = 9,
    kInstalledByCustodianFieldNumber = 10,
    kInstalledByDefaultFieldNumber = 11,
    kInstalledByOemFieldNumber = 12,
    kFromBookmarkFieldNumber = 13,
    kFromWebstoreFieldNumber = 14,
    kConvertedFromUserScriptFieldNumber = 15,
    kInstallTimeMsecFieldNumber = 17,
    kMayBeUntrustedFieldNumber = 16,
    kManifestLocationTypeFieldNumber = 18,
  };
  // optional string id = 1;
  bool has_id() const;
  private:
  bool _internal_has_id() const;
  public:
  void clear_id();
  const std::string& id() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_id(ArgT0&& arg0, ArgT... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* id);
  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(const std::string& value);
  std::string* _internal_mutable_id();
  public:

  // optional string version = 2;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  const std::string& version() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_version(ArgT0&& arg0, ArgT... args);
  std::string* mutable_version();
  PROTOBUF_NODISCARD std::string* release_version();
  void set_allocated_version(std::string* version);
  private:
  const std::string& _internal_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_version(const std::string& value);
  std::string* _internal_mutable_version();
  public:

  // optional string name = 3;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional string description = 4;
  bool has_description() const;
  private:
  bool _internal_has_description() const;
  public:
  void clear_description();
  const std::string& description() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_description(ArgT0&& arg0, ArgT... args);
  std::string* mutable_description();
  PROTOBUF_NODISCARD std::string* release_description();
  void set_allocated_description(std::string* description);
  private:
  const std::string& _internal_description() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_description(const std::string& value);
  std::string* _internal_mutable_description();
  public:

  // optional string update_url = 7;
  bool has_update_url() const;
  private:
  bool _internal_has_update_url() const;
  public:
  void clear_update_url();
  const std::string& update_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_update_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_update_url();
  PROTOBUF_NODISCARD std::string* release_update_url();
  void set_allocated_update_url(std::string* update_url);
  private:
  const std::string& _internal_update_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_update_url(const std::string& value);
  std::string* _internal_mutable_update_url();
  public:

  // optional string manifest = 19;
  bool has_manifest() const;
  private:
  bool _internal_has_manifest() const;
  public:
  void clear_manifest();
  const std::string& manifest() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_manifest(ArgT0&& arg0, ArgT... args);
  std::string* mutable_manifest();
  PROTOBUF_NODISCARD std::string* release_manifest();
  void set_allocated_manifest(std::string* manifest);
  private:
  const std::string& _internal_manifest() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_manifest(const std::string& value);
  std::string* _internal_mutable_manifest();
  public:

  // optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.ExtensionState state = 5 [default = STATE_UNKNOWN];
  bool has_state() const;
  private:
  bool _internal_has_state() const;
  public:
  void clear_state();
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState state() const;
  void set_state(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState value);
  private:
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState _internal_state() const;
  void _internal_set_state(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState value);
  public:

  // optional int32 type = 6;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  int32_t type() const;
  void set_type(int32_t value);
  private:
  int32_t _internal_type() const;
  void _internal_set_type(int32_t value);
  public:

  // optional bool has_signature_validation = 8;
  bool has_has_signature_validation() const;
  private:
  bool _internal_has_has_signature_validation() const;
  public:
  void clear_has_signature_validation();
  bool has_signature_validation() const;
  void set_has_signature_validation(bool value);
  private:
  bool _internal_has_signature_validation() const;
  void _internal_set_has_signature_validation(bool value);
  public:

  // optional bool signature_is_valid = 9;
  bool has_signature_is_valid() const;
  private:
  bool _internal_has_signature_is_valid() const;
  public:
  void clear_signature_is_valid();
  bool signature_is_valid() const;
  void set_signature_is_valid(bool value);
  private:
  bool _internal_signature_is_valid() const;
  void _internal_set_signature_is_valid(bool value);
  public:

  // optional bool installed_by_custodian = 10;
  bool has_installed_by_custodian() const;
  private:
  bool _internal_has_installed_by_custodian() const;
  public:
  void clear_installed_by_custodian();
  bool installed_by_custodian() const;
  void set_installed_by_custodian(bool value);
  private:
  bool _internal_installed_by_custodian() const;
  void _internal_set_installed_by_custodian(bool value);
  public:

  // optional bool installed_by_default = 11;
  bool has_installed_by_default() const;
  private:
  bool _internal_has_installed_by_default() const;
  public:
  void clear_installed_by_default();
  bool installed_by_default() const;
  void set_installed_by_default(bool value);
  private:
  bool _internal_installed_by_default() const;
  void _internal_set_installed_by_default(bool value);
  public:

  // optional bool installed_by_oem = 12;
  bool has_installed_by_oem() const;
  private:
  bool _internal_has_installed_by_oem() const;
  public:
  void clear_installed_by_oem();
  bool installed_by_oem() const;
  void set_installed_by_oem(bool value);
  private:
  bool _internal_installed_by_oem() const;
  void _internal_set_installed_by_oem(bool value);
  public:

  // optional bool from_bookmark = 13;
  bool has_from_bookmark() const;
  private:
  bool _internal_has_from_bookmark() const;
  public:
  void clear_from_bookmark();
  bool from_bookmark() const;
  void set_from_bookmark(bool value);
  private:
  bool _internal_from_bookmark() const;
  void _internal_set_from_bookmark(bool value);
  public:

  // optional bool from_webstore = 14;
  bool has_from_webstore() const;
  private:
  bool _internal_has_from_webstore() const;
  public:
  void clear_from_webstore();
  bool from_webstore() const;
  void set_from_webstore(bool value);
  private:
  bool _internal_from_webstore() const;
  void _internal_set_from_webstore(bool value);
  public:

  // optional bool converted_from_user_script = 15;
  bool has_converted_from_user_script() const;
  private:
  bool _internal_has_converted_from_user_script() const;
  public:
  void clear_converted_from_user_script();
  bool converted_from_user_script() const;
  void set_converted_from_user_script(bool value);
  private:
  bool _internal_converted_from_user_script() const;
  void _internal_set_converted_from_user_script(bool value);
  public:

  // optional int64 install_time_msec = 17;
  bool has_install_time_msec() const;
  private:
  bool _internal_has_install_time_msec() const;
  public:
  void clear_install_time_msec();
  int64_t install_time_msec() const;
  void set_install_time_msec(int64_t value);
  private:
  int64_t _internal_install_time_msec() const;
  void _internal_set_install_time_msec(int64_t value);
  public:

  // optional bool may_be_untrusted = 16;
  bool has_may_be_untrusted() const;
  private:
  bool _internal_has_may_be_untrusted() const;
  public:
  void clear_may_be_untrusted();
  bool may_be_untrusted() const;
  void set_may_be_untrusted(bool value);
  private:
  bool _internal_may_be_untrusted() const;
  void _internal_set_may_be_untrusted(bool value);
  public:

  // optional int32 manifest_location_type = 18;
  bool has_manifest_location_type() const;
  private:
  bool _internal_has_manifest_location_type() const;
  public:
  void clear_manifest_location_type();
  int32_t manifest_location_type() const;
  void set_manifest_location_type(int32_t value);
  private:
  int32_t _internal_manifest_location_type() const;
  void _internal_set_manifest_location_type(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr version_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr update_url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr manifest_;
    int state_;
    int32_t type_;
    bool has_signature_validation_;
    bool signature_is_valid_;
    bool installed_by_custodian_;
    bool installed_by_default_;
    bool installed_by_oem_;
    bool from_bookmark_;
    bool from_webstore_;
    bool converted_from_user_script_;
    int64_t install_time_msec_;
    bool may_be_untrusted_;
    int32_t manifest_location_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_ExtensionData final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.ExtensionData) */ {
 public:
  inline ClientIncidentReport_ExtensionData() : ClientIncidentReport_ExtensionData(nullptr) {}
  ~ClientIncidentReport_ExtensionData() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_ExtensionData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_ExtensionData& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_ExtensionData* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_ExtensionData*>(
               &_ClientIncidentReport_ExtensionData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    50;

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

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

  ClientIncidentReport_ExtensionData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_ExtensionData>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_ExtensionData& from);
  void MergeFrom(const ClientIncidentReport_ExtensionData& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_ExtensionData* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.ExtensionData";
  }
  protected:
  explicit ClientIncidentReport_ExtensionData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_ExtensionData_ExtensionInfo ExtensionInfo;

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

  enum : int {
    kLastInstalledExtensionFieldNumber = 1,
  };
  // optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo last_installed_extension = 1;
  bool has_last_installed_extension() const;
  private:
  bool _internal_has_last_installed_extension() const;
  public:
  void clear_last_installed_extension();
  const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo& last_installed_extension() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* release_last_installed_extension();
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* mutable_last_installed_extension();
  void set_allocated_last_installed_extension(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* last_installed_extension);
  private:
  const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo& _internal_last_installed_extension() const;
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* _internal_mutable_last_installed_extension();
  public:
  void unsafe_arena_set_allocated_last_installed_extension(
      ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* last_installed_extension);
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* unsafe_arena_release_last_installed_extension();

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.ExtensionData)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* last_installed_extension_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport_NonBinaryDownloadDetails final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails) */ {
 public:
  inline ClientIncidentReport_NonBinaryDownloadDetails() : ClientIncidentReport_NonBinaryDownloadDetails(nullptr) {}
  ~ClientIncidentReport_NonBinaryDownloadDetails() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport_NonBinaryDownloadDetails(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport_NonBinaryDownloadDetails& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport_NonBinaryDownloadDetails* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport_NonBinaryDownloadDetails*>(
               &_ClientIncidentReport_NonBinaryDownloadDetails_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    51;

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

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

  ClientIncidentReport_NonBinaryDownloadDetails* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport_NonBinaryDownloadDetails>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport_NonBinaryDownloadDetails& from);
  void MergeFrom(const ClientIncidentReport_NonBinaryDownloadDetails& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport_NonBinaryDownloadDetails* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails";
  }
  protected:
  explicit ClientIncidentReport_NonBinaryDownloadDetails(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kFileTypeFieldNumber = 1,
    kUrlSpecSha256FieldNumber = 2,
    kHostFieldNumber = 3,
    kLengthFieldNumber = 4,
  };
  // optional string file_type = 1;
  bool has_file_type() const;
  private:
  bool _internal_has_file_type() const;
  public:
  void clear_file_type();
  const std::string& file_type() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_file_type(ArgT0&& arg0, ArgT... args);
  std::string* mutable_file_type();
  PROTOBUF_NODISCARD std::string* release_file_type();
  void set_allocated_file_type(std::string* file_type);
  private:
  const std::string& _internal_file_type() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_file_type(const std::string& value);
  std::string* _internal_mutable_file_type();
  public:

  // optional bytes url_spec_sha256 = 2;
  bool has_url_spec_sha256() const;
  private:
  bool _internal_has_url_spec_sha256() const;
  public:
  void clear_url_spec_sha256();
  const std::string& url_spec_sha256() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url_spec_sha256(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url_spec_sha256();
  PROTOBUF_NODISCARD std::string* release_url_spec_sha256();
  void set_allocated_url_spec_sha256(std::string* url_spec_sha256);
  private:
  const std::string& _internal_url_spec_sha256() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url_spec_sha256(const std::string& value);
  std::string* _internal_mutable_url_spec_sha256();
  public:

  // optional string host = 3;
  bool has_host() const;
  private:
  bool _internal_has_host() const;
  public:
  void clear_host();
  const std::string& host() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_host(ArgT0&& arg0, ArgT... args);
  std::string* mutable_host();
  PROTOBUF_NODISCARD std::string* release_host();
  void set_allocated_host(std::string* host);
  private:
  const std::string& _internal_host() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_host(const std::string& value);
  std::string* _internal_mutable_host();
  public:

  // optional int64 length = 4;
  bool has_length() const;
  private:
  bool _internal_has_length() const;
  public:
  void clear_length();
  int64_t length() const;
  void set_length(int64_t value);
  private:
  int64_t _internal_length() const;
  void _internal_set_length(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr file_type_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_spec_sha256_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr host_;
    int64_t length_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentReport final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport) */ {
 public:
  inline ClientIncidentReport() : ClientIncidentReport(nullptr) {}
  ~ClientIncidentReport() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentReport(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentReport& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentReport* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentReport*>(
               &_ClientIncidentReport_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    52;

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

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

  ClientIncidentReport* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentReport>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentReport& from);
  void MergeFrom(const ClientIncidentReport& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentReport* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentReport";
  }
  protected:
  explicit ClientIncidentReport(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentReport_IncidentData IncidentData;
  typedef ClientIncidentReport_DownloadDetails DownloadDetails;
  typedef ClientIncidentReport_EnvironmentData EnvironmentData;
  typedef ClientIncidentReport_ExtensionData ExtensionData;
  typedef ClientIncidentReport_NonBinaryDownloadDetails NonBinaryDownloadDetails;

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

  enum : int {
    kIncidentFieldNumber = 1,
    kDownloadFieldNumber = 2,
    kEnvironmentFieldNumber = 3,
    kPopulationFieldNumber = 7,
    kExtensionDataFieldNumber = 8,
    kNonBinaryDownloadFieldNumber = 9,
  };
  // repeated .safe_browsing.ClientIncidentReport.IncidentData incident = 1;
  int incident_size() const;
  private:
  int _internal_incident_size() const;
  public:
  void clear_incident();
  ::safe_browsing::ClientIncidentReport_IncidentData* mutable_incident(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData >*
      mutable_incident();
  private:
  const ::safe_browsing::ClientIncidentReport_IncidentData& _internal_incident(int index) const;
  ::safe_browsing::ClientIncidentReport_IncidentData* _internal_add_incident();
  public:
  const ::safe_browsing::ClientIncidentReport_IncidentData& incident(int index) const;
  ::safe_browsing::ClientIncidentReport_IncidentData* add_incident();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData >&
      incident() const;

  // optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
  bool has_download() const;
  private:
  bool _internal_has_download() const;
  public:
  void clear_download();
  const ::safe_browsing::ClientIncidentReport_DownloadDetails& download() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_DownloadDetails* release_download();
  ::safe_browsing::ClientIncidentReport_DownloadDetails* mutable_download();
  void set_allocated_download(::safe_browsing::ClientIncidentReport_DownloadDetails* download);
  private:
  const ::safe_browsing::ClientIncidentReport_DownloadDetails& _internal_download() const;
  ::safe_browsing::ClientIncidentReport_DownloadDetails* _internal_mutable_download();
  public:
  void unsafe_arena_set_allocated_download(
      ::safe_browsing::ClientIncidentReport_DownloadDetails* download);
  ::safe_browsing::ClientIncidentReport_DownloadDetails* unsafe_arena_release_download();

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData environment = 3;
  bool has_environment() const;
  private:
  bool _internal_has_environment() const;
  public:
  void clear_environment();
  const ::safe_browsing::ClientIncidentReport_EnvironmentData& environment() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_EnvironmentData* release_environment();
  ::safe_browsing::ClientIncidentReport_EnvironmentData* mutable_environment();
  void set_allocated_environment(::safe_browsing::ClientIncidentReport_EnvironmentData* environment);
  private:
  const ::safe_browsing::ClientIncidentReport_EnvironmentData& _internal_environment() const;
  ::safe_browsing::ClientIncidentReport_EnvironmentData* _internal_mutable_environment();
  public:
  void unsafe_arena_set_allocated_environment(
      ::safe_browsing::ClientIncidentReport_EnvironmentData* environment);
  ::safe_browsing::ClientIncidentReport_EnvironmentData* unsafe_arena_release_environment();

  // optional .safe_browsing.ChromeUserPopulation population = 7;
  bool has_population() const;
  private:
  bool _internal_has_population() const;
  public:
  void clear_population();
  const ::safe_browsing::ChromeUserPopulation& population() const;
  PROTOBUF_NODISCARD ::safe_browsing::ChromeUserPopulation* release_population();
  ::safe_browsing::ChromeUserPopulation* mutable_population();
  void set_allocated_population(::safe_browsing::ChromeUserPopulation* population);
  private:
  const ::safe_browsing::ChromeUserPopulation& _internal_population() const;
  ::safe_browsing::ChromeUserPopulation* _internal_mutable_population();
  public:
  void unsafe_arena_set_allocated_population(
      ::safe_browsing::ChromeUserPopulation* population);
  ::safe_browsing::ChromeUserPopulation* unsafe_arena_release_population();

  // optional .safe_browsing.ClientIncidentReport.ExtensionData extension_data = 8;
  bool has_extension_data() const;
  private:
  bool _internal_has_extension_data() const;
  public:
  void clear_extension_data();
  const ::safe_browsing::ClientIncidentReport_ExtensionData& extension_data() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_ExtensionData* release_extension_data();
  ::safe_browsing::ClientIncidentReport_ExtensionData* mutable_extension_data();
  void set_allocated_extension_data(::safe_browsing::ClientIncidentReport_ExtensionData* extension_data);
  private:
  const ::safe_browsing::ClientIncidentReport_ExtensionData& _internal_extension_data() const;
  ::safe_browsing::ClientIncidentReport_ExtensionData* _internal_mutable_extension_data();
  public:
  void unsafe_arena_set_allocated_extension_data(
      ::safe_browsing::ClientIncidentReport_ExtensionData* extension_data);
  ::safe_browsing::ClientIncidentReport_ExtensionData* unsafe_arena_release_extension_data();

  // optional .safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails non_binary_download = 9;
  bool has_non_binary_download() const;
  private:
  bool _internal_has_non_binary_download() const;
  public:
  void clear_non_binary_download();
  const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails& non_binary_download() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* release_non_binary_download();
  ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* mutable_non_binary_download();
  void set_allocated_non_binary_download(::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* non_binary_download);
  private:
  const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails& _internal_non_binary_download() const;
  ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* _internal_mutable_non_binary_download();
  public:
  void unsafe_arena_set_allocated_non_binary_download(
      ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* non_binary_download);
  ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* unsafe_arena_release_non_binary_download();

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData > incident_;
    ::safe_browsing::ClientIncidentReport_DownloadDetails* download_;
    ::safe_browsing::ClientIncidentReport_EnvironmentData* environment_;
    ::safe_browsing::ChromeUserPopulation* population_;
    ::safe_browsing::ClientIncidentReport_ExtensionData* extension_data_;
    ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* non_binary_download_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientIncidentResponse_EnvironmentRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentResponse.EnvironmentRequest) */ {
 public:
  inline ClientIncidentResponse_EnvironmentRequest() : ClientIncidentResponse_EnvironmentRequest(nullptr) {}
  ~ClientIncidentResponse_EnvironmentRequest() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentResponse_EnvironmentRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentResponse_EnvironmentRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentResponse_EnvironmentRequest* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentResponse_EnvironmentRequest*>(
               &_ClientIncidentResponse_EnvironmentRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    53;

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

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

  ClientIncidentResponse_EnvironmentRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentResponse_EnvironmentRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentResponse_EnvironmentRequest& from);
  void MergeFrom(const ClientIncidentResponse_EnvironmentRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentResponse_EnvironmentRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentResponse.EnvironmentRequest";
  }
  protected:
  explicit ClientIncidentResponse_EnvironmentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDllIndexFieldNumber = 1,
  };
  // optional int32 dll_index = 1;
  bool has_dll_index() const;
  private:
  bool _internal_has_dll_index() const;
  public:
  void clear_dll_index();
  int32_t dll_index() const;
  void set_dll_index(int32_t value);
  private:
  int32_t _internal_dll_index() const;
  void _internal_set_dll_index(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
 private:
  class _Internal;

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

class ClientIncidentResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentResponse) */ {
 public:
  inline ClientIncidentResponse() : ClientIncidentResponse(nullptr) {}
  ~ClientIncidentResponse() override;
  explicit PROTOBUF_CONSTEXPR ClientIncidentResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientIncidentResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientIncidentResponse* internal_default_instance() {
    return reinterpret_cast<const ClientIncidentResponse*>(
               &_ClientIncidentResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    54;

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

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

  ClientIncidentResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientIncidentResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientIncidentResponse& from);
  void MergeFrom(const ClientIncidentResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientIncidentResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientIncidentResponse";
  }
  protected:
  explicit ClientIncidentResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientIncidentResponse_EnvironmentRequest EnvironmentRequest;

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

  enum : int {
    kEnvironmentRequestsFieldNumber = 3,
    kTokenFieldNumber = 1,
    kDownloadRequestedFieldNumber = 2,
  };
  // repeated .safe_browsing.ClientIncidentResponse.EnvironmentRequest environment_requests = 3;
  int environment_requests_size() const;
  private:
  int _internal_environment_requests_size() const;
  public:
  void clear_environment_requests();
  ::safe_browsing::ClientIncidentResponse_EnvironmentRequest* mutable_environment_requests(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentResponse_EnvironmentRequest >*
      mutable_environment_requests();
  private:
  const ::safe_browsing::ClientIncidentResponse_EnvironmentRequest& _internal_environment_requests(int index) const;
  ::safe_browsing::ClientIncidentResponse_EnvironmentRequest* _internal_add_environment_requests();
  public:
  const ::safe_browsing::ClientIncidentResponse_EnvironmentRequest& environment_requests(int index) const;
  ::safe_browsing::ClientIncidentResponse_EnvironmentRequest* add_environment_requests();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentResponse_EnvironmentRequest >&
      environment_requests() const;

  // optional bytes token = 1;
  bool has_token() const;
  private:
  bool _internal_has_token() const;
  public:
  void clear_token();
  const std::string& token() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_token(ArgT0&& arg0, ArgT... args);
  std::string* mutable_token();
  PROTOBUF_NODISCARD std::string* release_token();
  void set_allocated_token(std::string* token);
  private:
  const std::string& _internal_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_token(const std::string& value);
  std::string* _internal_mutable_token();
  public:

  // optional bool download_requested = 2;
  bool has_download_requested() const;
  private:
  bool _internal_has_download_requested() const;
  public:
  void clear_download_requested();
  bool download_requested() const;
  void set_download_requested(bool value);
  private:
  bool _internal_download_requested() const;
  void _internal_set_download_requested(bool value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentResponse_EnvironmentRequest > environment_requests_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr token_;
    bool download_requested_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class DownloadMetadata final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.DownloadMetadata) */ {
 public:
  inline DownloadMetadata() : DownloadMetadata(nullptr) {}
  ~DownloadMetadata() override;
  explicit PROTOBUF_CONSTEXPR DownloadMetadata(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const DownloadMetadata& default_instance() {
    return *internal_default_instance();
  }
  static inline const DownloadMetadata* internal_default_instance() {
    return reinterpret_cast<const DownloadMetadata*>(
               &_DownloadMetadata_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    55;

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

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

  DownloadMetadata* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<DownloadMetadata>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const DownloadMetadata& from);
  void MergeFrom(const DownloadMetadata& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(DownloadMetadata* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.DownloadMetadata";
  }
  protected:
  explicit DownloadMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDownloadFieldNumber = 2,
    kDownloadIdFieldNumber = 1,
  };
  // optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
  bool has_download() const;
  private:
  bool _internal_has_download() const;
  public:
  void clear_download();
  const ::safe_browsing::ClientIncidentReport_DownloadDetails& download() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientIncidentReport_DownloadDetails* release_download();
  ::safe_browsing::ClientIncidentReport_DownloadDetails* mutable_download();
  void set_allocated_download(::safe_browsing::ClientIncidentReport_DownloadDetails* download);
  private:
  const ::safe_browsing::ClientIncidentReport_DownloadDetails& _internal_download() const;
  ::safe_browsing::ClientIncidentReport_DownloadDetails* _internal_mutable_download();
  public:
  void unsafe_arena_set_allocated_download(
      ::safe_browsing::ClientIncidentReport_DownloadDetails* download);
  ::safe_browsing::ClientIncidentReport_DownloadDetails* unsafe_arena_release_download();

  // optional uint32 download_id = 1;
  bool has_download_id() const;
  private:
  bool _internal_has_download_id() const;
  public:
  void clear_download_id();
  uint32_t download_id() const;
  void set_download_id(uint32_t value);
  private:
  uint32_t _internal_download_id() const;
  void _internal_set_download_id(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.DownloadMetadata)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::safe_browsing::ClientIncidentReport_DownloadDetails* download_;
    uint32_t download_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientSafeBrowsingReportRequest_HTTPHeader final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader) */ {
 public:
  inline ClientSafeBrowsingReportRequest_HTTPHeader() : ClientSafeBrowsingReportRequest_HTTPHeader(nullptr) {}
  ~ClientSafeBrowsingReportRequest_HTTPHeader() override;
  explicit PROTOBUF_CONSTEXPR ClientSafeBrowsingReportRequest_HTTPHeader(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientSafeBrowsingReportRequest_HTTPHeader& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientSafeBrowsingReportRequest_HTTPHeader* internal_default_instance() {
    return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPHeader*>(
               &_ClientSafeBrowsingReportRequest_HTTPHeader_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    56;

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

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

  ClientSafeBrowsingReportRequest_HTTPHeader* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientSafeBrowsingReportRequest_HTTPHeader>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientSafeBrowsingReportRequest_HTTPHeader& from);
  void MergeFrom(const ClientSafeBrowsingReportRequest_HTTPHeader& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientSafeBrowsingReportRequest_HTTPHeader* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader";
  }
  protected:
  explicit ClientSafeBrowsingReportRequest_HTTPHeader(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kNameFieldNumber = 1,
    kValueFieldNumber = 2,
  };
  // required bytes name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional bytes value = 2;
  bool has_value() const;
  private:
  bool _internal_has_value() const;
  public:
  void clear_value();
  const std::string& value() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_value(ArgT0&& arg0, ArgT... args);
  std::string* mutable_value();
  PROTOBUF_NODISCARD std::string* release_value();
  void set_allocated_value(std::string* value);
  private:
  const std::string& _internal_value() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value);
  std::string* _internal_mutable_value();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine) */ {
 public:
  inline ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine() : ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine(nullptr) {}
  ~ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine() override;
  explicit PROTOBUF_CONSTEXPR ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* internal_default_instance() {
    return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine*>(
               &_ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    57;

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

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

  ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& from);
  void MergeFrom(const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine";
  }
  protected:
  explicit ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kVerbFieldNumber = 1,
    kUriFieldNumber = 2,
    kVersionFieldNumber = 3,
  };
  // optional bytes verb = 1;
  bool has_verb() const;
  private:
  bool _internal_has_verb() const;
  public:
  void clear_verb();
  const std::string& verb() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_verb(ArgT0&& arg0, ArgT... args);
  std::string* mutable_verb();
  PROTOBUF_NODISCARD std::string* release_verb();
  void set_allocated_verb(std::string* verb);
  private:
  const std::string& _internal_verb() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_verb(const std::string& value);
  std::string* _internal_mutable_verb();
  public:

  // optional bytes uri = 2;
  bool has_uri() const;
  private:
  bool _internal_has_uri() const;
  public:
  void clear_uri();
  const std::string& uri() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_uri(ArgT0&& arg0, ArgT... args);
  std::string* mutable_uri();
  PROTOBUF_NODISCARD std::string* release_uri();
  void set_allocated_uri(std::string* uri);
  private:
  const std::string& _internal_uri() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_uri(const std::string& value);
  std::string* _internal_mutable_uri();
  public:

  // optional bytes version = 3;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  const std::string& version() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_version(ArgT0&& arg0, ArgT... args);
  std::string* mutable_version();
  PROTOBUF_NODISCARD std::string* release_version();
  void set_allocated_version(std::string* version);
  private:
  const std::string& _internal_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_version(const std::string& value);
  std::string* _internal_mutable_version();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr verb_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uri_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientSafeBrowsingReportRequest_HTTPRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest) */ {
 public:
  inline ClientSafeBrowsingReportRequest_HTTPRequest() : ClientSafeBrowsingReportRequest_HTTPRequest(nullptr) {}
  ~ClientSafeBrowsingReportRequest_HTTPRequest() override;
  explicit PROTOBUF_CONSTEXPR ClientSafeBrowsingReportRequest_HTTPRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientSafeBrowsingReportRequest_HTTPRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientSafeBrowsingReportRequest_HTTPRequest* internal_default_instance() {
    return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPRequest*>(
               &_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    58;

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

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

  ClientSafeBrowsingReportRequest_HTTPRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientSafeBrowsingReportRequest_HTTPRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientSafeBrowsingReportRequest_HTTPRequest& from);
  void MergeFrom(const ClientSafeBrowsingReportRequest_HTTPRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientSafeBrowsingReportRequest_HTTPRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest";
  }
  protected:
  explicit ClientSafeBrowsingReportRequest_HTTPRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine FirstLine;

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

  enum : int {
    kHeadersFieldNumber = 2,
    kBodyFieldNumber = 3,
    kBodydigestFieldNumber = 4,
    kFirstlineFieldNumber = 1,
    kBodylengthFieldNumber = 5,
  };
  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
  int headers_size() const;
  private:
  int _internal_headers_size() const;
  public:
  void clear_headers();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* mutable_headers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >*
      mutable_headers();
  private:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& _internal_headers(int index) const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* _internal_add_headers();
  public:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& headers(int index) const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* add_headers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >&
      headers() const;

  // optional bytes body = 3;
  bool has_body() const;
  private:
  bool _internal_has_body() const;
  public:
  void clear_body();
  const std::string& body() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_body(ArgT0&& arg0, ArgT... args);
  std::string* mutable_body();
  PROTOBUF_NODISCARD std::string* release_body();
  void set_allocated_body(std::string* body);
  private:
  const std::string& _internal_body() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_body(const std::string& value);
  std::string* _internal_mutable_body();
  public:

  // optional bytes bodydigest = 4;
  bool has_bodydigest() const;
  private:
  bool _internal_has_bodydigest() const;
  public:
  void clear_bodydigest();
  const std::string& bodydigest() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_bodydigest(ArgT0&& arg0, ArgT... args);
  std::string* mutable_bodydigest();
  PROTOBUF_NODISCARD std::string* release_bodydigest();
  void set_allocated_bodydigest(std::string* bodydigest);
  private:
  const std::string& _internal_bodydigest() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_bodydigest(const std::string& value);
  std::string* _internal_mutable_bodydigest();
  public:

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine firstline = 1;
  bool has_firstline() const;
  private:
  bool _internal_has_firstline() const;
  public:
  void clear_firstline();
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& firstline() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* release_firstline();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* mutable_firstline();
  void set_allocated_firstline(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* firstline);
  private:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& _internal_firstline() const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* _internal_mutable_firstline();
  public:
  void unsafe_arena_set_allocated_firstline(
      ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* firstline);
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* unsafe_arena_release_firstline();

  // optional int32 bodylength = 5;
  bool has_bodylength() const;
  private:
  bool _internal_has_bodylength() const;
  public:
  void clear_bodylength();
  int32_t bodylength() const;
  void set_bodylength(int32_t value);
  private:
  int32_t _internal_bodylength() const;
  void _internal_set_bodylength(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader > headers_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr body_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bodydigest_;
    ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* firstline_;
    int32_t bodylength_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine) */ {
 public:
  inline ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine() : ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine(nullptr) {}
  ~ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine() override;
  explicit PROTOBUF_CONSTEXPR ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* internal_default_instance() {
    return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine*>(
               &_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    59;

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

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

  ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& from);
  void MergeFrom(const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine";
  }
  protected:
  explicit ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kMessageFieldNumber = 2,
    kVersionFieldNumber = 3,
    kCodeFieldNumber = 1,
  };
  // optional bytes message = 2;
  bool has_message() const;
  private:
  bool _internal_has_message() const;
  public:
  void clear_message();
  const std::string& message() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_message(ArgT0&& arg0, ArgT... args);
  std::string* mutable_message();
  PROTOBUF_NODISCARD std::string* release_message();
  void set_allocated_message(std::string* message);
  private:
  const std::string& _internal_message() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_message(const std::string& value);
  std::string* _internal_mutable_message();
  public:

  // optional bytes version = 3;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  const std::string& version() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_version(ArgT0&& arg0, ArgT... args);
  std::string* mutable_version();
  PROTOBUF_NODISCARD std::string* release_version();
  void set_allocated_version(std::string* version);
  private:
  const std::string& _internal_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_version(const std::string& value);
  std::string* _internal_mutable_version();
  public:

  // optional int32 code = 1;
  bool has_code() const;
  private:
  bool _internal_has_code() const;
  public:
  void clear_code();
  int32_t code() const;
  void set_code(int32_t value);
  private:
  int32_t _internal_code() const;
  void _internal_set_code(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr message_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr version_;
    int32_t code_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientSafeBrowsingReportRequest_HTTPResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse) */ {
 public:
  inline ClientSafeBrowsingReportRequest_HTTPResponse() : ClientSafeBrowsingReportRequest_HTTPResponse(nullptr) {}
  ~ClientSafeBrowsingReportRequest_HTTPResponse() override;
  explicit PROTOBUF_CONSTEXPR ClientSafeBrowsingReportRequest_HTTPResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientSafeBrowsingReportRequest_HTTPResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientSafeBrowsingReportRequest_HTTPResponse* internal_default_instance() {
    return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPResponse*>(
               &_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    60;

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

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

  ClientSafeBrowsingReportRequest_HTTPResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientSafeBrowsingReportRequest_HTTPResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientSafeBrowsingReportRequest_HTTPResponse& from);
  void MergeFrom(const ClientSafeBrowsingReportRequest_HTTPResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientSafeBrowsingReportRequest_HTTPResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse";
  }
  protected:
  explicit ClientSafeBrowsingReportRequest_HTTPResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine FirstLine;

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

  enum : int {
    kHeadersFieldNumber = 2,
    kBodyFieldNumber = 3,
    kBodydigestFieldNumber = 4,
    kRemoteIpFieldNumber = 6,
    kFirstlineFieldNumber = 1,
    kBodylengthFieldNumber = 5,
  };
  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
  int headers_size() const;
  private:
  int _internal_headers_size() const;
  public:
  void clear_headers();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* mutable_headers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >*
      mutable_headers();
  private:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& _internal_headers(int index) const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* _internal_add_headers();
  public:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& headers(int index) const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* add_headers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >&
      headers() const;

  // optional bytes body = 3;
  bool has_body() const;
  private:
  bool _internal_has_body() const;
  public:
  void clear_body();
  const std::string& body() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_body(ArgT0&& arg0, ArgT... args);
  std::string* mutable_body();
  PROTOBUF_NODISCARD std::string* release_body();
  void set_allocated_body(std::string* body);
  private:
  const std::string& _internal_body() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_body(const std::string& value);
  std::string* _internal_mutable_body();
  public:

  // optional bytes bodydigest = 4;
  bool has_bodydigest() const;
  private:
  bool _internal_has_bodydigest() const;
  public:
  void clear_bodydigest();
  const std::string& bodydigest() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_bodydigest(ArgT0&& arg0, ArgT... args);
  std::string* mutable_bodydigest();
  PROTOBUF_NODISCARD std::string* release_bodydigest();
  void set_allocated_bodydigest(std::string* bodydigest);
  private:
  const std::string& _internal_bodydigest() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_bodydigest(const std::string& value);
  std::string* _internal_mutable_bodydigest();
  public:

  // optional bytes remote_ip = 6;
  bool has_remote_ip() const;
  private:
  bool _internal_has_remote_ip() const;
  public:
  void clear_remote_ip();
  const std::string& remote_ip() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_remote_ip(ArgT0&& arg0, ArgT... args);
  std::string* mutable_remote_ip();
  PROTOBUF_NODISCARD std::string* release_remote_ip();
  void set_allocated_remote_ip(std::string* remote_ip);
  private:
  const std::string& _internal_remote_ip() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_remote_ip(const std::string& value);
  std::string* _internal_mutable_remote_ip();
  public:

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine firstline = 1;
  bool has_firstline() const;
  private:
  bool _internal_has_firstline() const;
  public:
  void clear_firstline();
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& firstline() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* release_firstline();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* mutable_firstline();
  void set_allocated_firstline(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* firstline);
  private:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& _internal_firstline() const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* _internal_mutable_firstline();
  public:
  void unsafe_arena_set_allocated_firstline(
      ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* firstline);
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* unsafe_arena_release_firstline();

  // optional int32 bodylength = 5;
  bool has_bodylength() const;
  private:
  bool _internal_has_bodylength() const;
  public:
  void clear_bodylength();
  int32_t bodylength() const;
  void set_bodylength(int32_t value);
  private:
  int32_t _internal_bodylength() const;
  void _internal_set_bodylength(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader > headers_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr body_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bodydigest_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr remote_ip_;
    ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* firstline_;
    int32_t bodylength_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientSafeBrowsingReportRequest_Resource final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.Resource) */ {
 public:
  inline ClientSafeBrowsingReportRequest_Resource() : ClientSafeBrowsingReportRequest_Resource(nullptr) {}
  ~ClientSafeBrowsingReportRequest_Resource() override;
  explicit PROTOBUF_CONSTEXPR ClientSafeBrowsingReportRequest_Resource(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientSafeBrowsingReportRequest_Resource& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientSafeBrowsingReportRequest_Resource* internal_default_instance() {
    return reinterpret_cast<const ClientSafeBrowsingReportRequest_Resource*>(
               &_ClientSafeBrowsingReportRequest_Resource_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    61;

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

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

  ClientSafeBrowsingReportRequest_Resource* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientSafeBrowsingReportRequest_Resource>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientSafeBrowsingReportRequest_Resource& from);
  void MergeFrom(const ClientSafeBrowsingReportRequest_Resource& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientSafeBrowsingReportRequest_Resource* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientSafeBrowsingReportRequest.Resource";
  }
  protected:
  explicit ClientSafeBrowsingReportRequest_Resource(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kChildIdsFieldNumber = 6,
    kUrlFieldNumber = 2,
    kTagNameFieldNumber = 7,
    kRequestFieldNumber = 3,
    kResponseFieldNumber = 4,
    kIdFieldNumber = 1,
    kParentIdFieldNumber = 5,
  };
  // repeated int32 child_ids = 6;
  int child_ids_size() const;
  private:
  int _internal_child_ids_size() const;
  public:
  void clear_child_ids();
  private:
  int32_t _internal_child_ids(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_child_ids() const;
  void _internal_add_child_ids(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_child_ids();
  public:
  int32_t child_ids(int index) const;
  void set_child_ids(int index, int32_t value);
  void add_child_ids(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      child_ids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_child_ids();

  // optional string url = 2;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional string tag_name = 7;
  bool has_tag_name() const;
  private:
  bool _internal_has_tag_name() const;
  public:
  void clear_tag_name();
  const std::string& tag_name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_tag_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_tag_name();
  PROTOBUF_NODISCARD std::string* release_tag_name();
  void set_allocated_tag_name(std::string* tag_name);
  private:
  const std::string& _internal_tag_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_tag_name(const std::string& value);
  std::string* _internal_mutable_tag_name();
  public:

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest request = 3;
  bool has_request() const;
  private:
  bool _internal_has_request() const;
  public:
  void clear_request();
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest& request() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* release_request();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* mutable_request();
  void set_allocated_request(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* request);
  private:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest& _internal_request() const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* _internal_mutable_request();
  public:
  void unsafe_arena_set_allocated_request(
      ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* request);
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* unsafe_arena_release_request();

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse response = 4;
  bool has_response() const;
  private:
  bool _internal_has_response() const;
  public:
  void clear_response();
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse& response() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* release_response();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* mutable_response();
  void set_allocated_response(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* response);
  private:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse& _internal_response() const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* _internal_mutable_response();
  public:
  void unsafe_arena_set_allocated_response(
      ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* response);
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* unsafe_arena_release_response();

  // required int32 id = 1;
  bool has_id() const;
  private:
  bool _internal_has_id() const;
  public:
  void clear_id();
  int32_t id() const;
  void set_id(int32_t value);
  private:
  int32_t _internal_id() const;
  void _internal_set_id(int32_t value);
  public:

  // optional int32 parent_id = 5;
  bool has_parent_id() const;
  private:
  bool _internal_has_parent_id() const;
  public:
  void clear_parent_id();
  int32_t parent_id() const;
  void set_parent_id(int32_t value);
  private:
  int32_t _internal_parent_id() const;
  void _internal_set_parent_id(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > child_ids_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tag_name_;
    ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* request_;
    ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* response_;
    int32_t id_;
    int32_t parent_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties) */ {
 public:
  inline ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties() : ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(nullptr) {}
  ~ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties() override;
  explicit PROTOBUF_CONSTEXPR ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* internal_default_instance() {
    return reinterpret_cast<const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(
               &_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    62;

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

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

  ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from);
  void MergeFrom(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties";
  }
  protected:
  explicit ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kClientVersionFieldNumber = 1,
    kGooglePlayServicesVersionFieldNumber = 2,
    kIsInstantAppsFieldNumber = 3,
    kUrlApiTypeFieldNumber = 4,
  };
  // optional string client_version = 1;
  bool has_client_version() const;
  private:
  bool _internal_has_client_version() const;
  public:
  void clear_client_version();
  const std::string& client_version() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_client_version(ArgT0&& arg0, ArgT... args);
  std::string* mutable_client_version();
  PROTOBUF_NODISCARD std::string* release_client_version();
  void set_allocated_client_version(std::string* client_version);
  private:
  const std::string& _internal_client_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_client_version(const std::string& value);
  std::string* _internal_mutable_client_version();
  public:

  // optional int64 google_play_services_version = 2;
  bool has_google_play_services_version() const;
  private:
  bool _internal_has_google_play_services_version() const;
  public:
  void clear_google_play_services_version();
  int64_t google_play_services_version() const;
  void set_google_play_services_version(int64_t value);
  private:
  int64_t _internal_google_play_services_version() const;
  void _internal_set_google_play_services_version(int64_t value);
  public:

  // optional bool is_instant_apps = 3;
  bool has_is_instant_apps() const;
  private:
  bool _internal_has_is_instant_apps() const;
  public:
  void clear_is_instant_apps();
  bool is_instant_apps() const;
  void set_is_instant_apps(bool value);
  private:
  bool _internal_is_instant_apps() const;
  void _internal_set_is_instant_apps(bool value);
  public:

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
  bool has_url_api_type() const;
  private:
  bool _internal_has_url_api_type() const;
  public:
  void clear_url_api_type();
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType url_api_type() const;
  void set_url_api_type(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value);
  private:
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType _internal_url_api_type() const;
  void _internal_set_url_api_type(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr client_version_;
    int64_t google_play_services_version_;
    bool is_instant_apps_;
    int url_api_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ClientSafeBrowsingReportRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest) */ {
 public:
  inline ClientSafeBrowsingReportRequest() : ClientSafeBrowsingReportRequest(nullptr) {}
  ~ClientSafeBrowsingReportRequest() override;
  explicit PROTOBUF_CONSTEXPR ClientSafeBrowsingReportRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ClientSafeBrowsingReportRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const ClientSafeBrowsingReportRequest* internal_default_instance() {
    return reinterpret_cast<const ClientSafeBrowsingReportRequest*>(
               &_ClientSafeBrowsingReportRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    63;

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

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

  ClientSafeBrowsingReportRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ClientSafeBrowsingReportRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ClientSafeBrowsingReportRequest& from);
  void MergeFrom(const ClientSafeBrowsingReportRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ClientSafeBrowsingReportRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ClientSafeBrowsingReportRequest";
  }
  protected:
  explicit ClientSafeBrowsingReportRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ClientSafeBrowsingReportRequest_HTTPHeader HTTPHeader;
  typedef ClientSafeBrowsingReportRequest_HTTPRequest HTTPRequest;
  typedef ClientSafeBrowsingReportRequest_HTTPResponse HTTPResponse;
  typedef ClientSafeBrowsingReportRequest_Resource Resource;
  typedef ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties SafeBrowsingClientProperties;

  typedef ClientSafeBrowsingReportRequest_ReportType ReportType;
  static constexpr ReportType UNKNOWN =
    ClientSafeBrowsingReportRequest_ReportType_UNKNOWN;
  static constexpr ReportType URL_PHISHING =
    ClientSafeBrowsingReportRequest_ReportType_URL_PHISHING;
  static constexpr ReportType URL_MALWARE =
    ClientSafeBrowsingReportRequest_ReportType_URL_MALWARE;
  static constexpr ReportType URL_UNWANTED =
    ClientSafeBrowsingReportRequest_ReportType_URL_UNWANTED;
  static constexpr ReportType URL_CLIENT_SIDE_PHISHING =
    ClientSafeBrowsingReportRequest_ReportType_URL_CLIENT_SIDE_PHISHING;
  static constexpr ReportType URL_CLIENT_SIDE_MALWARE =
    ClientSafeBrowsingReportRequest_ReportType_URL_CLIENT_SIDE_MALWARE;
  static constexpr ReportType DANGEROUS_DOWNLOAD_RECOVERY =
    ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_RECOVERY;
  static constexpr ReportType DANGEROUS_DOWNLOAD_WARNING =
    ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_WARNING;
  static constexpr ReportType DANGEROUS_DOWNLOAD_BY_API =
    ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_BY_API;
  static constexpr ReportType URL_PASSWORD_PROTECTION_PHISHING =
    ClientSafeBrowsingReportRequest_ReportType_URL_PASSWORD_PROTECTION_PHISHING;
  static constexpr ReportType DANGEROUS_DOWNLOAD_OPENED =
    ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_OPENED;
  static constexpr ReportType AD_SAMPLE =
    ClientSafeBrowsingReportRequest_ReportType_AD_SAMPLE;
  static inline bool ReportType_IsValid(int value) {
    return ClientSafeBrowsingReportRequest_ReportType_IsValid(value);
  }
  static constexpr ReportType ReportType_MIN =
    ClientSafeBrowsingReportRequest_ReportType_ReportType_MIN;
  static constexpr ReportType ReportType_MAX =
    ClientSafeBrowsingReportRequest_ReportType_ReportType_MAX;
  static constexpr int ReportType_ARRAYSIZE =
    ClientSafeBrowsingReportRequest_ReportType_ReportType_ARRAYSIZE;
  template<typename T>
  static inline const std::string& ReportType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, ReportType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function ReportType_Name.");
    return ClientSafeBrowsingReportRequest_ReportType_Name(enum_t_value);
  }
  static inline bool ReportType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      ReportType* value) {
    return ClientSafeBrowsingReportRequest_ReportType_Parse(name, value);
  }

  typedef ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType SafeBrowsingUrlApiType;
  static constexpr SafeBrowsingUrlApiType SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED =
    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED;
  static constexpr SafeBrowsingUrlApiType PVER3_NATIVE =
    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_PVER3_NATIVE;
  static constexpr SafeBrowsingUrlApiType PVER4_NATIVE =
    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_PVER4_NATIVE;
  static constexpr SafeBrowsingUrlApiType ANDROID_SAFETYNET =
    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_ANDROID_SAFETYNET;
  static constexpr SafeBrowsingUrlApiType FLYWHEEL =
    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_FLYWHEEL;
  static inline bool SafeBrowsingUrlApiType_IsValid(int value) {
    return ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(value);
  }
  static constexpr SafeBrowsingUrlApiType SafeBrowsingUrlApiType_MIN =
    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MIN;
  static constexpr SafeBrowsingUrlApiType SafeBrowsingUrlApiType_MAX =
    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MAX;
  static constexpr int SafeBrowsingUrlApiType_ARRAYSIZE =
    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_ARRAYSIZE;
  template<typename T>
  static inline const std::string& SafeBrowsingUrlApiType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, SafeBrowsingUrlApiType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function SafeBrowsingUrlApiType_Name.");
    return ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_Name(enum_t_value);
  }
  static inline bool SafeBrowsingUrlApiType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      SafeBrowsingUrlApiType* value) {
    return ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_Parse(name, value);
  }

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

  enum : int {
    kResourcesFieldNumber = 4,
    kClientAsnFieldNumber = 6,
    kDomFieldNumber = 16,
    kUrlFieldNumber = 1,
    kPageUrlFieldNumber = 2,
    kReferrerUrlFieldNumber = 3,
    kClientCountryFieldNumber = 7,
    kTokenFieldNumber = 15,
    kClientPropertiesFieldNumber = 17,
    kTypeFieldNumber = 10,
    kCompleteFieldNumber = 5,
    kDidProceedFieldNumber = 8,
    kRepeatVisitFieldNumber = 9,
    kShowDownloadInFolderFieldNumber = 18,
    kDownloadVerdictFieldNumber = 11,
  };
  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.Resource resources = 4;
  int resources_size() const;
  private:
  int _internal_resources_size() const;
  public:
  void clear_resources();
  ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* mutable_resources(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource >*
      mutable_resources();
  private:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_Resource& _internal_resources(int index) const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* _internal_add_resources();
  public:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_Resource& resources(int index) const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* add_resources();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource >&
      resources() const;

  // repeated string client_asn = 6;
  int client_asn_size() const;
  private:
  int _internal_client_asn_size() const;
  public:
  void clear_client_asn();
  const std::string& client_asn(int index) const;
  std::string* mutable_client_asn(int index);
  void set_client_asn(int index, const std::string& value);
  void set_client_asn(int index, std::string&& value);
  void set_client_asn(int index, const char* value);
  void set_client_asn(int index, const char* value, size_t size);
  std::string* add_client_asn();
  void add_client_asn(const std::string& value);
  void add_client_asn(std::string&& value);
  void add_client_asn(const char* value);
  void add_client_asn(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& client_asn() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_client_asn();
  private:
  const std::string& _internal_client_asn(int index) const;
  std::string* _internal_add_client_asn();
  public:

  // repeated .safe_browsing.HTMLElement dom = 16;
  int dom_size() const;
  private:
  int _internal_dom_size() const;
  public:
  void clear_dom();
  ::safe_browsing::HTMLElement* mutable_dom(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement >*
      mutable_dom();
  private:
  const ::safe_browsing::HTMLElement& _internal_dom(int index) const;
  ::safe_browsing::HTMLElement* _internal_add_dom();
  public:
  const ::safe_browsing::HTMLElement& dom(int index) const;
  ::safe_browsing::HTMLElement* add_dom();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement >&
      dom() const;

  // optional string url = 1;
  bool has_url() const;
  private:
  bool _internal_has_url() const;
  public:
  void clear_url();
  const std::string& url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* url);
  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(const std::string& value);
  std::string* _internal_mutable_url();
  public:

  // optional string page_url = 2;
  bool has_page_url() const;
  private:
  bool _internal_has_page_url() const;
  public:
  void clear_page_url();
  const std::string& page_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_page_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_page_url();
  PROTOBUF_NODISCARD std::string* release_page_url();
  void set_allocated_page_url(std::string* page_url);
  private:
  const std::string& _internal_page_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_page_url(const std::string& value);
  std::string* _internal_mutable_page_url();
  public:

  // optional string referrer_url = 3;
  bool has_referrer_url() const;
  private:
  bool _internal_has_referrer_url() const;
  public:
  void clear_referrer_url();
  const std::string& referrer_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_referrer_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_referrer_url();
  PROTOBUF_NODISCARD std::string* release_referrer_url();
  void set_allocated_referrer_url(std::string* referrer_url);
  private:
  const std::string& _internal_referrer_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_referrer_url(const std::string& value);
  std::string* _internal_mutable_referrer_url();
  public:

  // optional string client_country = 7;
  bool has_client_country() const;
  private:
  bool _internal_has_client_country() const;
  public:
  void clear_client_country();
  const std::string& client_country() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_client_country(ArgT0&& arg0, ArgT... args);
  std::string* mutable_client_country();
  PROTOBUF_NODISCARD std::string* release_client_country();
  void set_allocated_client_country(std::string* client_country);
  private:
  const std::string& _internal_client_country() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_client_country(const std::string& value);
  std::string* _internal_mutable_client_country();
  public:

  // optional bytes token = 15;
  bool has_token() const;
  private:
  bool _internal_has_token() const;
  public:
  void clear_token();
  const std::string& token() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_token(ArgT0&& arg0, ArgT... args);
  std::string* mutable_token();
  PROTOBUF_NODISCARD std::string* release_token();
  void set_allocated_token(std::string* token);
  private:
  const std::string& _internal_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_token(const std::string& value);
  std::string* _internal_mutable_token();
  public:

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
  bool has_client_properties() const;
  private:
  bool _internal_has_client_properties() const;
  public:
  void clear_client_properties();
  const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& client_properties() const;
  PROTOBUF_NODISCARD ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* release_client_properties();
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* mutable_client_properties();
  void set_allocated_client_properties(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties);
  private:
  const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& _internal_client_properties() const;
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* _internal_mutable_client_properties();
  public:
  void unsafe_arena_set_allocated_client_properties(
      ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties);
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* unsafe_arena_release_client_properties();

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType type() const;
  void set_type(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType value);
  private:
  ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType _internal_type() const;
  void _internal_set_type(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType value);
  public:

  // optional bool complete = 5;
  bool has_complete() const;
  private:
  bool _internal_has_complete() const;
  public:
  void clear_complete();
  bool complete() const;
  void set_complete(bool value);
  private:
  bool _internal_complete() const;
  void _internal_set_complete(bool value);
  public:

  // optional bool did_proceed = 8;
  bool has_did_proceed() const;
  private:
  bool _internal_has_did_proceed() const;
  public:
  void clear_did_proceed();
  bool did_proceed() const;
  void set_did_proceed(bool value);
  private:
  bool _internal_did_proceed() const;
  void _internal_set_did_proceed(bool value);
  public:

  // optional bool repeat_visit = 9;
  bool has_repeat_visit() const;
  private:
  bool _internal_has_repeat_visit() const;
  public:
  void clear_repeat_visit();
  bool repeat_visit() const;
  void set_repeat_visit(bool value);
  private:
  bool _internal_repeat_visit() const;
  void _internal_set_repeat_visit(bool value);
  public:

  // optional bool show_download_in_folder = 18;
  bool has_show_download_in_folder() const;
  private:
  bool _internal_has_show_download_in_folder() const;
  public:
  void clear_show_download_in_folder();
  bool show_download_in_folder() const;
  void set_show_download_in_folder(bool value);
  private:
  bool _internal_show_download_in_folder() const;
  void _internal_set_show_download_in_folder(bool value);
  public:

  // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
  bool has_download_verdict() const;
  private:
  bool _internal_has_download_verdict() const;
  public:
  void clear_download_verdict();
  ::safe_browsing::ClientDownloadResponse_Verdict download_verdict() const;
  void set_download_verdict(::safe_browsing::ClientDownloadResponse_Verdict value);
  private:
  ::safe_browsing::ClientDownloadResponse_Verdict _internal_download_verdict() const;
  void _internal_set_download_verdict(::safe_browsing::ClientDownloadResponse_Verdict value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource > resources_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> client_asn_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement > dom_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr page_url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr referrer_url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr client_country_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr token_;
    ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties_;
    int type_;
    bool complete_;
    bool did_proceed_;
    bool repeat_visit_;
    bool show_download_in_folder_;
    int download_verdict_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class HTMLElement_Attribute final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.HTMLElement.Attribute) */ {
 public:
  inline HTMLElement_Attribute() : HTMLElement_Attribute(nullptr) {}
  ~HTMLElement_Attribute() override;
  explicit PROTOBUF_CONSTEXPR HTMLElement_Attribute(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const HTMLElement_Attribute& default_instance() {
    return *internal_default_instance();
  }
  static inline const HTMLElement_Attribute* internal_default_instance() {
    return reinterpret_cast<const HTMLElement_Attribute*>(
               &_HTMLElement_Attribute_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    64;

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

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

  HTMLElement_Attribute* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<HTMLElement_Attribute>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const HTMLElement_Attribute& from);
  void MergeFrom(const HTMLElement_Attribute& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(HTMLElement_Attribute* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.HTMLElement.Attribute";
  }
  protected:
  explicit HTMLElement_Attribute(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kNameFieldNumber = 1,
    kValueFieldNumber = 2,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional string value = 2;
  bool has_value() const;
  private:
  bool _internal_has_value() const;
  public:
  void clear_value();
  const std::string& value() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_value(ArgT0&& arg0, ArgT... args);
  std::string* mutable_value();
  PROTOBUF_NODISCARD std::string* release_value();
  void set_allocated_value(std::string* value);
  private:
  const std::string& _internal_value() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value);
  std::string* _internal_mutable_value();
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.HTMLElement.Attribute)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class HTMLElement final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.HTMLElement) */ {
 public:
  inline HTMLElement() : HTMLElement(nullptr) {}
  ~HTMLElement() override;
  explicit PROTOBUF_CONSTEXPR HTMLElement(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const HTMLElement& default_instance() {
    return *internal_default_instance();
  }
  static inline const HTMLElement* internal_default_instance() {
    return reinterpret_cast<const HTMLElement*>(
               &_HTMLElement_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    65;

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

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

  HTMLElement* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<HTMLElement>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const HTMLElement& from);
  void MergeFrom(const HTMLElement& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(HTMLElement* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.HTMLElement";
  }
  protected:
  explicit HTMLElement(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef HTMLElement_Attribute Attribute;

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

  enum : int {
    kChildIdsFieldNumber = 3,
    kAttributeFieldNumber = 6,
    kTagFieldNumber = 2,
    kIdFieldNumber = 1,
    kResourceIdFieldNumber = 5,
  };
  // repeated int32 child_ids = 3;
  int child_ids_size() const;
  private:
  int _internal_child_ids_size() const;
  public:
  void clear_child_ids();
  private:
  int32_t _internal_child_ids(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_child_ids() const;
  void _internal_add_child_ids(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_child_ids();
  public:
  int32_t child_ids(int index) const;
  void set_child_ids(int index, int32_t value);
  void add_child_ids(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      child_ids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_child_ids();

  // repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
  int attribute_size() const;
  private:
  int _internal_attribute_size() const;
  public:
  void clear_attribute();
  ::safe_browsing::HTMLElement_Attribute* mutable_attribute(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >*
      mutable_attribute();
  private:
  const ::safe_browsing::HTMLElement_Attribute& _internal_attribute(int index) const;
  ::safe_browsing::HTMLElement_Attribute* _internal_add_attribute();
  public:
  const ::safe_browsing::HTMLElement_Attribute& attribute(int index) const;
  ::safe_browsing::HTMLElement_Attribute* add_attribute();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >&
      attribute() const;

  // optional string tag = 2;
  bool has_tag() const;
  private:
  bool _internal_has_tag() const;
  public:
  void clear_tag();
  const std::string& tag() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_tag(ArgT0&& arg0, ArgT... args);
  std::string* mutable_tag();
  PROTOBUF_NODISCARD std::string* release_tag();
  void set_allocated_tag(std::string* tag);
  private:
  const std::string& _internal_tag() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_tag(const std::string& value);
  std::string* _internal_mutable_tag();
  public:

  // optional int32 id = 1;
  bool has_id() const;
  private:
  bool _internal_has_id() const;
  public:
  void clear_id();
  int32_t id() const;
  void set_id(int32_t value);
  private:
  int32_t _internal_id() const;
  void _internal_set_id(int32_t value);
  public:

  // optional int32 resource_id = 5;
  bool has_resource_id() const;
  private:
  bool _internal_has_resource_id() const;
  public:
  void clear_resource_id();
  int32_t resource_id() const;
  void set_resource_id(int32_t value);
  private:
  int32_t _internal_resource_id() const;
  void _internal_set_resource_id(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.HTMLElement)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > child_ids_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute > attribute_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tag_;
    int32_t id_;
    int32_t resource_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ImageData_Dimensions final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ImageData.Dimensions) */ {
 public:
  inline ImageData_Dimensions() : ImageData_Dimensions(nullptr) {}
  ~ImageData_Dimensions() override;
  explicit PROTOBUF_CONSTEXPR ImageData_Dimensions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ImageData_Dimensions& default_instance() {
    return *internal_default_instance();
  }
  static inline const ImageData_Dimensions* internal_default_instance() {
    return reinterpret_cast<const ImageData_Dimensions*>(
               &_ImageData_Dimensions_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    66;

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

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

  ImageData_Dimensions* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ImageData_Dimensions>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ImageData_Dimensions& from);
  void MergeFrom(const ImageData_Dimensions& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ImageData_Dimensions* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ImageData.Dimensions";
  }
  protected:
  explicit ImageData_Dimensions(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kWidthFieldNumber = 1,
    kHeightFieldNumber = 2,
  };
  // optional int32 width = 1;
  bool has_width() const;
  private:
  bool _internal_has_width() const;
  public:
  void clear_width();
  int32_t width() const;
  void set_width(int32_t value);
  private:
  int32_t _internal_width() const;
  void _internal_set_width(int32_t value);
  public:

  // optional int32 height = 2;
  bool has_height() const;
  private:
  bool _internal_has_height() const;
  public:
  void clear_height();
  int32_t height() const;
  void set_height(int32_t value);
  private:
  int32_t _internal_height() const;
  void _internal_set_height(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:safe_browsing.ImageData.Dimensions)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    int32_t width_;
    int32_t height_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class ImageData final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ImageData) */ {
 public:
  inline ImageData() : ImageData(nullptr) {}
  ~ImageData() override;
  explicit PROTOBUF_CONSTEXPR ImageData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ImageData& default_instance() {
    return *internal_default_instance();
  }
  static inline const ImageData* internal_default_instance() {
    return reinterpret_cast<const ImageData*>(
               &_ImageData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    67;

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

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

  ImageData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ImageData>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ImageData& from);
  void MergeFrom(const ImageData& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ImageData* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.ImageData";
  }
  protected:
  explicit ImageData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

  typedef ImageData_Dimensions Dimensions;

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

  enum : int {
    kDataFieldNumber = 1,
    kMimeTypeFieldNumber = 2,
    kDimensionsFieldNumber = 3,
    kOriginalDimensionsFieldNumber = 4,
  };
  // optional bytes data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;
  public:
  void clear_data();
  const std::string& data() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_data(ArgT0&& arg0, ArgT... args);
  std::string* mutable_data();
  PROTOBUF_NODISCARD std::string* release_data();
  void set_allocated_data(std::string* data);
  private:
  const std::string& _internal_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_data(const std::string& value);
  std::string* _internal_mutable_data();
  public:

  // optional string mime_type = 2;
  bool has_mime_type() const;
  private:
  bool _internal_has_mime_type() const;
  public:
  void clear_mime_type();
  const std::string& mime_type() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_mime_type(ArgT0&& arg0, ArgT... args);
  std::string* mutable_mime_type();
  PROTOBUF_NODISCARD std::string* release_mime_type();
  void set_allocated_mime_type(std::string* mime_type);
  private:
  const std::string& _internal_mime_type() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_mime_type(const std::string& value);
  std::string* _internal_mutable_mime_type();
  public:

  // optional .safe_browsing.ImageData.Dimensions dimensions = 3;
  bool has_dimensions() const;
  private:
  bool _internal_has_dimensions() const;
  public:
  void clear_dimensions();
  const ::safe_browsing::ImageData_Dimensions& dimensions() const;
  PROTOBUF_NODISCARD ::safe_browsing::ImageData_Dimensions* release_dimensions();
  ::safe_browsing::ImageData_Dimensions* mutable_dimensions();
  void set_allocated_dimensions(::safe_browsing::ImageData_Dimensions* dimensions);
  private:
  const ::safe_browsing::ImageData_Dimensions& _internal_dimensions() const;
  ::safe_browsing::ImageData_Dimensions* _internal_mutable_dimensions();
  public:
  void unsafe_arena_set_allocated_dimensions(
      ::safe_browsing::ImageData_Dimensions* dimensions);
  ::safe_browsing::ImageData_Dimensions* unsafe_arena_release_dimensions();

  // optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
  bool has_original_dimensions() const;
  private:
  bool _internal_has_original_dimensions() const;
  public:
  void clear_original_dimensions();
  const ::safe_browsing::ImageData_Dimensions& original_dimensions() const;
  PROTOBUF_NODISCARD ::safe_browsing::ImageData_Dimensions* release_original_dimensions();
  ::safe_browsing::ImageData_Dimensions* mutable_original_dimensions();
  void set_allocated_original_dimensions(::safe_browsing::ImageData_Dimensions* original_dimensions);
  private:
  const ::safe_browsing::ImageData_Dimensions& _internal_original_dimensions() const;
  ::safe_browsing::ImageData_Dimensions* _internal_mutable_original_dimensions();
  public:
  void unsafe_arena_set_allocated_original_dimensions(
      ::safe_browsing::ImageData_Dimensions* original_dimensions);
  ::safe_browsing::ImageData_Dimensions* unsafe_arena_release_original_dimensions();

  // @@protoc_insertion_point(class_scope:safe_browsing.ImageData)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr data_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr mime_type_;
    ::safe_browsing::ImageData_Dimensions* dimensions_;
    ::safe_browsing::ImageData_Dimensions* original_dimensions_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// -------------------------------------------------------------------

class NotificationImageReportRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.NotificationImageReportRequest) */ {
 public:
  inline NotificationImageReportRequest() : NotificationImageReportRequest(nullptr) {}
  ~NotificationImageReportRequest() override;
  explicit PROTOBUF_CONSTEXPR NotificationImageReportRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const NotificationImageReportRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const NotificationImageReportRequest* internal_default_instance() {
    return reinterpret_cast<const NotificationImageReportRequest*>(
               &_NotificationImageReportRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    68;

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

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

  NotificationImageReportRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<NotificationImageReportRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const NotificationImageReportRequest& from);
  void MergeFrom(const NotificationImageReportRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(NotificationImageReportRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "safe_browsing.NotificationImageReportRequest";
  }
  protected:
  explicit NotificationImageReportRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kNotificationOriginFieldNumber = 1,
    kImageFieldNumber = 2,
  };
  // optional string notification_origin = 1;
  bool has_notification_origin() const;
  private:
  bool _internal_has_notification_origin() const;
  public:
  void clear_notification_origin();
  const std::string& notification_origin() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_notification_origin(ArgT0&& arg0, ArgT... args);
  std::string* mutable_notification_origin();
  PROTOBUF_NODISCARD std::string* release_notification_origin();
  void set_allocated_notification_origin(std::string* notification_origin);
  private:
  const std::string& _internal_notification_origin() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_notification_origin(const std::string& value);
  std::string* _internal_mutable_notification_origin();
  public:

  // optional .safe_browsing.ImageData image = 2;
  bool has_image() const;
  private:
  bool _internal_has_image() const;
  public:
  void clear_image();
  const ::safe_browsing::ImageData& image() const;
  PROTOBUF_NODISCARD ::safe_browsing::ImageData* release_image();
  ::safe_browsing::ImageData* mutable_image();
  void set_allocated_image(::safe_browsing::ImageData* image);
  private:
  const ::safe_browsing::ImageData& _internal_image() const;
  ::safe_browsing::ImageData* _internal_mutable_image();
  public:
  void unsafe_arena_set_allocated_image(
      ::safe_browsing::ImageData* image);
  ::safe_browsing::ImageData* unsafe_arena_release_image();

  // @@protoc_insertion_point(class_scope:safe_browsing.NotificationImageReportRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr notification_origin_;
    ::safe_browsing::ImageData* image_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_csd_2eproto;
};
// ===================================================================


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

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

// optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
inline bool ChromeUserPopulation::_internal_has_user_population() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ChromeUserPopulation::has_user_population() const {
  return _internal_has_user_population();
}
inline void ChromeUserPopulation::clear_user_population() {
  _impl_.user_population_ = 0;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline ::safe_browsing::ChromeUserPopulation_UserPopulation ChromeUserPopulation::_internal_user_population() const {
  return static_cast< ::safe_browsing::ChromeUserPopulation_UserPopulation >(_impl_.user_population_);
}
inline ::safe_browsing::ChromeUserPopulation_UserPopulation ChromeUserPopulation::user_population() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.user_population)
  return _internal_user_population();
}
inline void ChromeUserPopulation::_internal_set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value) {
  assert(::safe_browsing::ChromeUserPopulation_UserPopulation_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.user_population_ = value;
}
inline void ChromeUserPopulation::set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value) {
  _internal_set_user_population(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.user_population)
}

// optional bool is_history_sync_enabled = 2;
inline bool ChromeUserPopulation::_internal_has_is_history_sync_enabled() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ChromeUserPopulation::has_is_history_sync_enabled() const {
  return _internal_has_is_history_sync_enabled();
}
inline void ChromeUserPopulation::clear_is_history_sync_enabled() {
  _impl_.is_history_sync_enabled_ = false;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline bool ChromeUserPopulation::_internal_is_history_sync_enabled() const {
  return _impl_.is_history_sync_enabled_;
}
inline bool ChromeUserPopulation::is_history_sync_enabled() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.is_history_sync_enabled)
  return _internal_is_history_sync_enabled();
}
inline void ChromeUserPopulation::_internal_set_is_history_sync_enabled(bool value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.is_history_sync_enabled_ = value;
}
inline void ChromeUserPopulation::set_is_history_sync_enabled(bool value) {
  _internal_set_is_history_sync_enabled(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.is_history_sync_enabled)
}

// repeated string finch_active_groups = 4;
inline int ChromeUserPopulation::_internal_finch_active_groups_size() const {
  return _impl_.finch_active_groups_.size();
}
inline int ChromeUserPopulation::finch_active_groups_size() const {
  return _internal_finch_active_groups_size();
}
inline void ChromeUserPopulation::clear_finch_active_groups() {
  _impl_.finch_active_groups_.Clear();
}
inline std::string* ChromeUserPopulation::add_finch_active_groups() {
  std::string* _s = _internal_add_finch_active_groups();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return _s;
}
inline const std::string& ChromeUserPopulation::_internal_finch_active_groups(int index) const {
  return _impl_.finch_active_groups_.Get(index);
}
inline const std::string& ChromeUserPopulation::finch_active_groups(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return _internal_finch_active_groups(index);
}
inline std::string* ChromeUserPopulation::mutable_finch_active_groups(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return _impl_.finch_active_groups_.Mutable(index);
}
inline void ChromeUserPopulation::set_finch_active_groups(int index, const std::string& value) {
  _impl_.finch_active_groups_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
inline void ChromeUserPopulation::set_finch_active_groups(int index, std::string&& value) {
  _impl_.finch_active_groups_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
inline void ChromeUserPopulation::set_finch_active_groups(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.finch_active_groups_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
inline void ChromeUserPopulation::set_finch_active_groups(int index, const char* value, size_t size) {
  _impl_.finch_active_groups_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
inline std::string* ChromeUserPopulation::_internal_add_finch_active_groups() {
  return _impl_.finch_active_groups_.Add();
}
inline void ChromeUserPopulation::add_finch_active_groups(const std::string& value) {
  _impl_.finch_active_groups_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
inline void ChromeUserPopulation::add_finch_active_groups(std::string&& value) {
  _impl_.finch_active_groups_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
inline void ChromeUserPopulation::add_finch_active_groups(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.finch_active_groups_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
inline void ChromeUserPopulation::add_finch_active_groups(const char* value, size_t size) {
  _impl_.finch_active_groups_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ChromeUserPopulation::finch_active_groups() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return _impl_.finch_active_groups_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ChromeUserPopulation::mutable_finch_active_groups() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return &_impl_.finch_active_groups_;
}

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

// ClientPhishingRequest_Feature

// required string name = 1;
inline bool ClientPhishingRequest_Feature::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientPhishingRequest_Feature::has_name() const {
  return _internal_has_name();
}
inline void ClientPhishingRequest_Feature::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientPhishingRequest_Feature::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.Feature.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientPhishingRequest_Feature::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.Feature.name)
}
inline std::string* ClientPhishingRequest_Feature::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.Feature.name)
  return _s;
}
inline const std::string& ClientPhishingRequest_Feature::_internal_name() const {
  return _impl_.name_.Get();
}
inline void ClientPhishingRequest_Feature::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest_Feature::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest_Feature::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.Feature.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientPhishingRequest_Feature::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.Feature.name)
}

// required double value = 2;
inline bool ClientPhishingRequest_Feature::_internal_has_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientPhishingRequest_Feature::has_value() const {
  return _internal_has_value();
}
inline void ClientPhishingRequest_Feature::clear_value() {
  _impl_.value_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline double ClientPhishingRequest_Feature::_internal_value() const {
  return _impl_.value_;
}
inline double ClientPhishingRequest_Feature::value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.Feature.value)
  return _internal_value();
}
inline void ClientPhishingRequest_Feature::_internal_set_value(double value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.value_ = value;
}
inline void ClientPhishingRequest_Feature::set_value(double value) {
  _internal_set_value(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.Feature.value)
}

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

// ClientPhishingRequest

// optional string url = 1;
inline bool ClientPhishingRequest::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientPhishingRequest::has_url() const {
  return _internal_has_url();
}
inline void ClientPhishingRequest::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientPhishingRequest::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientPhishingRequest::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.url)
}
inline std::string* ClientPhishingRequest::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.url)
  return _s;
}
inline const std::string& ClientPhishingRequest::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ClientPhishingRequest::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientPhishingRequest::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.url)
}

// optional bytes OBSOLETE_hash_prefix = 10;
inline bool ClientPhishingRequest::_internal_has_obsolete_hash_prefix() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientPhishingRequest::has_obsolete_hash_prefix() const {
  return _internal_has_obsolete_hash_prefix();
}
inline void ClientPhishingRequest::clear_obsolete_hash_prefix() {
  _impl_.obsolete_hash_prefix_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientPhishingRequest::obsolete_hash_prefix() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
  return _internal_obsolete_hash_prefix();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientPhishingRequest::set_obsolete_hash_prefix(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.obsolete_hash_prefix_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
}
inline std::string* ClientPhishingRequest::mutable_obsolete_hash_prefix() {
  std::string* _s = _internal_mutable_obsolete_hash_prefix();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
  return _s;
}
inline const std::string& ClientPhishingRequest::_internal_obsolete_hash_prefix() const {
  return _impl_.obsolete_hash_prefix_.Get();
}
inline void ClientPhishingRequest::_internal_set_obsolete_hash_prefix(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.obsolete_hash_prefix_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest::_internal_mutable_obsolete_hash_prefix() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.obsolete_hash_prefix_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest::release_obsolete_hash_prefix() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
  if (!_internal_has_obsolete_hash_prefix()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.obsolete_hash_prefix_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.obsolete_hash_prefix_.IsDefault()) {
    _impl_.obsolete_hash_prefix_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientPhishingRequest::set_allocated_obsolete_hash_prefix(std::string* obsolete_hash_prefix) {
  if (obsolete_hash_prefix != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.obsolete_hash_prefix_.SetAllocated(obsolete_hash_prefix, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.obsolete_hash_prefix_.IsDefault()) {
    _impl_.obsolete_hash_prefix_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
}

// required float client_score = 2;
inline bool ClientPhishingRequest::_internal_has_client_score() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool ClientPhishingRequest::has_client_score() const {
  return _internal_has_client_score();
}
inline void ClientPhishingRequest::clear_client_score() {
  _impl_.client_score_ = 0;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline float ClientPhishingRequest::_internal_client_score() const {
  return _impl_.client_score_;
}
inline float ClientPhishingRequest::client_score() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.client_score)
  return _internal_client_score();
}
inline void ClientPhishingRequest::_internal_set_client_score(float value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.client_score_ = value;
}
inline void ClientPhishingRequest::set_client_score(float value) {
  _internal_set_client_score(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.client_score)
}

// optional bool is_phishing = 4;
inline bool ClientPhishingRequest::_internal_has_is_phishing() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool ClientPhishingRequest::has_is_phishing() const {
  return _internal_has_is_phishing();
}
inline void ClientPhishingRequest::clear_is_phishing() {
  _impl_.is_phishing_ = false;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline bool ClientPhishingRequest::_internal_is_phishing() const {
  return _impl_.is_phishing_;
}
inline bool ClientPhishingRequest::is_phishing() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.is_phishing)
  return _internal_is_phishing();
}
inline void ClientPhishingRequest::_internal_set_is_phishing(bool value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.is_phishing_ = value;
}
inline void ClientPhishingRequest::set_is_phishing(bool value) {
  _internal_set_is_phishing(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.is_phishing)
}

// repeated .safe_browsing.ClientPhishingRequest.Feature feature_map = 5;
inline int ClientPhishingRequest::_internal_feature_map_size() const {
  return _impl_.feature_map_.size();
}
inline int ClientPhishingRequest::feature_map_size() const {
  return _internal_feature_map_size();
}
inline void ClientPhishingRequest::clear_feature_map() {
  _impl_.feature_map_.Clear();
}
inline ::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::mutable_feature_map(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.feature_map)
  return _impl_.feature_map_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >*
ClientPhishingRequest::mutable_feature_map() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientPhishingRequest.feature_map)
  return &_impl_.feature_map_;
}
inline const ::safe_browsing::ClientPhishingRequest_Feature& ClientPhishingRequest::_internal_feature_map(int index) const {
  return _impl_.feature_map_.Get(index);
}
inline const ::safe_browsing::ClientPhishingRequest_Feature& ClientPhishingRequest::feature_map(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.feature_map)
  return _internal_feature_map(index);
}
inline ::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::_internal_add_feature_map() {
  return _impl_.feature_map_.Add();
}
inline ::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::add_feature_map() {
  ::safe_browsing::ClientPhishingRequest_Feature* _add = _internal_add_feature_map();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingRequest.feature_map)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >&
ClientPhishingRequest::feature_map() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientPhishingRequest.feature_map)
  return _impl_.feature_map_;
}

// optional int32 model_version = 6;
inline bool ClientPhishingRequest::_internal_has_model_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool ClientPhishingRequest::has_model_version() const {
  return _internal_has_model_version();
}
inline void ClientPhishingRequest::clear_model_version() {
  _impl_.model_version_ = 0;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline int32_t ClientPhishingRequest::_internal_model_version() const {
  return _impl_.model_version_;
}
inline int32_t ClientPhishingRequest::model_version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.model_version)
  return _internal_model_version();
}
inline void ClientPhishingRequest::_internal_set_model_version(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.model_version_ = value;
}
inline void ClientPhishingRequest::set_model_version(int32_t value) {
  _internal_set_model_version(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.model_version)
}

// repeated .safe_browsing.ClientPhishingRequest.Feature non_model_feature_map = 8;
inline int ClientPhishingRequest::_internal_non_model_feature_map_size() const {
  return _impl_.non_model_feature_map_.size();
}
inline int ClientPhishingRequest::non_model_feature_map_size() const {
  return _internal_non_model_feature_map_size();
}
inline void ClientPhishingRequest::clear_non_model_feature_map() {
  _impl_.non_model_feature_map_.Clear();
}
inline ::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::mutable_non_model_feature_map(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return _impl_.non_model_feature_map_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >*
ClientPhishingRequest::mutable_non_model_feature_map() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return &_impl_.non_model_feature_map_;
}
inline const ::safe_browsing::ClientPhishingRequest_Feature& ClientPhishingRequest::_internal_non_model_feature_map(int index) const {
  return _impl_.non_model_feature_map_.Get(index);
}
inline const ::safe_browsing::ClientPhishingRequest_Feature& ClientPhishingRequest::non_model_feature_map(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return _internal_non_model_feature_map(index);
}
inline ::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::_internal_add_non_model_feature_map() {
  return _impl_.non_model_feature_map_.Add();
}
inline ::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::add_non_model_feature_map() {
  ::safe_browsing::ClientPhishingRequest_Feature* _add = _internal_add_non_model_feature_map();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >&
ClientPhishingRequest::non_model_feature_map() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return _impl_.non_model_feature_map_;
}

// optional string OBSOLETE_referrer_url = 9;
inline bool ClientPhishingRequest::_internal_has_obsolete_referrer_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientPhishingRequest::has_obsolete_referrer_url() const {
  return _internal_has_obsolete_referrer_url();
}
inline void ClientPhishingRequest::clear_obsolete_referrer_url() {
  _impl_.obsolete_referrer_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientPhishingRequest::obsolete_referrer_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
  return _internal_obsolete_referrer_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientPhishingRequest::set_obsolete_referrer_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.obsolete_referrer_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
}
inline std::string* ClientPhishingRequest::mutable_obsolete_referrer_url() {
  std::string* _s = _internal_mutable_obsolete_referrer_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
  return _s;
}
inline const std::string& ClientPhishingRequest::_internal_obsolete_referrer_url() const {
  return _impl_.obsolete_referrer_url_.Get();
}
inline void ClientPhishingRequest::_internal_set_obsolete_referrer_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.obsolete_referrer_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest::_internal_mutable_obsolete_referrer_url() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.obsolete_referrer_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest::release_obsolete_referrer_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
  if (!_internal_has_obsolete_referrer_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.obsolete_referrer_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.obsolete_referrer_url_.IsDefault()) {
    _impl_.obsolete_referrer_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientPhishingRequest::set_allocated_obsolete_referrer_url(std::string* obsolete_referrer_url) {
  if (obsolete_referrer_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.obsolete_referrer_url_.SetAllocated(obsolete_referrer_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.obsolete_referrer_url_.IsDefault()) {
    _impl_.obsolete_referrer_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
}

// repeated uint32 shingle_hashes = 12 [packed = true];
inline int ClientPhishingRequest::_internal_shingle_hashes_size() const {
  return _impl_.shingle_hashes_.size();
}
inline int ClientPhishingRequest::shingle_hashes_size() const {
  return _internal_shingle_hashes_size();
}
inline void ClientPhishingRequest::clear_shingle_hashes() {
  _impl_.shingle_hashes_.Clear();
}
inline uint32_t ClientPhishingRequest::_internal_shingle_hashes(int index) const {
  return _impl_.shingle_hashes_.Get(index);
}
inline uint32_t ClientPhishingRequest::shingle_hashes(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.shingle_hashes)
  return _internal_shingle_hashes(index);
}
inline void ClientPhishingRequest::set_shingle_hashes(int index, uint32_t value) {
  _impl_.shingle_hashes_.Set(index, value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.shingle_hashes)
}
inline void ClientPhishingRequest::_internal_add_shingle_hashes(uint32_t value) {
  _impl_.shingle_hashes_.Add(value);
}
inline void ClientPhishingRequest::add_shingle_hashes(uint32_t value) {
  _internal_add_shingle_hashes(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingRequest.shingle_hashes)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
ClientPhishingRequest::_internal_shingle_hashes() const {
  return _impl_.shingle_hashes_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >&
ClientPhishingRequest::shingle_hashes() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientPhishingRequest.shingle_hashes)
  return _internal_shingle_hashes();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
ClientPhishingRequest::_internal_mutable_shingle_hashes() {
  return &_impl_.shingle_hashes_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >*
ClientPhishingRequest::mutable_shingle_hashes() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientPhishingRequest.shingle_hashes)
  return _internal_mutable_shingle_hashes();
}

// optional string model_filename = 13;
inline bool ClientPhishingRequest::_internal_has_model_filename() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientPhishingRequest::has_model_filename() const {
  return _internal_has_model_filename();
}
inline void ClientPhishingRequest::clear_model_filename() {
  _impl_.model_filename_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& ClientPhishingRequest::model_filename() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.model_filename)
  return _internal_model_filename();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientPhishingRequest::set_model_filename(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.model_filename_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.model_filename)
}
inline std::string* ClientPhishingRequest::mutable_model_filename() {
  std::string* _s = _internal_mutable_model_filename();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.model_filename)
  return _s;
}
inline const std::string& ClientPhishingRequest::_internal_model_filename() const {
  return _impl_.model_filename_.Get();
}
inline void ClientPhishingRequest::_internal_set_model_filename(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.model_filename_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest::_internal_mutable_model_filename() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.model_filename_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientPhishingRequest::release_model_filename() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.model_filename)
  if (!_internal_has_model_filename()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.model_filename_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.model_filename_.IsDefault()) {
    _impl_.model_filename_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientPhishingRequest::set_allocated_model_filename(std::string* model_filename) {
  if (model_filename != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.model_filename_.SetAllocated(model_filename, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.model_filename_.IsDefault()) {
    _impl_.model_filename_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.model_filename)
}

// optional .safe_browsing.ChromeUserPopulation population = 14;
inline bool ClientPhishingRequest::_internal_has_population() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.population_ != nullptr);
  return value;
}
inline bool ClientPhishingRequest::has_population() const {
  return _internal_has_population();
}
inline void ClientPhishingRequest::clear_population() {
  if (_impl_.population_ != nullptr) _impl_.population_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::safe_browsing::ChromeUserPopulation& ClientPhishingRequest::_internal_population() const {
  const ::safe_browsing::ChromeUserPopulation* p = _impl_.population_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ChromeUserPopulation&>(
      ::safe_browsing::_ChromeUserPopulation_default_instance_);
}
inline const ::safe_browsing::ChromeUserPopulation& ClientPhishingRequest::population() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.population)
  return _internal_population();
}
inline void ClientPhishingRequest::unsafe_arena_set_allocated_population(
    ::safe_browsing::ChromeUserPopulation* population) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.population_);
  }
  _impl_.population_ = population;
  if (population) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientPhishingRequest.population)
}
inline ::safe_browsing::ChromeUserPopulation* ClientPhishingRequest::release_population() {
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* ClientPhishingRequest::unsafe_arena_release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.population)
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* ClientPhishingRequest::_internal_mutable_population() {
  _impl_._has_bits_[0] |= 0x00000010u;
  if (_impl_.population_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ChromeUserPopulation>(GetArenaForAllocation());
    _impl_.population_ = p;
  }
  return _impl_.population_;
}
inline ::safe_browsing::ChromeUserPopulation* ClientPhishingRequest::mutable_population() {
  ::safe_browsing::ChromeUserPopulation* _msg = _internal_mutable_population();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.population)
  return _msg;
}
inline void ClientPhishingRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.population_;
  }
  if (population) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(population);
    if (message_arena != submessage_arena) {
      population = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, population, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.population_ = population;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.population)
}

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

// ClientPhishingResponse

// required bool phishy = 1;
inline bool ClientPhishingResponse::_internal_has_phishy() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientPhishingResponse::has_phishy() const {
  return _internal_has_phishy();
}
inline void ClientPhishingResponse::clear_phishy() {
  _impl_.phishy_ = false;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline bool ClientPhishingResponse::_internal_phishy() const {
  return _impl_.phishy_;
}
inline bool ClientPhishingResponse::phishy() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingResponse.phishy)
  return _internal_phishy();
}
inline void ClientPhishingResponse::_internal_set_phishy(bool value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.phishy_ = value;
}
inline void ClientPhishingResponse::set_phishy(bool value) {
  _internal_set_phishy(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingResponse.phishy)
}

// repeated string OBSOLETE_whitelist_expression = 2;
inline int ClientPhishingResponse::_internal_obsolete_whitelist_expression_size() const {
  return _impl_.obsolete_whitelist_expression_.size();
}
inline int ClientPhishingResponse::obsolete_whitelist_expression_size() const {
  return _internal_obsolete_whitelist_expression_size();
}
inline void ClientPhishingResponse::clear_obsolete_whitelist_expression() {
  _impl_.obsolete_whitelist_expression_.Clear();
}
inline std::string* ClientPhishingResponse::add_obsolete_whitelist_expression() {
  std::string* _s = _internal_add_obsolete_whitelist_expression();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return _s;
}
inline const std::string& ClientPhishingResponse::_internal_obsolete_whitelist_expression(int index) const {
  return _impl_.obsolete_whitelist_expression_.Get(index);
}
inline const std::string& ClientPhishingResponse::obsolete_whitelist_expression(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return _internal_obsolete_whitelist_expression(index);
}
inline std::string* ClientPhishingResponse::mutable_obsolete_whitelist_expression(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return _impl_.obsolete_whitelist_expression_.Mutable(index);
}
inline void ClientPhishingResponse::set_obsolete_whitelist_expression(int index, const std::string& value) {
  _impl_.obsolete_whitelist_expression_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
inline void ClientPhishingResponse::set_obsolete_whitelist_expression(int index, std::string&& value) {
  _impl_.obsolete_whitelist_expression_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
inline void ClientPhishingResponse::set_obsolete_whitelist_expression(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.obsolete_whitelist_expression_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
inline void ClientPhishingResponse::set_obsolete_whitelist_expression(int index, const char* value, size_t size) {
  _impl_.obsolete_whitelist_expression_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
inline std::string* ClientPhishingResponse::_internal_add_obsolete_whitelist_expression() {
  return _impl_.obsolete_whitelist_expression_.Add();
}
inline void ClientPhishingResponse::add_obsolete_whitelist_expression(const std::string& value) {
  _impl_.obsolete_whitelist_expression_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
inline void ClientPhishingResponse::add_obsolete_whitelist_expression(std::string&& value) {
  _impl_.obsolete_whitelist_expression_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
inline void ClientPhishingResponse::add_obsolete_whitelist_expression(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.obsolete_whitelist_expression_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
inline void ClientPhishingResponse::add_obsolete_whitelist_expression(const char* value, size_t size) {
  _impl_.obsolete_whitelist_expression_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientPhishingResponse::obsolete_whitelist_expression() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return _impl_.obsolete_whitelist_expression_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientPhishingResponse::mutable_obsolete_whitelist_expression() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return &_impl_.obsolete_whitelist_expression_;
}

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

// ClientMalwareRequest_UrlInfo

// required string ip = 1;
inline bool ClientMalwareRequest_UrlInfo::_internal_has_ip() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientMalwareRequest_UrlInfo::has_ip() const {
  return _internal_has_ip();
}
inline void ClientMalwareRequest_UrlInfo::clear_ip() {
  _impl_.ip_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientMalwareRequest_UrlInfo::ip() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
  return _internal_ip();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientMalwareRequest_UrlInfo::set_ip(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.ip_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
}
inline std::string* ClientMalwareRequest_UrlInfo::mutable_ip() {
  std::string* _s = _internal_mutable_ip();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
  return _s;
}
inline const std::string& ClientMalwareRequest_UrlInfo::_internal_ip() const {
  return _impl_.ip_.Get();
}
inline void ClientMalwareRequest_UrlInfo::_internal_set_ip(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.ip_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest_UrlInfo::_internal_mutable_ip() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.ip_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest_UrlInfo::release_ip() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
  if (!_internal_has_ip()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.ip_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.ip_.IsDefault()) {
    _impl_.ip_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientMalwareRequest_UrlInfo::set_allocated_ip(std::string* ip) {
  if (ip != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.ip_.SetAllocated(ip, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.ip_.IsDefault()) {
    _impl_.ip_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
}

// required string url = 2;
inline bool ClientMalwareRequest_UrlInfo::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientMalwareRequest_UrlInfo::has_url() const {
  return _internal_has_url();
}
inline void ClientMalwareRequest_UrlInfo::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientMalwareRequest_UrlInfo::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientMalwareRequest_UrlInfo::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.url)
}
inline std::string* ClientMalwareRequest_UrlInfo::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.UrlInfo.url)
  return _s;
}
inline const std::string& ClientMalwareRequest_UrlInfo::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ClientMalwareRequest_UrlInfo::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest_UrlInfo::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest_UrlInfo::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.UrlInfo.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientMalwareRequest_UrlInfo::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.UrlInfo.url)
}

// optional string method = 3;
inline bool ClientMalwareRequest_UrlInfo::_internal_has_method() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientMalwareRequest_UrlInfo::has_method() const {
  return _internal_has_method();
}
inline void ClientMalwareRequest_UrlInfo::clear_method() {
  _impl_.method_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientMalwareRequest_UrlInfo::method() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.method)
  return _internal_method();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientMalwareRequest_UrlInfo::set_method(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.method_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.method)
}
inline std::string* ClientMalwareRequest_UrlInfo::mutable_method() {
  std::string* _s = _internal_mutable_method();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.UrlInfo.method)
  return _s;
}
inline const std::string& ClientMalwareRequest_UrlInfo::_internal_method() const {
  return _impl_.method_.Get();
}
inline void ClientMalwareRequest_UrlInfo::_internal_set_method(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.method_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest_UrlInfo::_internal_mutable_method() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.method_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest_UrlInfo::release_method() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.UrlInfo.method)
  if (!_internal_has_method()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.method_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.method_.IsDefault()) {
    _impl_.method_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientMalwareRequest_UrlInfo::set_allocated_method(std::string* method) {
  if (method != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.method_.SetAllocated(method, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.method_.IsDefault()) {
    _impl_.method_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.UrlInfo.method)
}

// optional string referrer = 4;
inline bool ClientMalwareRequest_UrlInfo::_internal_has_referrer() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientMalwareRequest_UrlInfo::has_referrer() const {
  return _internal_has_referrer();
}
inline void ClientMalwareRequest_UrlInfo::clear_referrer() {
  _impl_.referrer_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& ClientMalwareRequest_UrlInfo::referrer() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
  return _internal_referrer();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientMalwareRequest_UrlInfo::set_referrer(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.referrer_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
}
inline std::string* ClientMalwareRequest_UrlInfo::mutable_referrer() {
  std::string* _s = _internal_mutable_referrer();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
  return _s;
}
inline const std::string& ClientMalwareRequest_UrlInfo::_internal_referrer() const {
  return _impl_.referrer_.Get();
}
inline void ClientMalwareRequest_UrlInfo::_internal_set_referrer(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.referrer_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest_UrlInfo::_internal_mutable_referrer() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.referrer_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest_UrlInfo::release_referrer() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
  if (!_internal_has_referrer()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.referrer_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_.IsDefault()) {
    _impl_.referrer_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientMalwareRequest_UrlInfo::set_allocated_referrer(std::string* referrer) {
  if (referrer != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.referrer_.SetAllocated(referrer, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_.IsDefault()) {
    _impl_.referrer_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
}

// optional int32 resource_type = 5;
inline bool ClientMalwareRequest_UrlInfo::_internal_has_resource_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientMalwareRequest_UrlInfo::has_resource_type() const {
  return _internal_has_resource_type();
}
inline void ClientMalwareRequest_UrlInfo::clear_resource_type() {
  _impl_.resource_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline int32_t ClientMalwareRequest_UrlInfo::_internal_resource_type() const {
  return _impl_.resource_type_;
}
inline int32_t ClientMalwareRequest_UrlInfo::resource_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.resource_type)
  return _internal_resource_type();
}
inline void ClientMalwareRequest_UrlInfo::_internal_set_resource_type(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.resource_type_ = value;
}
inline void ClientMalwareRequest_UrlInfo::set_resource_type(int32_t value) {
  _internal_set_resource_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.resource_type)
}

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

// ClientMalwareRequest

// required string url = 1;
inline bool ClientMalwareRequest::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientMalwareRequest::has_url() const {
  return _internal_has_url();
}
inline void ClientMalwareRequest::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientMalwareRequest::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientMalwareRequest::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.url)
}
inline std::string* ClientMalwareRequest::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.url)
  return _s;
}
inline const std::string& ClientMalwareRequest::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ClientMalwareRequest::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientMalwareRequest::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.url)
}

// optional string referrer_url = 4;
inline bool ClientMalwareRequest::_internal_has_referrer_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientMalwareRequest::has_referrer_url() const {
  return _internal_has_referrer_url();
}
inline void ClientMalwareRequest::clear_referrer_url() {
  _impl_.referrer_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientMalwareRequest::referrer_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.referrer_url)
  return _internal_referrer_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientMalwareRequest::set_referrer_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.referrer_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.referrer_url)
}
inline std::string* ClientMalwareRequest::mutable_referrer_url() {
  std::string* _s = _internal_mutable_referrer_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.referrer_url)
  return _s;
}
inline const std::string& ClientMalwareRequest::_internal_referrer_url() const {
  return _impl_.referrer_url_.Get();
}
inline void ClientMalwareRequest::_internal_set_referrer_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.referrer_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest::_internal_mutable_referrer_url() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.referrer_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientMalwareRequest::release_referrer_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.referrer_url)
  if (!_internal_has_referrer_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.referrer_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_url_.IsDefault()) {
    _impl_.referrer_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientMalwareRequest::set_allocated_referrer_url(std::string* referrer_url) {
  if (referrer_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.referrer_url_.SetAllocated(referrer_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_url_.IsDefault()) {
    _impl_.referrer_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.referrer_url)
}

// repeated .safe_browsing.ClientMalwareRequest.UrlInfo bad_ip_url_info = 7;
inline int ClientMalwareRequest::_internal_bad_ip_url_info_size() const {
  return _impl_.bad_ip_url_info_.size();
}
inline int ClientMalwareRequest::bad_ip_url_info_size() const {
  return _internal_bad_ip_url_info_size();
}
inline void ClientMalwareRequest::clear_bad_ip_url_info() {
  _impl_.bad_ip_url_info_.Clear();
}
inline ::safe_browsing::ClientMalwareRequest_UrlInfo* ClientMalwareRequest::mutable_bad_ip_url_info(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return _impl_.bad_ip_url_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientMalwareRequest_UrlInfo >*
ClientMalwareRequest::mutable_bad_ip_url_info() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return &_impl_.bad_ip_url_info_;
}
inline const ::safe_browsing::ClientMalwareRequest_UrlInfo& ClientMalwareRequest::_internal_bad_ip_url_info(int index) const {
  return _impl_.bad_ip_url_info_.Get(index);
}
inline const ::safe_browsing::ClientMalwareRequest_UrlInfo& ClientMalwareRequest::bad_ip_url_info(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return _internal_bad_ip_url_info(index);
}
inline ::safe_browsing::ClientMalwareRequest_UrlInfo* ClientMalwareRequest::_internal_add_bad_ip_url_info() {
  return _impl_.bad_ip_url_info_.Add();
}
inline ::safe_browsing::ClientMalwareRequest_UrlInfo* ClientMalwareRequest::add_bad_ip_url_info() {
  ::safe_browsing::ClientMalwareRequest_UrlInfo* _add = _internal_add_bad_ip_url_info();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientMalwareRequest_UrlInfo >&
ClientMalwareRequest::bad_ip_url_info() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return _impl_.bad_ip_url_info_;
}

// optional .safe_browsing.ChromeUserPopulation population = 9;
inline bool ClientMalwareRequest::_internal_has_population() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.population_ != nullptr);
  return value;
}
inline bool ClientMalwareRequest::has_population() const {
  return _internal_has_population();
}
inline void ClientMalwareRequest::clear_population() {
  if (_impl_.population_ != nullptr) _impl_.population_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ChromeUserPopulation& ClientMalwareRequest::_internal_population() const {
  const ::safe_browsing::ChromeUserPopulation* p = _impl_.population_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ChromeUserPopulation&>(
      ::safe_browsing::_ChromeUserPopulation_default_instance_);
}
inline const ::safe_browsing::ChromeUserPopulation& ClientMalwareRequest::population() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.population)
  return _internal_population();
}
inline void ClientMalwareRequest::unsafe_arena_set_allocated_population(
    ::safe_browsing::ChromeUserPopulation* population) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.population_);
  }
  _impl_.population_ = population;
  if (population) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientMalwareRequest.population)
}
inline ::safe_browsing::ChromeUserPopulation* ClientMalwareRequest::release_population() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* ClientMalwareRequest::unsafe_arena_release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.population)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* ClientMalwareRequest::_internal_mutable_population() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.population_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ChromeUserPopulation>(GetArenaForAllocation());
    _impl_.population_ = p;
  }
  return _impl_.population_;
}
inline ::safe_browsing::ChromeUserPopulation* ClientMalwareRequest::mutable_population() {
  ::safe_browsing::ChromeUserPopulation* _msg = _internal_mutable_population();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.population)
  return _msg;
}
inline void ClientMalwareRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.population_;
  }
  if (population) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(population);
    if (message_arena != submessage_arena) {
      population = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, population, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.population_ = population;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.population)
}

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

// LoginReputationClientRequest_Frame_Form

// optional string action_url = 1;
inline bool LoginReputationClientRequest_Frame_Form::_internal_has_action_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_Frame_Form::has_action_url() const {
  return _internal_has_action_url();
}
inline void LoginReputationClientRequest_Frame_Form::clear_action_url() {
  _impl_.action_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& LoginReputationClientRequest_Frame_Form::action_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
  return _internal_action_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LoginReputationClientRequest_Frame_Form::set_action_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.action_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
}
inline std::string* LoginReputationClientRequest_Frame_Form::mutable_action_url() {
  std::string* _s = _internal_mutable_action_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
  return _s;
}
inline const std::string& LoginReputationClientRequest_Frame_Form::_internal_action_url() const {
  return _impl_.action_url_.Get();
}
inline void LoginReputationClientRequest_Frame_Form::_internal_set_action_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.action_url_.Set(value, GetArenaForAllocation());
}
inline std::string* LoginReputationClientRequest_Frame_Form::_internal_mutable_action_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.action_url_.Mutable(GetArenaForAllocation());
}
inline std::string* LoginReputationClientRequest_Frame_Form::release_action_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
  if (!_internal_has_action_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.action_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.action_url_.IsDefault()) {
    _impl_.action_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void LoginReputationClientRequest_Frame_Form::set_allocated_action_url(std::string* action_url) {
  if (action_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.action_url_.SetAllocated(action_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.action_url_.IsDefault()) {
    _impl_.action_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
}

// optional bool has_password_field = 2;
inline bool LoginReputationClientRequest_Frame_Form::_internal_has_has_password_field() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_Frame_Form::has_has_password_field() const {
  return _internal_has_has_password_field();
}
inline void LoginReputationClientRequest_Frame_Form::clear_has_password_field() {
  _impl_.has_password_field_ = false;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline bool LoginReputationClientRequest_Frame_Form::_internal_has_password_field() const {
  return _impl_.has_password_field_;
}
inline bool LoginReputationClientRequest_Frame_Form::has_password_field() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.has_password_field)
  return _internal_has_password_field();
}
inline void LoginReputationClientRequest_Frame_Form::_internal_set_has_password_field(bool value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.has_password_field_ = value;
}
inline void LoginReputationClientRequest_Frame_Form::set_has_password_field(bool value) {
  _internal_set_has_password_field(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.has_password_field)
}

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

// LoginReputationClientRequest_Frame

// optional int32 frame_index = 1;
inline bool LoginReputationClientRequest_Frame::_internal_has_frame_index() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_Frame::has_frame_index() const {
  return _internal_has_frame_index();
}
inline void LoginReputationClientRequest_Frame::clear_frame_index() {
  _impl_.frame_index_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline int32_t LoginReputationClientRequest_Frame::_internal_frame_index() const {
  return _impl_.frame_index_;
}
inline int32_t LoginReputationClientRequest_Frame::frame_index() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
  return _internal_frame_index();
}
inline void LoginReputationClientRequest_Frame::_internal_set_frame_index(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.frame_index_ = value;
}
inline void LoginReputationClientRequest_Frame::set_frame_index(int32_t value) {
  _internal_set_frame_index(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
}

// optional int32 parent_frame_index = 2;
inline bool LoginReputationClientRequest_Frame::_internal_has_parent_frame_index() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_Frame::has_parent_frame_index() const {
  return _internal_has_parent_frame_index();
}
inline void LoginReputationClientRequest_Frame::clear_parent_frame_index() {
  _impl_.parent_frame_index_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline int32_t LoginReputationClientRequest_Frame::_internal_parent_frame_index() const {
  return _impl_.parent_frame_index_;
}
inline int32_t LoginReputationClientRequest_Frame::parent_frame_index() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
  return _internal_parent_frame_index();
}
inline void LoginReputationClientRequest_Frame::_internal_set_parent_frame_index(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.parent_frame_index_ = value;
}
inline void LoginReputationClientRequest_Frame::set_parent_frame_index(int32_t value) {
  _internal_set_parent_frame_index(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
}

// optional string url = 3;
inline bool LoginReputationClientRequest_Frame::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_Frame::has_url() const {
  return _internal_has_url();
}
inline void LoginReputationClientRequest_Frame::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& LoginReputationClientRequest_Frame::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LoginReputationClientRequest_Frame::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.url)
}
inline std::string* LoginReputationClientRequest_Frame::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.url)
  return _s;
}
inline const std::string& LoginReputationClientRequest_Frame::_internal_url() const {
  return _impl_.url_.Get();
}
inline void LoginReputationClientRequest_Frame::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* LoginReputationClientRequest_Frame::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* LoginReputationClientRequest_Frame::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void LoginReputationClientRequest_Frame::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.url)
}

// optional bool has_password_field = 4;
inline bool LoginReputationClientRequest_Frame::_internal_has_has_password_field() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_Frame::has_has_password_field() const {
  return _internal_has_has_password_field();
}
inline void LoginReputationClientRequest_Frame::clear_has_password_field() {
  _impl_.has_password_field_ = false;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline bool LoginReputationClientRequest_Frame::_internal_has_password_field() const {
  return _impl_.has_password_field_;
}
inline bool LoginReputationClientRequest_Frame::has_password_field() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
  return _internal_has_password_field();
}
inline void LoginReputationClientRequest_Frame::_internal_set_has_password_field(bool value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.has_password_field_ = value;
}
inline void LoginReputationClientRequest_Frame::set_has_password_field(bool value) {
  _internal_set_has_password_field(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
}

// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
inline int LoginReputationClientRequest_Frame::_internal_referrer_chain_size() const {
  return _impl_.referrer_chain_.size();
}
inline int LoginReputationClientRequest_Frame::referrer_chain_size() const {
  return _internal_referrer_chain_size();
}
inline void LoginReputationClientRequest_Frame::clear_referrer_chain() {
  _impl_.referrer_chain_.Clear();
}
inline ::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::mutable_referrer_chain(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return _impl_.referrer_chain_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
LoginReputationClientRequest_Frame::mutable_referrer_chain() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return &_impl_.referrer_chain_;
}
inline const ::safe_browsing::ReferrerChainEntry& LoginReputationClientRequest_Frame::_internal_referrer_chain(int index) const {
  return _impl_.referrer_chain_.Get(index);
}
inline const ::safe_browsing::ReferrerChainEntry& LoginReputationClientRequest_Frame::referrer_chain(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return _internal_referrer_chain(index);
}
inline ::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::_internal_add_referrer_chain() {
  return _impl_.referrer_chain_.Add();
}
inline ::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::add_referrer_chain() {
  ::safe_browsing::ReferrerChainEntry* _add = _internal_add_referrer_chain();
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
LoginReputationClientRequest_Frame::referrer_chain() const {
  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return _impl_.referrer_chain_;
}

// repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
inline int LoginReputationClientRequest_Frame::_internal_forms_size() const {
  return _impl_.forms_.size();
}
inline int LoginReputationClientRequest_Frame::forms_size() const {
  return _internal_forms_size();
}
inline void LoginReputationClientRequest_Frame::clear_forms() {
  _impl_.forms_.Clear();
}
inline ::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::mutable_forms(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return _impl_.forms_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >*
LoginReputationClientRequest_Frame::mutable_forms() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return &_impl_.forms_;
}
inline const ::safe_browsing::LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame::_internal_forms(int index) const {
  return _impl_.forms_.Get(index);
}
inline const ::safe_browsing::LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame::forms(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return _internal_forms(index);
}
inline ::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::_internal_add_forms() {
  return _impl_.forms_.Add();
}
inline ::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::add_forms() {
  ::safe_browsing::LoginReputationClientRequest_Frame_Form* _add = _internal_add_forms();
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >&
LoginReputationClientRequest_Frame::forms() const {
  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return _impl_.forms_;
}

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

// LoginReputationClientRequest_PasswordReuseEvent

// repeated string domains_matching_password = 1;
inline int LoginReputationClientRequest_PasswordReuseEvent::_internal_domains_matching_password_size() const {
  return _impl_.domains_matching_password_.size();
}
inline int LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password_size() const {
  return _internal_domains_matching_password_size();
}
inline void LoginReputationClientRequest_PasswordReuseEvent::clear_domains_matching_password() {
  _impl_.domains_matching_password_.Clear();
}
inline std::string* LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password() {
  std::string* _s = _internal_add_domains_matching_password();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return _s;
}
inline const std::string& LoginReputationClientRequest_PasswordReuseEvent::_internal_domains_matching_password(int index) const {
  return _impl_.domains_matching_password_.Get(index);
}
inline const std::string& LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return _internal_domains_matching_password(index);
}
inline std::string* LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return _impl_.domains_matching_password_.Mutable(index);
}
inline void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const std::string& value) {
  _impl_.domains_matching_password_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
inline void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, std::string&& value) {
  _impl_.domains_matching_password_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
inline void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.domains_matching_password_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
inline void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value, size_t size) {
  _impl_.domains_matching_password_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
inline std::string* LoginReputationClientRequest_PasswordReuseEvent::_internal_add_domains_matching_password() {
  return _impl_.domains_matching_password_.Add();
}
inline void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const std::string& value) {
  _impl_.domains_matching_password_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
inline void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(std::string&& value) {
  _impl_.domains_matching_password_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
inline void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.domains_matching_password_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
inline void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value, size_t size) {
  _impl_.domains_matching_password_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password() const {
  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return _impl_.domains_matching_password_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return &_impl_.domains_matching_password_;
}

// optional int32 frame_id = 2;
inline bool LoginReputationClientRequest_PasswordReuseEvent::_internal_has_frame_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_PasswordReuseEvent::has_frame_id() const {
  return _internal_has_frame_id();
}
inline void LoginReputationClientRequest_PasswordReuseEvent::clear_frame_id() {
  _impl_.frame_id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline int32_t LoginReputationClientRequest_PasswordReuseEvent::_internal_frame_id() const {
  return _impl_.frame_id_;
}
inline int32_t LoginReputationClientRequest_PasswordReuseEvent::frame_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
  return _internal_frame_id();
}
inline void LoginReputationClientRequest_PasswordReuseEvent::_internal_set_frame_id(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.frame_id_ = value;
}
inline void LoginReputationClientRequest_PasswordReuseEvent::set_frame_id(int32_t value) {
  _internal_set_frame_id(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
}

// optional bool is_chrome_signin_password = 3;
inline bool LoginReputationClientRequest_PasswordReuseEvent::_internal_has_is_chrome_signin_password() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_PasswordReuseEvent::has_is_chrome_signin_password() const {
  return _internal_has_is_chrome_signin_password();
}
inline void LoginReputationClientRequest_PasswordReuseEvent::clear_is_chrome_signin_password() {
  _impl_.is_chrome_signin_password_ = false;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline bool LoginReputationClientRequest_PasswordReuseEvent::_internal_is_chrome_signin_password() const {
  return _impl_.is_chrome_signin_password_;
}
inline bool LoginReputationClientRequest_PasswordReuseEvent::is_chrome_signin_password() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.is_chrome_signin_password)
  return _internal_is_chrome_signin_password();
}
inline void LoginReputationClientRequest_PasswordReuseEvent::_internal_set_is_chrome_signin_password(bool value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.is_chrome_signin_password_ = value;
}
inline void LoginReputationClientRequest_PasswordReuseEvent::set_is_chrome_signin_password(bool value) {
  _internal_set_is_chrome_signin_password(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.is_chrome_signin_password)
}

// optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
inline bool LoginReputationClientRequest_PasswordReuseEvent::_internal_has_sync_account_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool LoginReputationClientRequest_PasswordReuseEvent::has_sync_account_type() const {
  return _internal_has_sync_account_type();
}
inline void LoginReputationClientRequest_PasswordReuseEvent::clear_sync_account_type() {
  _impl_.sync_account_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::_internal_sync_account_type() const {
  return static_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType >(_impl_.sync_account_type_);
}
inline ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::sync_account_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.sync_account_type)
  return _internal_sync_account_type();
}
inline void LoginReputationClientRequest_PasswordReuseEvent::_internal_set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value) {
  assert(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.sync_account_type_ = value;
}
inline void LoginReputationClientRequest_PasswordReuseEvent::set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value) {
  _internal_set_sync_account_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.sync_account_type)
}

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

// LoginReputationClientRequest

// optional string page_url = 1;
inline bool LoginReputationClientRequest::_internal_has_page_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool LoginReputationClientRequest::has_page_url() const {
  return _internal_has_page_url();
}
inline void LoginReputationClientRequest::clear_page_url() {
  _impl_.page_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& LoginReputationClientRequest::page_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.page_url)
  return _internal_page_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LoginReputationClientRequest::set_page_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.page_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.page_url)
}
inline std::string* LoginReputationClientRequest::mutable_page_url() {
  std::string* _s = _internal_mutable_page_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.page_url)
  return _s;
}
inline const std::string& LoginReputationClientRequest::_internal_page_url() const {
  return _impl_.page_url_.Get();
}
inline void LoginReputationClientRequest::_internal_set_page_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.page_url_.Set(value, GetArenaForAllocation());
}
inline std::string* LoginReputationClientRequest::_internal_mutable_page_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.page_url_.Mutable(GetArenaForAllocation());
}
inline std::string* LoginReputationClientRequest::release_page_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.page_url)
  if (!_internal_has_page_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.page_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.page_url_.IsDefault()) {
    _impl_.page_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void LoginReputationClientRequest::set_allocated_page_url(std::string* page_url) {
  if (page_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.page_url_.SetAllocated(page_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.page_url_.IsDefault()) {
    _impl_.page_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.page_url)
}

// optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
inline bool LoginReputationClientRequest::_internal_has_trigger_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool LoginReputationClientRequest::has_trigger_type() const {
  return _internal_has_trigger_type();
}
inline void LoginReputationClientRequest::clear_trigger_type() {
  _impl_.trigger_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline ::safe_browsing::LoginReputationClientRequest_TriggerType LoginReputationClientRequest::_internal_trigger_type() const {
  return static_cast< ::safe_browsing::LoginReputationClientRequest_TriggerType >(_impl_.trigger_type_);
}
inline ::safe_browsing::LoginReputationClientRequest_TriggerType LoginReputationClientRequest::trigger_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.trigger_type)
  return _internal_trigger_type();
}
inline void LoginReputationClientRequest::_internal_set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value) {
  assert(::safe_browsing::LoginReputationClientRequest_TriggerType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.trigger_type_ = value;
}
inline void LoginReputationClientRequest::set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value) {
  _internal_set_trigger_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.trigger_type)
}

// repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
inline int LoginReputationClientRequest::_internal_frames_size() const {
  return _impl_.frames_.size();
}
inline int LoginReputationClientRequest::frames_size() const {
  return _internal_frames_size();
}
inline void LoginReputationClientRequest::clear_frames() {
  _impl_.frames_.Clear();
}
inline ::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::mutable_frames(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.frames)
  return _impl_.frames_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >*
LoginReputationClientRequest::mutable_frames() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.frames)
  return &_impl_.frames_;
}
inline const ::safe_browsing::LoginReputationClientRequest_Frame& LoginReputationClientRequest::_internal_frames(int index) const {
  return _impl_.frames_.Get(index);
}
inline const ::safe_browsing::LoginReputationClientRequest_Frame& LoginReputationClientRequest::frames(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.frames)
  return _internal_frames(index);
}
inline ::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::_internal_add_frames() {
  return _impl_.frames_.Add();
}
inline ::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::add_frames() {
  ::safe_browsing::LoginReputationClientRequest_Frame* _add = _internal_add_frames();
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.frames)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >&
LoginReputationClientRequest::frames() const {
  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.frames)
  return _impl_.frames_;
}

// optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
inline bool LoginReputationClientRequest::_internal_has_password_reuse_event() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.password_reuse_event_ != nullptr);
  return value;
}
inline bool LoginReputationClientRequest::has_password_reuse_event() const {
  return _internal_has_password_reuse_event();
}
inline void LoginReputationClientRequest::clear_password_reuse_event() {
  if (_impl_.password_reuse_event_ != nullptr) _impl_.password_reuse_event_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest::_internal_password_reuse_event() const {
  const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* p = _impl_.password_reuse_event_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent&>(
      ::safe_browsing::_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);
}
inline const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest::password_reuse_event() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.password_reuse_event)
  return _internal_password_reuse_event();
}
inline void LoginReputationClientRequest::unsafe_arena_set_allocated_password_reuse_event(
    ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.password_reuse_event_);
  }
  _impl_.password_reuse_event_ = password_reuse_event;
  if (password_reuse_event) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.LoginReputationClientRequest.password_reuse_event)
}
inline ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::release_password_reuse_event() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* temp = _impl_.password_reuse_event_;
  _impl_.password_reuse_event_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::unsafe_arena_release_password_reuse_event() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.password_reuse_event)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* temp = _impl_.password_reuse_event_;
  _impl_.password_reuse_event_ = nullptr;
  return temp;
}
inline ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::_internal_mutable_password_reuse_event() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.password_reuse_event_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent>(GetArenaForAllocation());
    _impl_.password_reuse_event_ = p;
  }
  return _impl_.password_reuse_event_;
}
inline ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::mutable_password_reuse_event() {
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* _msg = _internal_mutable_password_reuse_event();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.password_reuse_event)
  return _msg;
}
inline void LoginReputationClientRequest::set_allocated_password_reuse_event(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.password_reuse_event_;
  }
  if (password_reuse_event) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(password_reuse_event);
    if (message_arena != submessage_arena) {
      password_reuse_event = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, password_reuse_event, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.password_reuse_event_ = password_reuse_event;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.password_reuse_event)
}

// optional int32 stored_verdict_cnt = 5;
inline bool LoginReputationClientRequest::_internal_has_stored_verdict_cnt() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool LoginReputationClientRequest::has_stored_verdict_cnt() const {
  return _internal_has_stored_verdict_cnt();
}
inline void LoginReputationClientRequest::clear_stored_verdict_cnt() {
  _impl_.stored_verdict_cnt_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline int32_t LoginReputationClientRequest::_internal_stored_verdict_cnt() const {
  return _impl_.stored_verdict_cnt_;
}
inline int32_t LoginReputationClientRequest::stored_verdict_cnt() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
  return _internal_stored_verdict_cnt();
}
inline void LoginReputationClientRequest::_internal_set_stored_verdict_cnt(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.stored_verdict_cnt_ = value;
}
inline void LoginReputationClientRequest::set_stored_verdict_cnt(int32_t value) {
  _internal_set_stored_verdict_cnt(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
}

// optional .safe_browsing.ChromeUserPopulation population = 6;
inline bool LoginReputationClientRequest::_internal_has_population() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.population_ != nullptr);
  return value;
}
inline bool LoginReputationClientRequest::has_population() const {
  return _internal_has_population();
}
inline void LoginReputationClientRequest::clear_population() {
  if (_impl_.population_ != nullptr) _impl_.population_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ChromeUserPopulation& LoginReputationClientRequest::_internal_population() const {
  const ::safe_browsing::ChromeUserPopulation* p = _impl_.population_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ChromeUserPopulation&>(
      ::safe_browsing::_ChromeUserPopulation_default_instance_);
}
inline const ::safe_browsing::ChromeUserPopulation& LoginReputationClientRequest::population() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.population)
  return _internal_population();
}
inline void LoginReputationClientRequest::unsafe_arena_set_allocated_population(
    ::safe_browsing::ChromeUserPopulation* population) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.population_);
  }
  _impl_.population_ = population;
  if (population) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.LoginReputationClientRequest.population)
}
inline ::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::release_population() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::unsafe_arena_release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.population)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::_internal_mutable_population() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.population_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ChromeUserPopulation>(GetArenaForAllocation());
    _impl_.population_ = p;
  }
  return _impl_.population_;
}
inline ::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::mutable_population() {
  ::safe_browsing::ChromeUserPopulation* _msg = _internal_mutable_population();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.population)
  return _msg;
}
inline void LoginReputationClientRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.population_;
  }
  if (population) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(population);
    if (message_arena != submessage_arena) {
      population = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, population, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.population_ = population;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.population)
}

// optional bool clicked_through_interstitial = 7;
inline bool LoginReputationClientRequest::_internal_has_clicked_through_interstitial() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool LoginReputationClientRequest::has_clicked_through_interstitial() const {
  return _internal_has_clicked_through_interstitial();
}
inline void LoginReputationClientRequest::clear_clicked_through_interstitial() {
  _impl_.clicked_through_interstitial_ = false;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline bool LoginReputationClientRequest::_internal_clicked_through_interstitial() const {
  return _impl_.clicked_through_interstitial_;
}
inline bool LoginReputationClientRequest::clicked_through_interstitial() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
  return _internal_clicked_through_interstitial();
}
inline void LoginReputationClientRequest::_internal_set_clicked_through_interstitial(bool value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.clicked_through_interstitial_ = value;
}
inline void LoginReputationClientRequest::set_clicked_through_interstitial(bool value) {
  _internal_set_clicked_through_interstitial(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
}

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

// LoginReputationClientResponse

// optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
inline bool LoginReputationClientResponse::_internal_has_verdict_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool LoginReputationClientResponse::has_verdict_type() const {
  return _internal_has_verdict_type();
}
inline void LoginReputationClientResponse::clear_verdict_type() {
  _impl_.verdict_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline ::safe_browsing::LoginReputationClientResponse_VerdictType LoginReputationClientResponse::_internal_verdict_type() const {
  return static_cast< ::safe_browsing::LoginReputationClientResponse_VerdictType >(_impl_.verdict_type_);
}
inline ::safe_browsing::LoginReputationClientResponse_VerdictType LoginReputationClientResponse::verdict_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_type)
  return _internal_verdict_type();
}
inline void LoginReputationClientResponse::_internal_set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value) {
  assert(::safe_browsing::LoginReputationClientResponse_VerdictType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.verdict_type_ = value;
}
inline void LoginReputationClientResponse::set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value) {
  _internal_set_verdict_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_type)
}

// optional int64 cache_duration_sec = 2;
inline bool LoginReputationClientResponse::_internal_has_cache_duration_sec() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool LoginReputationClientResponse::has_cache_duration_sec() const {
  return _internal_has_cache_duration_sec();
}
inline void LoginReputationClientResponse::clear_cache_duration_sec() {
  _impl_.cache_duration_sec_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline int64_t LoginReputationClientResponse::_internal_cache_duration_sec() const {
  return _impl_.cache_duration_sec_;
}
inline int64_t LoginReputationClientResponse::cache_duration_sec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
  return _internal_cache_duration_sec();
}
inline void LoginReputationClientResponse::_internal_set_cache_duration_sec(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.cache_duration_sec_ = value;
}
inline void LoginReputationClientResponse::set_cache_duration_sec(int64_t value) {
  _internal_set_cache_duration_sec(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
}

// optional string cache_expression = 3;
inline bool LoginReputationClientResponse::_internal_has_cache_expression() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool LoginReputationClientResponse::has_cache_expression() const {
  return _internal_has_cache_expression();
}
inline void LoginReputationClientResponse::clear_cache_expression() {
  _impl_.cache_expression_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& LoginReputationClientResponse::cache_expression() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_expression)
  return _internal_cache_expression();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LoginReputationClientResponse::set_cache_expression(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.cache_expression_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_expression)
}
inline std::string* LoginReputationClientResponse::mutable_cache_expression() {
  std::string* _s = _internal_mutable_cache_expression();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.cache_expression)
  return _s;
}
inline const std::string& LoginReputationClientResponse::_internal_cache_expression() const {
  return _impl_.cache_expression_.Get();
}
inline void LoginReputationClientResponse::_internal_set_cache_expression(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.cache_expression_.Set(value, GetArenaForAllocation());
}
inline std::string* LoginReputationClientResponse::_internal_mutable_cache_expression() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.cache_expression_.Mutable(GetArenaForAllocation());
}
inline std::string* LoginReputationClientResponse::release_cache_expression() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.cache_expression)
  if (!_internal_has_cache_expression()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.cache_expression_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cache_expression_.IsDefault()) {
    _impl_.cache_expression_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void LoginReputationClientResponse::set_allocated_cache_expression(std::string* cache_expression) {
  if (cache_expression != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.cache_expression_.SetAllocated(cache_expression, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cache_expression_.IsDefault()) {
    _impl_.cache_expression_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.cache_expression)
}

// optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
inline bool LoginReputationClientResponse::_internal_has_deprecated_cache_expression_exact_match() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool LoginReputationClientResponse::has_deprecated_cache_expression_exact_match() const {
  return _internal_has_deprecated_cache_expression_exact_match();
}
inline void LoginReputationClientResponse::clear_deprecated_cache_expression_exact_match() {
  _impl_.deprecated_cache_expression_exact_match_ = false;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline bool LoginReputationClientResponse::_internal_deprecated_cache_expression_exact_match() const {
  return _impl_.deprecated_cache_expression_exact_match_;
}
inline bool LoginReputationClientResponse::deprecated_cache_expression_exact_match() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.DEPRECATED_cache_expression_exact_match)
  return _internal_deprecated_cache_expression_exact_match();
}
inline void LoginReputationClientResponse::_internal_set_deprecated_cache_expression_exact_match(bool value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.deprecated_cache_expression_exact_match_ = value;
}
inline void LoginReputationClientResponse::set_deprecated_cache_expression_exact_match(bool value) {
  _internal_set_deprecated_cache_expression_exact_match(value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.DEPRECATED_cache_expression_exact_match)
}

// optional bytes verdict_token = 5;
inline bool LoginReputationClientResponse::_internal_has_verdict_token() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool LoginReputationClientResponse::has_verdict_token() const {
  return _internal_has_verdict_token();
}
inline void LoginReputationClientResponse::clear_verdict_token() {
  _impl_.verdict_token_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& LoginReputationClientResponse::verdict_token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_token)
  return _internal_verdict_token();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void LoginReputationClientResponse::set_verdict_token(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.verdict_token_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_token)
}
inline std::string* LoginReputationClientResponse::mutable_verdict_token() {
  std::string* _s = _internal_mutable_verdict_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.verdict_token)
  return _s;
}
inline const std::string& LoginReputationClientResponse::_internal_verdict_token() const {
  return _impl_.verdict_token_.Get();
}
inline void LoginReputationClientResponse::_internal_set_verdict_token(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.verdict_token_.Set(value, GetArenaForAllocation());
}
inline std::string* LoginReputationClientResponse::_internal_mutable_verdict_token() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.verdict_token_.Mutable(GetArenaForAllocation());
}
inline std::string* LoginReputationClientResponse::release_verdict_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.verdict_token)
  if (!_internal_has_verdict_token()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.verdict_token_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.verdict_token_.IsDefault()) {
    _impl_.verdict_token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void LoginReputationClientResponse::set_allocated_verdict_token(std::string* verdict_token) {
  if (verdict_token != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.verdict_token_.SetAllocated(verdict_token, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.verdict_token_.IsDefault()) {
    _impl_.verdict_token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.verdict_token)
}

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

// ClientMalwareResponse

// required bool blacklist = 1;
inline bool ClientMalwareResponse::_internal_has_blacklist() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientMalwareResponse::has_blacklist() const {
  return _internal_has_blacklist();
}
inline void ClientMalwareResponse::clear_blacklist() {
  _impl_.blacklist_ = false;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline bool ClientMalwareResponse::_internal_blacklist() const {
  return _impl_.blacklist_;
}
inline bool ClientMalwareResponse::blacklist() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareResponse.blacklist)
  return _internal_blacklist();
}
inline void ClientMalwareResponse::_internal_set_blacklist(bool value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.blacklist_ = value;
}
inline void ClientMalwareResponse::set_blacklist(bool value) {
  _internal_set_blacklist(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareResponse.blacklist)
}

// optional string bad_ip = 2;
inline bool ClientMalwareResponse::_internal_has_bad_ip() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientMalwareResponse::has_bad_ip() const {
  return _internal_has_bad_ip();
}
inline void ClientMalwareResponse::clear_bad_ip() {
  _impl_.bad_ip_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientMalwareResponse::bad_ip() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareResponse.bad_ip)
  return _internal_bad_ip();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientMalwareResponse::set_bad_ip(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.bad_ip_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareResponse.bad_ip)
}
inline std::string* ClientMalwareResponse::mutable_bad_ip() {
  std::string* _s = _internal_mutable_bad_ip();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareResponse.bad_ip)
  return _s;
}
inline const std::string& ClientMalwareResponse::_internal_bad_ip() const {
  return _impl_.bad_ip_.Get();
}
inline void ClientMalwareResponse::_internal_set_bad_ip(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.bad_ip_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientMalwareResponse::_internal_mutable_bad_ip() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.bad_ip_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientMalwareResponse::release_bad_ip() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareResponse.bad_ip)
  if (!_internal_has_bad_ip()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.bad_ip_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.bad_ip_.IsDefault()) {
    _impl_.bad_ip_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientMalwareResponse::set_allocated_bad_ip(std::string* bad_ip) {
  if (bad_ip != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.bad_ip_.SetAllocated(bad_ip, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.bad_ip_.IsDefault()) {
    _impl_.bad_ip_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareResponse.bad_ip)
}

// optional string bad_url = 3;
inline bool ClientMalwareResponse::_internal_has_bad_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientMalwareResponse::has_bad_url() const {
  return _internal_has_bad_url();
}
inline void ClientMalwareResponse::clear_bad_url() {
  _impl_.bad_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientMalwareResponse::bad_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareResponse.bad_url)
  return _internal_bad_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientMalwareResponse::set_bad_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.bad_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareResponse.bad_url)
}
inline std::string* ClientMalwareResponse::mutable_bad_url() {
  std::string* _s = _internal_mutable_bad_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareResponse.bad_url)
  return _s;
}
inline const std::string& ClientMalwareResponse::_internal_bad_url() const {
  return _impl_.bad_url_.Get();
}
inline void ClientMalwareResponse::_internal_set_bad_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.bad_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientMalwareResponse::_internal_mutable_bad_url() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.bad_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientMalwareResponse::release_bad_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareResponse.bad_url)
  if (!_internal_has_bad_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.bad_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.bad_url_.IsDefault()) {
    _impl_.bad_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientMalwareResponse::set_allocated_bad_url(std::string* bad_url) {
  if (bad_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.bad_url_.SetAllocated(bad_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.bad_url_.IsDefault()) {
    _impl_.bad_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareResponse.bad_url)
}

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

// ClientDownloadRequest_Digests

// optional bytes sha256 = 1;
inline bool ClientDownloadRequest_Digests::_internal_has_sha256() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_Digests::has_sha256() const {
  return _internal_has_sha256();
}
inline void ClientDownloadRequest_Digests::clear_sha256() {
  _impl_.sha256_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_Digests::sha256() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Digests.sha256)
  return _internal_sha256();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_Digests::set_sha256(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.sha256_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Digests.sha256)
}
inline std::string* ClientDownloadRequest_Digests::mutable_sha256() {
  std::string* _s = _internal_mutable_sha256();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Digests.sha256)
  return _s;
}
inline const std::string& ClientDownloadRequest_Digests::_internal_sha256() const {
  return _impl_.sha256_.Get();
}
inline void ClientDownloadRequest_Digests::_internal_set_sha256(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.sha256_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Digests::_internal_mutable_sha256() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.sha256_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Digests::release_sha256() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Digests.sha256)
  if (!_internal_has_sha256()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.sha256_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.sha256_.IsDefault()) {
    _impl_.sha256_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_Digests::set_allocated_sha256(std::string* sha256) {
  if (sha256 != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.sha256_.SetAllocated(sha256, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.sha256_.IsDefault()) {
    _impl_.sha256_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Digests.sha256)
}

// optional bytes sha1 = 2;
inline bool ClientDownloadRequest_Digests::_internal_has_sha1() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientDownloadRequest_Digests::has_sha1() const {
  return _internal_has_sha1();
}
inline void ClientDownloadRequest_Digests::clear_sha1() {
  _impl_.sha1_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientDownloadRequest_Digests::sha1() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Digests.sha1)
  return _internal_sha1();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_Digests::set_sha1(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.sha1_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Digests.sha1)
}
inline std::string* ClientDownloadRequest_Digests::mutable_sha1() {
  std::string* _s = _internal_mutable_sha1();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Digests.sha1)
  return _s;
}
inline const std::string& ClientDownloadRequest_Digests::_internal_sha1() const {
  return _impl_.sha1_.Get();
}
inline void ClientDownloadRequest_Digests::_internal_set_sha1(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.sha1_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Digests::_internal_mutable_sha1() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.sha1_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Digests::release_sha1() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Digests.sha1)
  if (!_internal_has_sha1()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.sha1_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.sha1_.IsDefault()) {
    _impl_.sha1_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_Digests::set_allocated_sha1(std::string* sha1) {
  if (sha1 != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.sha1_.SetAllocated(sha1, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.sha1_.IsDefault()) {
    _impl_.sha1_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Digests.sha1)
}

// optional bytes md5 = 3;
inline bool ClientDownloadRequest_Digests::_internal_has_md5() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientDownloadRequest_Digests::has_md5() const {
  return _internal_has_md5();
}
inline void ClientDownloadRequest_Digests::clear_md5() {
  _impl_.md5_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientDownloadRequest_Digests::md5() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Digests.md5)
  return _internal_md5();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_Digests::set_md5(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.md5_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Digests.md5)
}
inline std::string* ClientDownloadRequest_Digests::mutable_md5() {
  std::string* _s = _internal_mutable_md5();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Digests.md5)
  return _s;
}
inline const std::string& ClientDownloadRequest_Digests::_internal_md5() const {
  return _impl_.md5_.Get();
}
inline void ClientDownloadRequest_Digests::_internal_set_md5(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.md5_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Digests::_internal_mutable_md5() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.md5_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Digests::release_md5() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Digests.md5)
  if (!_internal_has_md5()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.md5_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.md5_.IsDefault()) {
    _impl_.md5_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_Digests::set_allocated_md5(std::string* md5) {
  if (md5 != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.md5_.SetAllocated(md5, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.md5_.IsDefault()) {
    _impl_.md5_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Digests.md5)
}

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

// ClientDownloadRequest_Resource

// required string url = 1;
inline bool ClientDownloadRequest_Resource::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_Resource::has_url() const {
  return _internal_has_url();
}
inline void ClientDownloadRequest_Resource::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_Resource::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Resource.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_Resource::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Resource.url)
}
inline std::string* ClientDownloadRequest_Resource::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Resource.url)
  return _s;
}
inline const std::string& ClientDownloadRequest_Resource::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ClientDownloadRequest_Resource::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Resource::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Resource::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Resource.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_Resource::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Resource.url)
}

// required .safe_browsing.ClientDownloadRequest.ResourceType type = 2;
inline bool ClientDownloadRequest_Resource::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientDownloadRequest_Resource::has_type() const {
  return _internal_has_type();
}
inline void ClientDownloadRequest_Resource::clear_type() {
  _impl_.type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline ::safe_browsing::ClientDownloadRequest_ResourceType ClientDownloadRequest_Resource::_internal_type() const {
  return static_cast< ::safe_browsing::ClientDownloadRequest_ResourceType >(_impl_.type_);
}
inline ::safe_browsing::ClientDownloadRequest_ResourceType ClientDownloadRequest_Resource::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Resource.type)
  return _internal_type();
}
inline void ClientDownloadRequest_Resource::_internal_set_type(::safe_browsing::ClientDownloadRequest_ResourceType value) {
  assert(::safe_browsing::ClientDownloadRequest_ResourceType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.type_ = value;
}
inline void ClientDownloadRequest_Resource::set_type(::safe_browsing::ClientDownloadRequest_ResourceType value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Resource.type)
}

// optional bytes remote_ip = 3;
inline bool ClientDownloadRequest_Resource::_internal_has_remote_ip() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientDownloadRequest_Resource::has_remote_ip() const {
  return _internal_has_remote_ip();
}
inline void ClientDownloadRequest_Resource::clear_remote_ip() {
  _impl_.remote_ip_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientDownloadRequest_Resource::remote_ip() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
  return _internal_remote_ip();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_Resource::set_remote_ip(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.remote_ip_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
}
inline std::string* ClientDownloadRequest_Resource::mutable_remote_ip() {
  std::string* _s = _internal_mutable_remote_ip();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
  return _s;
}
inline const std::string& ClientDownloadRequest_Resource::_internal_remote_ip() const {
  return _impl_.remote_ip_.Get();
}
inline void ClientDownloadRequest_Resource::_internal_set_remote_ip(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.remote_ip_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Resource::_internal_mutable_remote_ip() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.remote_ip_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Resource::release_remote_ip() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
  if (!_internal_has_remote_ip()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.remote_ip_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.remote_ip_.IsDefault()) {
    _impl_.remote_ip_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_Resource::set_allocated_remote_ip(std::string* remote_ip) {
  if (remote_ip != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.remote_ip_.SetAllocated(remote_ip, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.remote_ip_.IsDefault()) {
    _impl_.remote_ip_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
}

// optional string referrer = 4;
inline bool ClientDownloadRequest_Resource::_internal_has_referrer() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientDownloadRequest_Resource::has_referrer() const {
  return _internal_has_referrer();
}
inline void ClientDownloadRequest_Resource::clear_referrer() {
  _impl_.referrer_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientDownloadRequest_Resource::referrer() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Resource.referrer)
  return _internal_referrer();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_Resource::set_referrer(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.referrer_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Resource.referrer)
}
inline std::string* ClientDownloadRequest_Resource::mutable_referrer() {
  std::string* _s = _internal_mutable_referrer();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Resource.referrer)
  return _s;
}
inline const std::string& ClientDownloadRequest_Resource::_internal_referrer() const {
  return _impl_.referrer_.Get();
}
inline void ClientDownloadRequest_Resource::_internal_set_referrer(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.referrer_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Resource::_internal_mutable_referrer() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.referrer_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_Resource::release_referrer() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Resource.referrer)
  if (!_internal_has_referrer()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.referrer_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_.IsDefault()) {
    _impl_.referrer_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_Resource::set_allocated_referrer(std::string* referrer) {
  if (referrer != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.referrer_.SetAllocated(referrer, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_.IsDefault()) {
    _impl_.referrer_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Resource.referrer)
}

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

// ClientDownloadRequest_CertificateChain_Element

// optional bytes certificate = 1;
inline bool ClientDownloadRequest_CertificateChain_Element::_internal_has_certificate() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_CertificateChain_Element::has_certificate() const {
  return _internal_has_certificate();
}
inline void ClientDownloadRequest_CertificateChain_Element::clear_certificate() {
  _impl_.certificate_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_CertificateChain_Element::certificate() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
  return _internal_certificate();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_CertificateChain_Element::set_certificate(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.certificate_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
}
inline std::string* ClientDownloadRequest_CertificateChain_Element::mutable_certificate() {
  std::string* _s = _internal_mutable_certificate();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
  return _s;
}
inline const std::string& ClientDownloadRequest_CertificateChain_Element::_internal_certificate() const {
  return _impl_.certificate_.Get();
}
inline void ClientDownloadRequest_CertificateChain_Element::_internal_set_certificate(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.certificate_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_CertificateChain_Element::_internal_mutable_certificate() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.certificate_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_CertificateChain_Element::release_certificate() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
  if (!_internal_has_certificate()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.certificate_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.certificate_.IsDefault()) {
    _impl_.certificate_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_CertificateChain_Element::set_allocated_certificate(std::string* certificate) {
  if (certificate != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.certificate_.SetAllocated(certificate, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.certificate_.IsDefault()) {
    _impl_.certificate_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
}

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

// ClientDownloadRequest_CertificateChain

// repeated .safe_browsing.ClientDownloadRequest.CertificateChain.Element element = 1;
inline int ClientDownloadRequest_CertificateChain::_internal_element_size() const {
  return _impl_.element_.size();
}
inline int ClientDownloadRequest_CertificateChain::element_size() const {
  return _internal_element_size();
}
inline void ClientDownloadRequest_CertificateChain::clear_element() {
  _impl_.element_.Clear();
}
inline ::safe_browsing::ClientDownloadRequest_CertificateChain_Element* ClientDownloadRequest_CertificateChain::mutable_element(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return _impl_.element_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain_Element >*
ClientDownloadRequest_CertificateChain::mutable_element() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return &_impl_.element_;
}
inline const ::safe_browsing::ClientDownloadRequest_CertificateChain_Element& ClientDownloadRequest_CertificateChain::_internal_element(int index) const {
  return _impl_.element_.Get(index);
}
inline const ::safe_browsing::ClientDownloadRequest_CertificateChain_Element& ClientDownloadRequest_CertificateChain::element(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return _internal_element(index);
}
inline ::safe_browsing::ClientDownloadRequest_CertificateChain_Element* ClientDownloadRequest_CertificateChain::_internal_add_element() {
  return _impl_.element_.Add();
}
inline ::safe_browsing::ClientDownloadRequest_CertificateChain_Element* ClientDownloadRequest_CertificateChain::add_element() {
  ::safe_browsing::ClientDownloadRequest_CertificateChain_Element* _add = _internal_add_element();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain_Element >&
ClientDownloadRequest_CertificateChain::element() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return _impl_.element_;
}

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

// ClientDownloadRequest_ExtendedAttr

// required string key = 1;
inline bool ClientDownloadRequest_ExtendedAttr::_internal_has_key() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_ExtendedAttr::has_key() const {
  return _internal_has_key();
}
inline void ClientDownloadRequest_ExtendedAttr::clear_key() {
  _impl_.key_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_ExtendedAttr::key() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
  return _internal_key();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_ExtendedAttr::set_key(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.key_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
}
inline std::string* ClientDownloadRequest_ExtendedAttr::mutable_key() {
  std::string* _s = _internal_mutable_key();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
  return _s;
}
inline const std::string& ClientDownloadRequest_ExtendedAttr::_internal_key() const {
  return _impl_.key_.Get();
}
inline void ClientDownloadRequest_ExtendedAttr::_internal_set_key(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.key_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_ExtendedAttr::_internal_mutable_key() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.key_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_ExtendedAttr::release_key() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
  if (!_internal_has_key()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.key_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.key_.IsDefault()) {
    _impl_.key_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_ExtendedAttr::set_allocated_key(std::string* key) {
  if (key != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.key_.SetAllocated(key, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.key_.IsDefault()) {
    _impl_.key_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
}

// optional bytes value = 2;
inline bool ClientDownloadRequest_ExtendedAttr::_internal_has_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientDownloadRequest_ExtendedAttr::has_value() const {
  return _internal_has_value();
}
inline void ClientDownloadRequest_ExtendedAttr::clear_value() {
  _impl_.value_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientDownloadRequest_ExtendedAttr::value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
  return _internal_value();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_ExtendedAttr::set_value(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.value_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
}
inline std::string* ClientDownloadRequest_ExtendedAttr::mutable_value() {
  std::string* _s = _internal_mutable_value();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
  return _s;
}
inline const std::string& ClientDownloadRequest_ExtendedAttr::_internal_value() const {
  return _impl_.value_.Get();
}
inline void ClientDownloadRequest_ExtendedAttr::_internal_set_value(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.value_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_ExtendedAttr::_internal_mutable_value() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.value_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_ExtendedAttr::release_value() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
  if (!_internal_has_value()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.value_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_ExtendedAttr::set_allocated_value(std::string* value) {
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.value_.SetAllocated(value, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
}

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

// ClientDownloadRequest_SignatureInfo

// repeated .safe_browsing.ClientDownloadRequest.CertificateChain certificate_chain = 1;
inline int ClientDownloadRequest_SignatureInfo::_internal_certificate_chain_size() const {
  return _impl_.certificate_chain_.size();
}
inline int ClientDownloadRequest_SignatureInfo::certificate_chain_size() const {
  return _internal_certificate_chain_size();
}
inline void ClientDownloadRequest_SignatureInfo::clear_certificate_chain() {
  _impl_.certificate_chain_.Clear();
}
inline ::safe_browsing::ClientDownloadRequest_CertificateChain* ClientDownloadRequest_SignatureInfo::mutable_certificate_chain(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return _impl_.certificate_chain_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain >*
ClientDownloadRequest_SignatureInfo::mutable_certificate_chain() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return &_impl_.certificate_chain_;
}
inline const ::safe_browsing::ClientDownloadRequest_CertificateChain& ClientDownloadRequest_SignatureInfo::_internal_certificate_chain(int index) const {
  return _impl_.certificate_chain_.Get(index);
}
inline const ::safe_browsing::ClientDownloadRequest_CertificateChain& ClientDownloadRequest_SignatureInfo::certificate_chain(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return _internal_certificate_chain(index);
}
inline ::safe_browsing::ClientDownloadRequest_CertificateChain* ClientDownloadRequest_SignatureInfo::_internal_add_certificate_chain() {
  return _impl_.certificate_chain_.Add();
}
inline ::safe_browsing::ClientDownloadRequest_CertificateChain* ClientDownloadRequest_SignatureInfo::add_certificate_chain() {
  ::safe_browsing::ClientDownloadRequest_CertificateChain* _add = _internal_add_certificate_chain();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain >&
ClientDownloadRequest_SignatureInfo::certificate_chain() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return _impl_.certificate_chain_;
}

// optional bool trusted = 2;
inline bool ClientDownloadRequest_SignatureInfo::_internal_has_trusted() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_SignatureInfo::has_trusted() const {
  return _internal_has_trusted();
}
inline void ClientDownloadRequest_SignatureInfo::clear_trusted() {
  _impl_.trusted_ = false;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline bool ClientDownloadRequest_SignatureInfo::_internal_trusted() const {
  return _impl_.trusted_;
}
inline bool ClientDownloadRequest_SignatureInfo::trusted() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.SignatureInfo.trusted)
  return _internal_trusted();
}
inline void ClientDownloadRequest_SignatureInfo::_internal_set_trusted(bool value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.trusted_ = value;
}
inline void ClientDownloadRequest_SignatureInfo::set_trusted(bool value) {
  _internal_set_trusted(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.SignatureInfo.trusted)
}

// repeated bytes signed_data = 3;
inline int ClientDownloadRequest_SignatureInfo::_internal_signed_data_size() const {
  return _impl_.signed_data_.size();
}
inline int ClientDownloadRequest_SignatureInfo::signed_data_size() const {
  return _internal_signed_data_size();
}
inline void ClientDownloadRequest_SignatureInfo::clear_signed_data() {
  _impl_.signed_data_.Clear();
}
inline std::string* ClientDownloadRequest_SignatureInfo::add_signed_data() {
  std::string* _s = _internal_add_signed_data();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return _s;
}
inline const std::string& ClientDownloadRequest_SignatureInfo::_internal_signed_data(int index) const {
  return _impl_.signed_data_.Get(index);
}
inline const std::string& ClientDownloadRequest_SignatureInfo::signed_data(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return _internal_signed_data(index);
}
inline std::string* ClientDownloadRequest_SignatureInfo::mutable_signed_data(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return _impl_.signed_data_.Mutable(index);
}
inline void ClientDownloadRequest_SignatureInfo::set_signed_data(int index, const std::string& value) {
  _impl_.signed_data_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
inline void ClientDownloadRequest_SignatureInfo::set_signed_data(int index, std::string&& value) {
  _impl_.signed_data_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
inline void ClientDownloadRequest_SignatureInfo::set_signed_data(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.signed_data_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
inline void ClientDownloadRequest_SignatureInfo::set_signed_data(int index, const void* value, size_t size) {
  _impl_.signed_data_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
inline std::string* ClientDownloadRequest_SignatureInfo::_internal_add_signed_data() {
  return _impl_.signed_data_.Add();
}
inline void ClientDownloadRequest_SignatureInfo::add_signed_data(const std::string& value) {
  _impl_.signed_data_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
inline void ClientDownloadRequest_SignatureInfo::add_signed_data(std::string&& value) {
  _impl_.signed_data_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
inline void ClientDownloadRequest_SignatureInfo::add_signed_data(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.signed_data_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
inline void ClientDownloadRequest_SignatureInfo::add_signed_data(const void* value, size_t size) {
  _impl_.signed_data_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientDownloadRequest_SignatureInfo::signed_data() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return _impl_.signed_data_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientDownloadRequest_SignatureInfo::mutable_signed_data() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return &_impl_.signed_data_;
}

// repeated .safe_browsing.ClientDownloadRequest.ExtendedAttr xattr = 4;
inline int ClientDownloadRequest_SignatureInfo::_internal_xattr_size() const {
  return _impl_.xattr_.size();
}
inline int ClientDownloadRequest_SignatureInfo::xattr_size() const {
  return _internal_xattr_size();
}
inline void ClientDownloadRequest_SignatureInfo::clear_xattr() {
  _impl_.xattr_.Clear();
}
inline ::safe_browsing::ClientDownloadRequest_ExtendedAttr* ClientDownloadRequest_SignatureInfo::mutable_xattr(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return _impl_.xattr_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ExtendedAttr >*
ClientDownloadRequest_SignatureInfo::mutable_xattr() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return &_impl_.xattr_;
}
inline const ::safe_browsing::ClientDownloadRequest_ExtendedAttr& ClientDownloadRequest_SignatureInfo::_internal_xattr(int index) const {
  return _impl_.xattr_.Get(index);
}
inline const ::safe_browsing::ClientDownloadRequest_ExtendedAttr& ClientDownloadRequest_SignatureInfo::xattr(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return _internal_xattr(index);
}
inline ::safe_browsing::ClientDownloadRequest_ExtendedAttr* ClientDownloadRequest_SignatureInfo::_internal_add_xattr() {
  return _impl_.xattr_.Add();
}
inline ::safe_browsing::ClientDownloadRequest_ExtendedAttr* ClientDownloadRequest_SignatureInfo::add_xattr() {
  ::safe_browsing::ClientDownloadRequest_ExtendedAttr* _add = _internal_add_xattr();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ExtendedAttr >&
ClientDownloadRequest_SignatureInfo::xattr() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return _impl_.xattr_;
}

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

// ClientDownloadRequest_PEImageHeaders_DebugData

// optional bytes directory_entry = 1;
inline bool ClientDownloadRequest_PEImageHeaders_DebugData::_internal_has_directory_entry() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_PEImageHeaders_DebugData::has_directory_entry() const {
  return _internal_has_directory_entry();
}
inline void ClientDownloadRequest_PEImageHeaders_DebugData::clear_directory_entry() {
  _impl_.directory_entry_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders_DebugData::directory_entry() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
  return _internal_directory_entry();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_PEImageHeaders_DebugData::set_directory_entry(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.directory_entry_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
}
inline std::string* ClientDownloadRequest_PEImageHeaders_DebugData::mutable_directory_entry() {
  std::string* _s = _internal_mutable_directory_entry();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
  return _s;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders_DebugData::_internal_directory_entry() const {
  return _impl_.directory_entry_.Get();
}
inline void ClientDownloadRequest_PEImageHeaders_DebugData::_internal_set_directory_entry(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.directory_entry_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders_DebugData::_internal_mutable_directory_entry() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.directory_entry_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders_DebugData::release_directory_entry() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
  if (!_internal_has_directory_entry()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.directory_entry_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.directory_entry_.IsDefault()) {
    _impl_.directory_entry_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_PEImageHeaders_DebugData::set_allocated_directory_entry(std::string* directory_entry) {
  if (directory_entry != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.directory_entry_.SetAllocated(directory_entry, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.directory_entry_.IsDefault()) {
    _impl_.directory_entry_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
}

// optional bytes raw_data = 2;
inline bool ClientDownloadRequest_PEImageHeaders_DebugData::_internal_has_raw_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientDownloadRequest_PEImageHeaders_DebugData::has_raw_data() const {
  return _internal_has_raw_data();
}
inline void ClientDownloadRequest_PEImageHeaders_DebugData::clear_raw_data() {
  _impl_.raw_data_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders_DebugData::raw_data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
  return _internal_raw_data();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_PEImageHeaders_DebugData::set_raw_data(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.raw_data_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
}
inline std::string* ClientDownloadRequest_PEImageHeaders_DebugData::mutable_raw_data() {
  std::string* _s = _internal_mutable_raw_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
  return _s;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders_DebugData::_internal_raw_data() const {
  return _impl_.raw_data_.Get();
}
inline void ClientDownloadRequest_PEImageHeaders_DebugData::_internal_set_raw_data(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.raw_data_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders_DebugData::_internal_mutable_raw_data() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.raw_data_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders_DebugData::release_raw_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
  if (!_internal_has_raw_data()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.raw_data_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.raw_data_.IsDefault()) {
    _impl_.raw_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_PEImageHeaders_DebugData::set_allocated_raw_data(std::string* raw_data) {
  if (raw_data != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.raw_data_.SetAllocated(raw_data, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.raw_data_.IsDefault()) {
    _impl_.raw_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
}

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

// ClientDownloadRequest_PEImageHeaders

// optional bytes dos_header = 1;
inline bool ClientDownloadRequest_PEImageHeaders::_internal_has_dos_header() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_PEImageHeaders::has_dos_header() const {
  return _internal_has_dos_header();
}
inline void ClientDownloadRequest_PEImageHeaders::clear_dos_header() {
  _impl_.dos_header_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::dos_header() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
  return _internal_dos_header();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_PEImageHeaders::set_dos_header(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.dos_header_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
}
inline std::string* ClientDownloadRequest_PEImageHeaders::mutable_dos_header() {
  std::string* _s = _internal_mutable_dos_header();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
  return _s;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::_internal_dos_header() const {
  return _impl_.dos_header_.Get();
}
inline void ClientDownloadRequest_PEImageHeaders::_internal_set_dos_header(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.dos_header_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::_internal_mutable_dos_header() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.dos_header_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::release_dos_header() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
  if (!_internal_has_dos_header()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.dos_header_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.dos_header_.IsDefault()) {
    _impl_.dos_header_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_PEImageHeaders::set_allocated_dos_header(std::string* dos_header) {
  if (dos_header != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.dos_header_.SetAllocated(dos_header, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.dos_header_.IsDefault()) {
    _impl_.dos_header_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
}

// optional bytes file_header = 2;
inline bool ClientDownloadRequest_PEImageHeaders::_internal_has_file_header() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientDownloadRequest_PEImageHeaders::has_file_header() const {
  return _internal_has_file_header();
}
inline void ClientDownloadRequest_PEImageHeaders::clear_file_header() {
  _impl_.file_header_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::file_header() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
  return _internal_file_header();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_PEImageHeaders::set_file_header(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.file_header_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
}
inline std::string* ClientDownloadRequest_PEImageHeaders::mutable_file_header() {
  std::string* _s = _internal_mutable_file_header();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
  return _s;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::_internal_file_header() const {
  return _impl_.file_header_.Get();
}
inline void ClientDownloadRequest_PEImageHeaders::_internal_set_file_header(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.file_header_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::_internal_mutable_file_header() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.file_header_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::release_file_header() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
  if (!_internal_has_file_header()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.file_header_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_header_.IsDefault()) {
    _impl_.file_header_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_PEImageHeaders::set_allocated_file_header(std::string* file_header) {
  if (file_header != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.file_header_.SetAllocated(file_header, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_header_.IsDefault()) {
    _impl_.file_header_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
}

// optional bytes optional_headers32 = 3;
inline bool ClientDownloadRequest_PEImageHeaders::_internal_has_optional_headers32() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientDownloadRequest_PEImageHeaders::has_optional_headers32() const {
  return _internal_has_optional_headers32();
}
inline void ClientDownloadRequest_PEImageHeaders::clear_optional_headers32() {
  _impl_.optional_headers32_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::optional_headers32() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
  return _internal_optional_headers32();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_PEImageHeaders::set_optional_headers32(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.optional_headers32_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
}
inline std::string* ClientDownloadRequest_PEImageHeaders::mutable_optional_headers32() {
  std::string* _s = _internal_mutable_optional_headers32();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
  return _s;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::_internal_optional_headers32() const {
  return _impl_.optional_headers32_.Get();
}
inline void ClientDownloadRequest_PEImageHeaders::_internal_set_optional_headers32(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.optional_headers32_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::_internal_mutable_optional_headers32() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.optional_headers32_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::release_optional_headers32() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
  if (!_internal_has_optional_headers32()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.optional_headers32_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.optional_headers32_.IsDefault()) {
    _impl_.optional_headers32_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_PEImageHeaders::set_allocated_optional_headers32(std::string* optional_headers32) {
  if (optional_headers32 != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.optional_headers32_.SetAllocated(optional_headers32, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.optional_headers32_.IsDefault()) {
    _impl_.optional_headers32_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
}

// optional bytes optional_headers64 = 4;
inline bool ClientDownloadRequest_PEImageHeaders::_internal_has_optional_headers64() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientDownloadRequest_PEImageHeaders::has_optional_headers64() const {
  return _internal_has_optional_headers64();
}
inline void ClientDownloadRequest_PEImageHeaders::clear_optional_headers64() {
  _impl_.optional_headers64_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::optional_headers64() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
  return _internal_optional_headers64();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_PEImageHeaders::set_optional_headers64(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.optional_headers64_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
}
inline std::string* ClientDownloadRequest_PEImageHeaders::mutable_optional_headers64() {
  std::string* _s = _internal_mutable_optional_headers64();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
  return _s;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::_internal_optional_headers64() const {
  return _impl_.optional_headers64_.Get();
}
inline void ClientDownloadRequest_PEImageHeaders::_internal_set_optional_headers64(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.optional_headers64_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::_internal_mutable_optional_headers64() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.optional_headers64_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::release_optional_headers64() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
  if (!_internal_has_optional_headers64()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.optional_headers64_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.optional_headers64_.IsDefault()) {
    _impl_.optional_headers64_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_PEImageHeaders::set_allocated_optional_headers64(std::string* optional_headers64) {
  if (optional_headers64 != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.optional_headers64_.SetAllocated(optional_headers64, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.optional_headers64_.IsDefault()) {
    _impl_.optional_headers64_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
}

// repeated bytes section_header = 5;
inline int ClientDownloadRequest_PEImageHeaders::_internal_section_header_size() const {
  return _impl_.section_header_.size();
}
inline int ClientDownloadRequest_PEImageHeaders::section_header_size() const {
  return _internal_section_header_size();
}
inline void ClientDownloadRequest_PEImageHeaders::clear_section_header() {
  _impl_.section_header_.Clear();
}
inline std::string* ClientDownloadRequest_PEImageHeaders::add_section_header() {
  std::string* _s = _internal_add_section_header();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return _s;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::_internal_section_header(int index) const {
  return _impl_.section_header_.Get(index);
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::section_header(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return _internal_section_header(index);
}
inline std::string* ClientDownloadRequest_PEImageHeaders::mutable_section_header(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return _impl_.section_header_.Mutable(index);
}
inline void ClientDownloadRequest_PEImageHeaders::set_section_header(int index, const std::string& value) {
  _impl_.section_header_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
inline void ClientDownloadRequest_PEImageHeaders::set_section_header(int index, std::string&& value) {
  _impl_.section_header_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
inline void ClientDownloadRequest_PEImageHeaders::set_section_header(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.section_header_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
inline void ClientDownloadRequest_PEImageHeaders::set_section_header(int index, const void* value, size_t size) {
  _impl_.section_header_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
inline std::string* ClientDownloadRequest_PEImageHeaders::_internal_add_section_header() {
  return _impl_.section_header_.Add();
}
inline void ClientDownloadRequest_PEImageHeaders::add_section_header(const std::string& value) {
  _impl_.section_header_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
inline void ClientDownloadRequest_PEImageHeaders::add_section_header(std::string&& value) {
  _impl_.section_header_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
inline void ClientDownloadRequest_PEImageHeaders::add_section_header(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.section_header_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
inline void ClientDownloadRequest_PEImageHeaders::add_section_header(const void* value, size_t size) {
  _impl_.section_header_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientDownloadRequest_PEImageHeaders::section_header() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return _impl_.section_header_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientDownloadRequest_PEImageHeaders::mutable_section_header() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return &_impl_.section_header_;
}

// optional bytes export_section_data = 6;
inline bool ClientDownloadRequest_PEImageHeaders::_internal_has_export_section_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientDownloadRequest_PEImageHeaders::has_export_section_data() const {
  return _internal_has_export_section_data();
}
inline void ClientDownloadRequest_PEImageHeaders::clear_export_section_data() {
  _impl_.export_section_data_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::export_section_data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
  return _internal_export_section_data();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_PEImageHeaders::set_export_section_data(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000010u;
 _impl_.export_section_data_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
}
inline std::string* ClientDownloadRequest_PEImageHeaders::mutable_export_section_data() {
  std::string* _s = _internal_mutable_export_section_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
  return _s;
}
inline const std::string& ClientDownloadRequest_PEImageHeaders::_internal_export_section_data() const {
  return _impl_.export_section_data_.Get();
}
inline void ClientDownloadRequest_PEImageHeaders::_internal_set_export_section_data(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.export_section_data_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::_internal_mutable_export_section_data() {
  _impl_._has_bits_[0] |= 0x00000010u;
  return _impl_.export_section_data_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_PEImageHeaders::release_export_section_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
  if (!_internal_has_export_section_data()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000010u;
  auto* p = _impl_.export_section_data_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.export_section_data_.IsDefault()) {
    _impl_.export_section_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_PEImageHeaders::set_allocated_export_section_data(std::string* export_section_data) {
  if (export_section_data != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.export_section_data_.SetAllocated(export_section_data, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.export_section_data_.IsDefault()) {
    _impl_.export_section_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
}

// repeated .safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData debug_data = 7;
inline int ClientDownloadRequest_PEImageHeaders::_internal_debug_data_size() const {
  return _impl_.debug_data_.size();
}
inline int ClientDownloadRequest_PEImageHeaders::debug_data_size() const {
  return _internal_debug_data_size();
}
inline void ClientDownloadRequest_PEImageHeaders::clear_debug_data() {
  _impl_.debug_data_.Clear();
}
inline ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* ClientDownloadRequest_PEImageHeaders::mutable_debug_data(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return _impl_.debug_data_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData >*
ClientDownloadRequest_PEImageHeaders::mutable_debug_data() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return &_impl_.debug_data_;
}
inline const ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData& ClientDownloadRequest_PEImageHeaders::_internal_debug_data(int index) const {
  return _impl_.debug_data_.Get(index);
}
inline const ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData& ClientDownloadRequest_PEImageHeaders::debug_data(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return _internal_debug_data(index);
}
inline ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* ClientDownloadRequest_PEImageHeaders::_internal_add_debug_data() {
  return _impl_.debug_data_.Add();
}
inline ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* ClientDownloadRequest_PEImageHeaders::add_debug_data() {
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* _add = _internal_add_debug_data();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData >&
ClientDownloadRequest_PEImageHeaders::debug_data() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return _impl_.debug_data_;
}

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

// ClientDownloadRequest_MachOHeaders_LoadCommand

// required uint32 command_id = 1;
inline bool ClientDownloadRequest_MachOHeaders_LoadCommand::_internal_has_command_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientDownloadRequest_MachOHeaders_LoadCommand::has_command_id() const {
  return _internal_has_command_id();
}
inline void ClientDownloadRequest_MachOHeaders_LoadCommand::clear_command_id() {
  _impl_.command_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t ClientDownloadRequest_MachOHeaders_LoadCommand::_internal_command_id() const {
  return _impl_.command_id_;
}
inline uint32_t ClientDownloadRequest_MachOHeaders_LoadCommand::command_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command_id)
  return _internal_command_id();
}
inline void ClientDownloadRequest_MachOHeaders_LoadCommand::_internal_set_command_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.command_id_ = value;
}
inline void ClientDownloadRequest_MachOHeaders_LoadCommand::set_command_id(uint32_t value) {
  _internal_set_command_id(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command_id)
}

// required bytes command = 2;
inline bool ClientDownloadRequest_MachOHeaders_LoadCommand::_internal_has_command() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_MachOHeaders_LoadCommand::has_command() const {
  return _internal_has_command();
}
inline void ClientDownloadRequest_MachOHeaders_LoadCommand::clear_command() {
  _impl_.command_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_MachOHeaders_LoadCommand::command() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
  return _internal_command();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_command(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.command_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
}
inline std::string* ClientDownloadRequest_MachOHeaders_LoadCommand::mutable_command() {
  std::string* _s = _internal_mutable_command();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
  return _s;
}
inline const std::string& ClientDownloadRequest_MachOHeaders_LoadCommand::_internal_command() const {
  return _impl_.command_.Get();
}
inline void ClientDownloadRequest_MachOHeaders_LoadCommand::_internal_set_command(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.command_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_MachOHeaders_LoadCommand::_internal_mutable_command() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.command_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_MachOHeaders_LoadCommand::release_command() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
  if (!_internal_has_command()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.command_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.command_.IsDefault()) {
    _impl_.command_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_MachOHeaders_LoadCommand::set_allocated_command(std::string* command) {
  if (command != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.command_.SetAllocated(command, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.command_.IsDefault()) {
    _impl_.command_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
}

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

// ClientDownloadRequest_MachOHeaders

// required bytes mach_header = 1;
inline bool ClientDownloadRequest_MachOHeaders::_internal_has_mach_header() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_MachOHeaders::has_mach_header() const {
  return _internal_has_mach_header();
}
inline void ClientDownloadRequest_MachOHeaders::clear_mach_header() {
  _impl_.mach_header_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_MachOHeaders::mach_header() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
  return _internal_mach_header();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_MachOHeaders::set_mach_header(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.mach_header_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
}
inline std::string* ClientDownloadRequest_MachOHeaders::mutable_mach_header() {
  std::string* _s = _internal_mutable_mach_header();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
  return _s;
}
inline const std::string& ClientDownloadRequest_MachOHeaders::_internal_mach_header() const {
  return _impl_.mach_header_.Get();
}
inline void ClientDownloadRequest_MachOHeaders::_internal_set_mach_header(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.mach_header_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_MachOHeaders::_internal_mutable_mach_header() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.mach_header_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_MachOHeaders::release_mach_header() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
  if (!_internal_has_mach_header()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.mach_header_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.mach_header_.IsDefault()) {
    _impl_.mach_header_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_MachOHeaders::set_allocated_mach_header(std::string* mach_header) {
  if (mach_header != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.mach_header_.SetAllocated(mach_header, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.mach_header_.IsDefault()) {
    _impl_.mach_header_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
}

// repeated .safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand load_commands = 2;
inline int ClientDownloadRequest_MachOHeaders::_internal_load_commands_size() const {
  return _impl_.load_commands_.size();
}
inline int ClientDownloadRequest_MachOHeaders::load_commands_size() const {
  return _internal_load_commands_size();
}
inline void ClientDownloadRequest_MachOHeaders::clear_load_commands() {
  _impl_.load_commands_.Clear();
}
inline ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* ClientDownloadRequest_MachOHeaders::mutable_load_commands(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return _impl_.load_commands_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand >*
ClientDownloadRequest_MachOHeaders::mutable_load_commands() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return &_impl_.load_commands_;
}
inline const ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand& ClientDownloadRequest_MachOHeaders::_internal_load_commands(int index) const {
  return _impl_.load_commands_.Get(index);
}
inline const ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand& ClientDownloadRequest_MachOHeaders::load_commands(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return _internal_load_commands(index);
}
inline ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* ClientDownloadRequest_MachOHeaders::_internal_add_load_commands() {
  return _impl_.load_commands_.Add();
}
inline ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* ClientDownloadRequest_MachOHeaders::add_load_commands() {
  ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* _add = _internal_add_load_commands();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand >&
ClientDownloadRequest_MachOHeaders::load_commands() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return _impl_.load_commands_;
}

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

// ClientDownloadRequest_ImageHeaders

// optional .safe_browsing.ClientDownloadRequest.PEImageHeaders pe_headers = 1;
inline bool ClientDownloadRequest_ImageHeaders::_internal_has_pe_headers() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.pe_headers_ != nullptr);
  return value;
}
inline bool ClientDownloadRequest_ImageHeaders::has_pe_headers() const {
  return _internal_has_pe_headers();
}
inline void ClientDownloadRequest_ImageHeaders::clear_pe_headers() {
  if (_impl_.pe_headers_ != nullptr) _impl_.pe_headers_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::safe_browsing::ClientDownloadRequest_PEImageHeaders& ClientDownloadRequest_ImageHeaders::_internal_pe_headers() const {
  const ::safe_browsing::ClientDownloadRequest_PEImageHeaders* p = _impl_.pe_headers_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_PEImageHeaders&>(
      ::safe_browsing::_ClientDownloadRequest_PEImageHeaders_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_PEImageHeaders& ClientDownloadRequest_ImageHeaders::pe_headers() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
  return _internal_pe_headers();
}
inline void ClientDownloadRequest_ImageHeaders::unsafe_arena_set_allocated_pe_headers(
    ::safe_browsing::ClientDownloadRequest_PEImageHeaders* pe_headers) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.pe_headers_);
  }
  _impl_.pe_headers_ = pe_headers;
  if (pe_headers) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
}
inline ::safe_browsing::ClientDownloadRequest_PEImageHeaders* ClientDownloadRequest_ImageHeaders::release_pe_headers() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders* temp = _impl_.pe_headers_;
  _impl_.pe_headers_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_PEImageHeaders* ClientDownloadRequest_ImageHeaders::unsafe_arena_release_pe_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders* temp = _impl_.pe_headers_;
  _impl_.pe_headers_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_PEImageHeaders* ClientDownloadRequest_ImageHeaders::_internal_mutable_pe_headers() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.pe_headers_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_PEImageHeaders>(GetArenaForAllocation());
    _impl_.pe_headers_ = p;
  }
  return _impl_.pe_headers_;
}
inline ::safe_browsing::ClientDownloadRequest_PEImageHeaders* ClientDownloadRequest_ImageHeaders::mutable_pe_headers() {
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders* _msg = _internal_mutable_pe_headers();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
  return _msg;
}
inline void ClientDownloadRequest_ImageHeaders::set_allocated_pe_headers(::safe_browsing::ClientDownloadRequest_PEImageHeaders* pe_headers) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.pe_headers_;
  }
  if (pe_headers) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(pe_headers);
    if (message_arena != submessage_arena) {
      pe_headers = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, pe_headers, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.pe_headers_ = pe_headers;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
}

// repeated .safe_browsing.ClientDownloadRequest.MachOHeaders mach_o_headers = 2;
inline int ClientDownloadRequest_ImageHeaders::_internal_mach_o_headers_size() const {
  return _impl_.mach_o_headers_.size();
}
inline int ClientDownloadRequest_ImageHeaders::mach_o_headers_size() const {
  return _internal_mach_o_headers_size();
}
inline void ClientDownloadRequest_ImageHeaders::clear_mach_o_headers() {
  _impl_.mach_o_headers_.Clear();
}
inline ::safe_browsing::ClientDownloadRequest_MachOHeaders* ClientDownloadRequest_ImageHeaders::mutable_mach_o_headers(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return _impl_.mach_o_headers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders >*
ClientDownloadRequest_ImageHeaders::mutable_mach_o_headers() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return &_impl_.mach_o_headers_;
}
inline const ::safe_browsing::ClientDownloadRequest_MachOHeaders& ClientDownloadRequest_ImageHeaders::_internal_mach_o_headers(int index) const {
  return _impl_.mach_o_headers_.Get(index);
}
inline const ::safe_browsing::ClientDownloadRequest_MachOHeaders& ClientDownloadRequest_ImageHeaders::mach_o_headers(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return _internal_mach_o_headers(index);
}
inline ::safe_browsing::ClientDownloadRequest_MachOHeaders* ClientDownloadRequest_ImageHeaders::_internal_add_mach_o_headers() {
  return _impl_.mach_o_headers_.Add();
}
inline ::safe_browsing::ClientDownloadRequest_MachOHeaders* ClientDownloadRequest_ImageHeaders::add_mach_o_headers() {
  ::safe_browsing::ClientDownloadRequest_MachOHeaders* _add = _internal_add_mach_o_headers();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders >&
ClientDownloadRequest_ImageHeaders::mach_o_headers() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return _impl_.mach_o_headers_;
}

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

// ClientDownloadRequest_ArchivedBinary

// optional string file_basename = 1;
inline bool ClientDownloadRequest_ArchivedBinary::_internal_has_file_basename() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest_ArchivedBinary::has_file_basename() const {
  return _internal_has_file_basename();
}
inline void ClientDownloadRequest_ArchivedBinary::clear_file_basename() {
  _impl_.file_basename_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest_ArchivedBinary::file_basename() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
  return _internal_file_basename();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest_ArchivedBinary::set_file_basename(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.file_basename_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
}
inline std::string* ClientDownloadRequest_ArchivedBinary::mutable_file_basename() {
  std::string* _s = _internal_mutable_file_basename();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
  return _s;
}
inline const std::string& ClientDownloadRequest_ArchivedBinary::_internal_file_basename() const {
  return _impl_.file_basename_.Get();
}
inline void ClientDownloadRequest_ArchivedBinary::_internal_set_file_basename(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.file_basename_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_ArchivedBinary::_internal_mutable_file_basename() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.file_basename_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest_ArchivedBinary::release_file_basename() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
  if (!_internal_has_file_basename()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.file_basename_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_basename_.IsDefault()) {
    _impl_.file_basename_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest_ArchivedBinary::set_allocated_file_basename(std::string* file_basename) {
  if (file_basename != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.file_basename_.SetAllocated(file_basename, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_basename_.IsDefault()) {
    _impl_.file_basename_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
}

// optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 2;
inline bool ClientDownloadRequest_ArchivedBinary::_internal_has_download_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool ClientDownloadRequest_ArchivedBinary::has_download_type() const {
  return _internal_has_download_type();
}
inline void ClientDownloadRequest_ArchivedBinary::clear_download_type() {
  _impl_.download_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline ::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest_ArchivedBinary::_internal_download_type() const {
  return static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(_impl_.download_type_);
}
inline ::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest_ArchivedBinary::download_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.download_type)
  return _internal_download_type();
}
inline void ClientDownloadRequest_ArchivedBinary::_internal_set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value) {
  assert(::safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.download_type_ = value;
}
inline void ClientDownloadRequest_ArchivedBinary::set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value) {
  _internal_set_download_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ArchivedBinary.download_type)
}

// optional .safe_browsing.ClientDownloadRequest.Digests digests = 3;
inline bool ClientDownloadRequest_ArchivedBinary::_internal_has_digests() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.digests_ != nullptr);
  return value;
}
inline bool ClientDownloadRequest_ArchivedBinary::has_digests() const {
  return _internal_has_digests();
}
inline void ClientDownloadRequest_ArchivedBinary::clear_digests() {
  if (_impl_.digests_ != nullptr) _impl_.digests_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest_ArchivedBinary::_internal_digests() const {
  const ::safe_browsing::ClientDownloadRequest_Digests* p = _impl_.digests_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests&>(
      ::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest_ArchivedBinary::digests() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
  return _internal_digests();
}
inline void ClientDownloadRequest_ArchivedBinary::unsafe_arena_set_allocated_digests(
    ::safe_browsing::ClientDownloadRequest_Digests* digests) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.digests_);
  }
  _impl_.digests_ = digests;
  if (digests) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
}
inline ::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest_ArchivedBinary::release_digests() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest_Digests* temp = _impl_.digests_;
  _impl_.digests_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest_ArchivedBinary::unsafe_arena_release_digests() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest_Digests* temp = _impl_.digests_;
  _impl_.digests_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest_ArchivedBinary::_internal_mutable_digests() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.digests_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_Digests>(GetArenaForAllocation());
    _impl_.digests_ = p;
  }
  return _impl_.digests_;
}
inline ::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest_ArchivedBinary::mutable_digests() {
  ::safe_browsing::ClientDownloadRequest_Digests* _msg = _internal_mutable_digests();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
  return _msg;
}
inline void ClientDownloadRequest_ArchivedBinary::set_allocated_digests(::safe_browsing::ClientDownloadRequest_Digests* digests) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.digests_;
  }
  if (digests) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(digests);
    if (message_arena != submessage_arena) {
      digests = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, digests, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.digests_ = digests;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
}

// optional int64 length = 4;
inline bool ClientDownloadRequest_ArchivedBinary::_internal_has_length() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientDownloadRequest_ArchivedBinary::has_length() const {
  return _internal_has_length();
}
inline void ClientDownloadRequest_ArchivedBinary::clear_length() {
  _impl_.length_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline int64_t ClientDownloadRequest_ArchivedBinary::_internal_length() const {
  return _impl_.length_;
}
inline int64_t ClientDownloadRequest_ArchivedBinary::length() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.length)
  return _internal_length();
}
inline void ClientDownloadRequest_ArchivedBinary::_internal_set_length(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.length_ = value;
}
inline void ClientDownloadRequest_ArchivedBinary::set_length(int64_t value) {
  _internal_set_length(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ArchivedBinary.length)
}

// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
inline bool ClientDownloadRequest_ArchivedBinary::_internal_has_signature() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.signature_ != nullptr);
  return value;
}
inline bool ClientDownloadRequest_ArchivedBinary::has_signature() const {
  return _internal_has_signature();
}
inline void ClientDownloadRequest_ArchivedBinary::clear_signature() {
  if (_impl_.signature_ != nullptr) _impl_.signature_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest_ArchivedBinary::_internal_signature() const {
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = _impl_.signature_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo&>(
      ::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest_ArchivedBinary::signature() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
  return _internal_signature();
}
inline void ClientDownloadRequest_ArchivedBinary::unsafe_arena_set_allocated_signature(
    ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.signature_);
  }
  _impl_.signature_ = signature;
  if (signature) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest_ArchivedBinary::release_signature() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = _impl_.signature_;
  _impl_.signature_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest_ArchivedBinary::unsafe_arena_release_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = _impl_.signature_;
  _impl_.signature_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest_ArchivedBinary::_internal_mutable_signature() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.signature_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_SignatureInfo>(GetArenaForAllocation());
    _impl_.signature_ = p;
  }
  return _impl_.signature_;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest_ArchivedBinary::mutable_signature() {
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* _msg = _internal_mutable_signature();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
  return _msg;
}
inline void ClientDownloadRequest_ArchivedBinary::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.signature_;
  }
  if (signature) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(signature);
    if (message_arena != submessage_arena) {
      signature = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, signature, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.signature_ = signature;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
inline bool ClientDownloadRequest_ArchivedBinary::_internal_has_image_headers() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.image_headers_ != nullptr);
  return value;
}
inline bool ClientDownloadRequest_ArchivedBinary::has_image_headers() const {
  return _internal_has_image_headers();
}
inline void ClientDownloadRequest_ArchivedBinary::clear_image_headers() {
  if (_impl_.image_headers_ != nullptr) _impl_.image_headers_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest_ArchivedBinary::_internal_image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = _impl_.image_headers_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders&>(
      ::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest_ArchivedBinary::image_headers() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
  return _internal_image_headers();
}
inline void ClientDownloadRequest_ArchivedBinary::unsafe_arena_set_allocated_image_headers(
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.image_headers_);
  }
  _impl_.image_headers_ = image_headers;
  if (image_headers) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest_ArchivedBinary::release_image_headers() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest_ArchivedBinary::unsafe_arena_release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest_ArchivedBinary::_internal_mutable_image_headers() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.image_headers_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_ImageHeaders>(GetArenaForAllocation());
    _impl_.image_headers_ = p;
  }
  return _impl_.image_headers_;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest_ArchivedBinary::mutable_image_headers() {
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _msg = _internal_mutable_image_headers();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
  return _msg;
}
inline void ClientDownloadRequest_ArchivedBinary::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.image_headers_;
  }
  if (image_headers) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(image_headers);
    if (message_arena != submessage_arena) {
      image_headers = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, image_headers, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.image_headers_ = image_headers;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
}

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

// ClientDownloadRequest

// required string url = 1;
inline bool ClientDownloadRequest::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_url() const {
  return _internal_has_url();
}
inline void ClientDownloadRequest::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadRequest::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.url)
}
inline std::string* ClientDownloadRequest::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.url)
  return _s;
}
inline const std::string& ClientDownloadRequest::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ClientDownloadRequest::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.url)
}

// required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
inline bool ClientDownloadRequest::_internal_has_digests() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.digests_ != nullptr);
  return value;
}
inline bool ClientDownloadRequest::has_digests() const {
  return _internal_has_digests();
}
inline void ClientDownloadRequest::clear_digests() {
  if (_impl_.digests_ != nullptr) _impl_.digests_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest::_internal_digests() const {
  const ::safe_browsing::ClientDownloadRequest_Digests* p = _impl_.digests_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests&>(
      ::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest::digests() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.digests)
  return _internal_digests();
}
inline void ClientDownloadRequest::unsafe_arena_set_allocated_digests(
    ::safe_browsing::ClientDownloadRequest_Digests* digests) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.digests_);
  }
  _impl_.digests_ = digests;
  if (digests) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadRequest.digests)
}
inline ::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest::release_digests() {
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::safe_browsing::ClientDownloadRequest_Digests* temp = _impl_.digests_;
  _impl_.digests_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest::unsafe_arena_release_digests() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.digests)
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::safe_browsing::ClientDownloadRequest_Digests* temp = _impl_.digests_;
  _impl_.digests_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest::_internal_mutable_digests() {
  _impl_._has_bits_[0] |= 0x00000010u;
  if (_impl_.digests_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_Digests>(GetArenaForAllocation());
    _impl_.digests_ = p;
  }
  return _impl_.digests_;
}
inline ::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest::mutable_digests() {
  ::safe_browsing::ClientDownloadRequest_Digests* _msg = _internal_mutable_digests();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.digests)
  return _msg;
}
inline void ClientDownloadRequest::set_allocated_digests(::safe_browsing::ClientDownloadRequest_Digests* digests) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.digests_;
  }
  if (digests) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(digests);
    if (message_arena != submessage_arena) {
      digests = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, digests, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.digests_ = digests;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.digests)
}

// required int64 length = 3;
inline bool ClientDownloadRequest::_internal_has_length() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_length() const {
  return _internal_has_length();
}
inline void ClientDownloadRequest::clear_length() {
  _impl_.length_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline int64_t ClientDownloadRequest::_internal_length() const {
  return _impl_.length_;
}
inline int64_t ClientDownloadRequest::length() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.length)
  return _internal_length();
}
inline void ClientDownloadRequest::_internal_set_length(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.length_ = value;
}
inline void ClientDownloadRequest::set_length(int64_t value) {
  _internal_set_length(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.length)
}

// repeated .safe_browsing.ClientDownloadRequest.Resource resources = 4;
inline int ClientDownloadRequest::_internal_resources_size() const {
  return _impl_.resources_.size();
}
inline int ClientDownloadRequest::resources_size() const {
  return _internal_resources_size();
}
inline void ClientDownloadRequest::clear_resources() {
  _impl_.resources_.Clear();
}
inline ::safe_browsing::ClientDownloadRequest_Resource* ClientDownloadRequest::mutable_resources(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.resources)
  return _impl_.resources_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >*
ClientDownloadRequest::mutable_resources() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.resources)
  return &_impl_.resources_;
}
inline const ::safe_browsing::ClientDownloadRequest_Resource& ClientDownloadRequest::_internal_resources(int index) const {
  return _impl_.resources_.Get(index);
}
inline const ::safe_browsing::ClientDownloadRequest_Resource& ClientDownloadRequest::resources(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.resources)
  return _internal_resources(index);
}
inline ::safe_browsing::ClientDownloadRequest_Resource* ClientDownloadRequest::_internal_add_resources() {
  return _impl_.resources_.Add();
}
inline ::safe_browsing::ClientDownloadRequest_Resource* ClientDownloadRequest::add_resources() {
  ::safe_browsing::ClientDownloadRequest_Resource* _add = _internal_add_resources();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.resources)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >&
ClientDownloadRequest::resources() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.resources)
  return _impl_.resources_;
}

// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
inline bool ClientDownloadRequest::_internal_has_signature() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.signature_ != nullptr);
  return value;
}
inline bool ClientDownloadRequest::has_signature() const {
  return _internal_has_signature();
}
inline void ClientDownloadRequest::clear_signature() {
  if (_impl_.signature_ != nullptr) _impl_.signature_->Clear();
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest::_internal_signature() const {
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = _impl_.signature_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo&>(
      ::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest::signature() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.signature)
  return _internal_signature();
}
inline void ClientDownloadRequest::unsafe_arena_set_allocated_signature(
    ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.signature_);
  }
  _impl_.signature_ = signature;
  if (signature) {
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadRequest.signature)
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest::release_signature() {
  _impl_._has_bits_[0] &= ~0x00000020u;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = _impl_.signature_;
  _impl_.signature_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest::unsafe_arena_release_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.signature)
  _impl_._has_bits_[0] &= ~0x00000020u;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = _impl_.signature_;
  _impl_.signature_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest::_internal_mutable_signature() {
  _impl_._has_bits_[0] |= 0x00000020u;
  if (_impl_.signature_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_SignatureInfo>(GetArenaForAllocation());
    _impl_.signature_ = p;
  }
  return _impl_.signature_;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest::mutable_signature() {
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* _msg = _internal_mutable_signature();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.signature)
  return _msg;
}
inline void ClientDownloadRequest::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.signature_;
  }
  if (signature) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(signature);
    if (message_arena != submessage_arena) {
      signature = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, signature, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  _impl_.signature_ = signature;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.signature)
}

// optional bool user_initiated = 6;
inline bool ClientDownloadRequest::_internal_has_user_initiated() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_user_initiated() const {
  return _internal_has_user_initiated();
}
inline void ClientDownloadRequest::clear_user_initiated() {
  _impl_.user_initiated_ = false;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline bool ClientDownloadRequest::_internal_user_initiated() const {
  return _impl_.user_initiated_;
}
inline bool ClientDownloadRequest::user_initiated() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.user_initiated)
  return _internal_user_initiated();
}
inline void ClientDownloadRequest::_internal_set_user_initiated(bool value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.user_initiated_ = value;
}
inline void ClientDownloadRequest::set_user_initiated(bool value) {
  _internal_set_user_initiated(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.user_initiated)
}

// optional string file_basename = 9;
inline bool ClientDownloadRequest::_internal_has_file_basename() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_file_basename() const {
  return _internal_has_file_basename();
}
inline void ClientDownloadRequest::clear_file_basename() {
  _impl_.file_basename_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientDownloadRequest::file_basename() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.file_basename)
  return _internal_file_basename();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest::set_file_basename(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.file_basename_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.file_basename)
}
inline std::string* ClientDownloadRequest::mutable_file_basename() {
  std::string* _s = _internal_mutable_file_basename();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.file_basename)
  return _s;
}
inline const std::string& ClientDownloadRequest::_internal_file_basename() const {
  return _impl_.file_basename_.Get();
}
inline void ClientDownloadRequest::_internal_set_file_basename(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.file_basename_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest::_internal_mutable_file_basename() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.file_basename_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest::release_file_basename() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.file_basename)
  if (!_internal_has_file_basename()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.file_basename_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_basename_.IsDefault()) {
    _impl_.file_basename_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest::set_allocated_file_basename(std::string* file_basename) {
  if (file_basename != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.file_basename_.SetAllocated(file_basename, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_basename_.IsDefault()) {
    _impl_.file_basename_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.file_basename)
}

// optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
inline bool ClientDownloadRequest::_internal_has_download_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_download_type() const {
  return _internal_has_download_type();
}
inline void ClientDownloadRequest::clear_download_type() {
  _impl_.download_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline ::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest::_internal_download_type() const {
  return static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(_impl_.download_type_);
}
inline ::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest::download_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.download_type)
  return _internal_download_type();
}
inline void ClientDownloadRequest::_internal_set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value) {
  assert(::safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.download_type_ = value;
}
inline void ClientDownloadRequest::set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value) {
  _internal_set_download_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.download_type)
}

// optional string locale = 11;
inline bool ClientDownloadRequest::_internal_has_locale() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_locale() const {
  return _internal_has_locale();
}
inline void ClientDownloadRequest::clear_locale() {
  _impl_.locale_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientDownloadRequest::locale() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.locale)
  return _internal_locale();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest::set_locale(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.locale_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.locale)
}
inline std::string* ClientDownloadRequest::mutable_locale() {
  std::string* _s = _internal_mutable_locale();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.locale)
  return _s;
}
inline const std::string& ClientDownloadRequest::_internal_locale() const {
  return _impl_.locale_.Get();
}
inline void ClientDownloadRequest::_internal_set_locale(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.locale_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest::_internal_mutable_locale() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.locale_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest::release_locale() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.locale)
  if (!_internal_has_locale()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.locale_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.locale_.IsDefault()) {
    _impl_.locale_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest::set_allocated_locale(std::string* locale) {
  if (locale != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.locale_.SetAllocated(locale, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.locale_.IsDefault()) {
    _impl_.locale_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.locale)
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
inline bool ClientDownloadRequest::_internal_has_image_headers() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.image_headers_ != nullptr);
  return value;
}
inline bool ClientDownloadRequest::has_image_headers() const {
  return _internal_has_image_headers();
}
inline void ClientDownloadRequest::clear_image_headers() {
  if (_impl_.image_headers_ != nullptr) _impl_.image_headers_->Clear();
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest::_internal_image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = _impl_.image_headers_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders&>(
      ::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest::image_headers() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.image_headers)
  return _internal_image_headers();
}
inline void ClientDownloadRequest::unsafe_arena_set_allocated_image_headers(
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.image_headers_);
  }
  _impl_.image_headers_ = image_headers;
  if (image_headers) {
    _impl_._has_bits_[0] |= 0x00000040u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000040u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadRequest.image_headers)
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest::release_image_headers() {
  _impl_._has_bits_[0] &= ~0x00000040u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest::unsafe_arena_release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.image_headers)
  _impl_._has_bits_[0] &= ~0x00000040u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest::_internal_mutable_image_headers() {
  _impl_._has_bits_[0] |= 0x00000040u;
  if (_impl_.image_headers_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_ImageHeaders>(GetArenaForAllocation());
    _impl_.image_headers_ = p;
  }
  return _impl_.image_headers_;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest::mutable_image_headers() {
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _msg = _internal_mutable_image_headers();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.image_headers)
  return _msg;
}
inline void ClientDownloadRequest::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.image_headers_;
  }
  if (image_headers) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(image_headers);
    if (message_arena != submessage_arena) {
      image_headers = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, image_headers, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000040u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000040u;
  }
  _impl_.image_headers_ = image_headers;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.image_headers)
}

// repeated .safe_browsing.ClientDownloadRequest.ArchivedBinary archived_binary = 22;
inline int ClientDownloadRequest::_internal_archived_binary_size() const {
  return _impl_.archived_binary_.size();
}
inline int ClientDownloadRequest::archived_binary_size() const {
  return _internal_archived_binary_size();
}
inline void ClientDownloadRequest::clear_archived_binary() {
  _impl_.archived_binary_.Clear();
}
inline ::safe_browsing::ClientDownloadRequest_ArchivedBinary* ClientDownloadRequest::mutable_archived_binary(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.archived_binary)
  return _impl_.archived_binary_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >*
ClientDownloadRequest::mutable_archived_binary() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.archived_binary)
  return &_impl_.archived_binary_;
}
inline const ::safe_browsing::ClientDownloadRequest_ArchivedBinary& ClientDownloadRequest::_internal_archived_binary(int index) const {
  return _impl_.archived_binary_.Get(index);
}
inline const ::safe_browsing::ClientDownloadRequest_ArchivedBinary& ClientDownloadRequest::archived_binary(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.archived_binary)
  return _internal_archived_binary(index);
}
inline ::safe_browsing::ClientDownloadRequest_ArchivedBinary* ClientDownloadRequest::_internal_add_archived_binary() {
  return _impl_.archived_binary_.Add();
}
inline ::safe_browsing::ClientDownloadRequest_ArchivedBinary* ClientDownloadRequest::add_archived_binary() {
  ::safe_browsing::ClientDownloadRequest_ArchivedBinary* _add = _internal_add_archived_binary();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.archived_binary)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >&
ClientDownloadRequest::archived_binary() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.archived_binary)
  return _impl_.archived_binary_;
}

// optional .safe_browsing.ChromeUserPopulation population = 24;
inline bool ClientDownloadRequest::_internal_has_population() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.population_ != nullptr);
  return value;
}
inline bool ClientDownloadRequest::has_population() const {
  return _internal_has_population();
}
inline void ClientDownloadRequest::clear_population() {
  if (_impl_.population_ != nullptr) _impl_.population_->Clear();
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline const ::safe_browsing::ChromeUserPopulation& ClientDownloadRequest::_internal_population() const {
  const ::safe_browsing::ChromeUserPopulation* p = _impl_.population_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ChromeUserPopulation&>(
      ::safe_browsing::_ChromeUserPopulation_default_instance_);
}
inline const ::safe_browsing::ChromeUserPopulation& ClientDownloadRequest::population() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.population)
  return _internal_population();
}
inline void ClientDownloadRequest::unsafe_arena_set_allocated_population(
    ::safe_browsing::ChromeUserPopulation* population) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.population_);
  }
  _impl_.population_ = population;
  if (population) {
    _impl_._has_bits_[0] |= 0x00000080u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000080u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadRequest.population)
}
inline ::safe_browsing::ChromeUserPopulation* ClientDownloadRequest::release_population() {
  _impl_._has_bits_[0] &= ~0x00000080u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* ClientDownloadRequest::unsafe_arena_release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.population)
  _impl_._has_bits_[0] &= ~0x00000080u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* ClientDownloadRequest::_internal_mutable_population() {
  _impl_._has_bits_[0] |= 0x00000080u;
  if (_impl_.population_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ChromeUserPopulation>(GetArenaForAllocation());
    _impl_.population_ = p;
  }
  return _impl_.population_;
}
inline ::safe_browsing::ChromeUserPopulation* ClientDownloadRequest::mutable_population() {
  ::safe_browsing::ChromeUserPopulation* _msg = _internal_mutable_population();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.population)
  return _msg;
}
inline void ClientDownloadRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.population_;
  }
  if (population) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(population);
    if (message_arena != submessage_arena) {
      population = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, population, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000080u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000080u;
  }
  _impl_.population_ = population;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.population)
}

// optional bool archive_valid = 26;
inline bool ClientDownloadRequest::_internal_has_archive_valid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_archive_valid() const {
  return _internal_has_archive_valid();
}
inline void ClientDownloadRequest::clear_archive_valid() {
  _impl_.archive_valid_ = false;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline bool ClientDownloadRequest::_internal_archive_valid() const {
  return _impl_.archive_valid_;
}
inline bool ClientDownloadRequest::archive_valid() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.archive_valid)
  return _internal_archive_valid();
}
inline void ClientDownloadRequest::_internal_set_archive_valid(bool value) {
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.archive_valid_ = value;
}
inline void ClientDownloadRequest::set_archive_valid(bool value) {
  _internal_set_archive_valid(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.archive_valid)
}

// optional bool skipped_url_whitelist = 28;
inline bool ClientDownloadRequest::_internal_has_skipped_url_whitelist() const {
  bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_skipped_url_whitelist() const {
  return _internal_has_skipped_url_whitelist();
}
inline void ClientDownloadRequest::clear_skipped_url_whitelist() {
  _impl_.skipped_url_whitelist_ = false;
  _impl_._has_bits_[0] &= ~0x00001000u;
}
inline bool ClientDownloadRequest::_internal_skipped_url_whitelist() const {
  return _impl_.skipped_url_whitelist_;
}
inline bool ClientDownloadRequest::skipped_url_whitelist() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
  return _internal_skipped_url_whitelist();
}
inline void ClientDownloadRequest::_internal_set_skipped_url_whitelist(bool value) {
  _impl_._has_bits_[0] |= 0x00001000u;
  _impl_.skipped_url_whitelist_ = value;
}
inline void ClientDownloadRequest::set_skipped_url_whitelist(bool value) {
  _internal_set_skipped_url_whitelist(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
}

// optional bool skipped_certificate_whitelist = 31;
inline bool ClientDownloadRequest::_internal_has_skipped_certificate_whitelist() const {
  bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_skipped_certificate_whitelist() const {
  return _internal_has_skipped_certificate_whitelist();
}
inline void ClientDownloadRequest::clear_skipped_certificate_whitelist() {
  _impl_.skipped_certificate_whitelist_ = false;
  _impl_._has_bits_[0] &= ~0x00002000u;
}
inline bool ClientDownloadRequest::_internal_skipped_certificate_whitelist() const {
  return _impl_.skipped_certificate_whitelist_;
}
inline bool ClientDownloadRequest::skipped_certificate_whitelist() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_certificate_whitelist)
  return _internal_skipped_certificate_whitelist();
}
inline void ClientDownloadRequest::_internal_set_skipped_certificate_whitelist(bool value) {
  _impl_._has_bits_[0] |= 0x00002000u;
  _impl_.skipped_certificate_whitelist_ = value;
}
inline void ClientDownloadRequest::set_skipped_certificate_whitelist(bool value) {
  _internal_set_skipped_certificate_whitelist(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.skipped_certificate_whitelist)
}

// repeated string alternate_extensions = 35;
inline int ClientDownloadRequest::_internal_alternate_extensions_size() const {
  return _impl_.alternate_extensions_.size();
}
inline int ClientDownloadRequest::alternate_extensions_size() const {
  return _internal_alternate_extensions_size();
}
inline void ClientDownloadRequest::clear_alternate_extensions() {
  _impl_.alternate_extensions_.Clear();
}
inline std::string* ClientDownloadRequest::add_alternate_extensions() {
  std::string* _s = _internal_add_alternate_extensions();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return _s;
}
inline const std::string& ClientDownloadRequest::_internal_alternate_extensions(int index) const {
  return _impl_.alternate_extensions_.Get(index);
}
inline const std::string& ClientDownloadRequest::alternate_extensions(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return _internal_alternate_extensions(index);
}
inline std::string* ClientDownloadRequest::mutable_alternate_extensions(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return _impl_.alternate_extensions_.Mutable(index);
}
inline void ClientDownloadRequest::set_alternate_extensions(int index, const std::string& value) {
  _impl_.alternate_extensions_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
inline void ClientDownloadRequest::set_alternate_extensions(int index, std::string&& value) {
  _impl_.alternate_extensions_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
inline void ClientDownloadRequest::set_alternate_extensions(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.alternate_extensions_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
inline void ClientDownloadRequest::set_alternate_extensions(int index, const char* value, size_t size) {
  _impl_.alternate_extensions_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
inline std::string* ClientDownloadRequest::_internal_add_alternate_extensions() {
  return _impl_.alternate_extensions_.Add();
}
inline void ClientDownloadRequest::add_alternate_extensions(const std::string& value) {
  _impl_.alternate_extensions_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
inline void ClientDownloadRequest::add_alternate_extensions(std::string&& value) {
  _impl_.alternate_extensions_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
inline void ClientDownloadRequest::add_alternate_extensions(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.alternate_extensions_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
inline void ClientDownloadRequest::add_alternate_extensions(const char* value, size_t size) {
  _impl_.alternate_extensions_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientDownloadRequest::alternate_extensions() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return _impl_.alternate_extensions_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientDownloadRequest::mutable_alternate_extensions() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return &_impl_.alternate_extensions_;
}

// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
inline int ClientDownloadRequest::_internal_referrer_chain_size() const {
  return _impl_.referrer_chain_.size();
}
inline int ClientDownloadRequest::referrer_chain_size() const {
  return _internal_referrer_chain_size();
}
inline void ClientDownloadRequest::clear_referrer_chain() {
  _impl_.referrer_chain_.Clear();
}
inline ::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::mutable_referrer_chain(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.referrer_chain)
  return _impl_.referrer_chain_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
ClientDownloadRequest::mutable_referrer_chain() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.referrer_chain)
  return &_impl_.referrer_chain_;
}
inline const ::safe_browsing::ReferrerChainEntry& ClientDownloadRequest::_internal_referrer_chain(int index) const {
  return _impl_.referrer_chain_.Get(index);
}
inline const ::safe_browsing::ReferrerChainEntry& ClientDownloadRequest::referrer_chain(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.referrer_chain)
  return _internal_referrer_chain(index);
}
inline ::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::_internal_add_referrer_chain() {
  return _impl_.referrer_chain_.Add();
}
inline ::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::add_referrer_chain() {
  ::safe_browsing::ReferrerChainEntry* _add = _internal_add_referrer_chain();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.referrer_chain)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
ClientDownloadRequest::referrer_chain() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.referrer_chain)
  return _impl_.referrer_chain_;
}

// optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
inline bool ClientDownloadRequest::_internal_has_deprecated_download_attribution_finch_enabled() const {
  bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_deprecated_download_attribution_finch_enabled() const {
  return _internal_has_deprecated_download_attribution_finch_enabled();
}
inline void ClientDownloadRequest::clear_deprecated_download_attribution_finch_enabled() {
  _impl_.deprecated_download_attribution_finch_enabled_ = false;
  _impl_._has_bits_[0] &= ~0x00004000u;
}
inline bool ClientDownloadRequest::_internal_deprecated_download_attribution_finch_enabled() const {
  return _impl_.deprecated_download_attribution_finch_enabled_;
}
inline bool ClientDownloadRequest::deprecated_download_attribution_finch_enabled() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.DEPRECATED_download_attribution_finch_enabled)
  return _internal_deprecated_download_attribution_finch_enabled();
}
inline void ClientDownloadRequest::_internal_set_deprecated_download_attribution_finch_enabled(bool value) {
  _impl_._has_bits_[0] |= 0x00004000u;
  _impl_.deprecated_download_attribution_finch_enabled_ = value;
}
inline void ClientDownloadRequest::set_deprecated_download_attribution_finch_enabled(bool value) {
  _internal_set_deprecated_download_attribution_finch_enabled(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.DEPRECATED_download_attribution_finch_enabled)
}

// optional bytes udif_code_signature = 40;
inline bool ClientDownloadRequest::_internal_has_udif_code_signature() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientDownloadRequest::has_udif_code_signature() const {
  return _internal_has_udif_code_signature();
}
inline void ClientDownloadRequest::clear_udif_code_signature() {
  _impl_.udif_code_signature_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& ClientDownloadRequest::udif_code_signature() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.udif_code_signature)
  return _internal_udif_code_signature();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadRequest::set_udif_code_signature(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.udif_code_signature_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.udif_code_signature)
}
inline std::string* ClientDownloadRequest::mutable_udif_code_signature() {
  std::string* _s = _internal_mutable_udif_code_signature();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.udif_code_signature)
  return _s;
}
inline const std::string& ClientDownloadRequest::_internal_udif_code_signature() const {
  return _impl_.udif_code_signature_.Get();
}
inline void ClientDownloadRequest::_internal_set_udif_code_signature(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.udif_code_signature_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest::_internal_mutable_udif_code_signature() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.udif_code_signature_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadRequest::release_udif_code_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.udif_code_signature)
  if (!_internal_has_udif_code_signature()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.udif_code_signature_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.udif_code_signature_.IsDefault()) {
    _impl_.udif_code_signature_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadRequest::set_allocated_udif_code_signature(std::string* udif_code_signature) {
  if (udif_code_signature != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.udif_code_signature_.SetAllocated(udif_code_signature, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.udif_code_signature_.IsDefault()) {
    _impl_.udif_code_signature_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.udif_code_signature)
}

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

// ReferrerChainEntry_ServerRedirect

// optional string url = 1;
inline bool ReferrerChainEntry_ServerRedirect::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ReferrerChainEntry_ServerRedirect::has_url() const {
  return _internal_has_url();
}
inline void ReferrerChainEntry_ServerRedirect::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ReferrerChainEntry_ServerRedirect::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ReferrerChainEntry_ServerRedirect::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
}
inline std::string* ReferrerChainEntry_ServerRedirect::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
  return _s;
}
inline const std::string& ReferrerChainEntry_ServerRedirect::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ReferrerChainEntry_ServerRedirect::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry_ServerRedirect::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry_ServerRedirect::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ReferrerChainEntry_ServerRedirect::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
}

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

// ReferrerChainEntry

// optional string url = 1;
inline bool ReferrerChainEntry::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ReferrerChainEntry::has_url() const {
  return _internal_has_url();
}
inline void ReferrerChainEntry::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ReferrerChainEntry::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ReferrerChainEntry::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.url)
}
inline std::string* ReferrerChainEntry::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.url)
  return _s;
}
inline const std::string& ReferrerChainEntry::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ReferrerChainEntry::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ReferrerChainEntry::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.url)
}

// optional string main_frame_url = 9;
inline bool ReferrerChainEntry::_internal_has_main_frame_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ReferrerChainEntry::has_main_frame_url() const {
  return _internal_has_main_frame_url();
}
inline void ReferrerChainEntry::clear_main_frame_url() {
  _impl_.main_frame_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& ReferrerChainEntry::main_frame_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.main_frame_url)
  return _internal_main_frame_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ReferrerChainEntry::set_main_frame_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.main_frame_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.main_frame_url)
}
inline std::string* ReferrerChainEntry::mutable_main_frame_url() {
  std::string* _s = _internal_mutable_main_frame_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.main_frame_url)
  return _s;
}
inline const std::string& ReferrerChainEntry::_internal_main_frame_url() const {
  return _impl_.main_frame_url_.Get();
}
inline void ReferrerChainEntry::_internal_set_main_frame_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.main_frame_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry::_internal_mutable_main_frame_url() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.main_frame_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry::release_main_frame_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.main_frame_url)
  if (!_internal_has_main_frame_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.main_frame_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.main_frame_url_.IsDefault()) {
    _impl_.main_frame_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ReferrerChainEntry::set_allocated_main_frame_url(std::string* main_frame_url) {
  if (main_frame_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.main_frame_url_.SetAllocated(main_frame_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.main_frame_url_.IsDefault()) {
    _impl_.main_frame_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.main_frame_url)
}

// optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
inline bool ReferrerChainEntry::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool ReferrerChainEntry::has_type() const {
  return _internal_has_type();
}
inline void ReferrerChainEntry::clear_type() {
  _impl_.type_ = 4;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline ::safe_browsing::ReferrerChainEntry_URLType ReferrerChainEntry::_internal_type() const {
  return static_cast< ::safe_browsing::ReferrerChainEntry_URLType >(_impl_.type_);
}
inline ::safe_browsing::ReferrerChainEntry_URLType ReferrerChainEntry::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.type)
  return _internal_type();
}
inline void ReferrerChainEntry::_internal_set_type(::safe_browsing::ReferrerChainEntry_URLType value) {
  assert(::safe_browsing::ReferrerChainEntry_URLType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.type_ = value;
}
inline void ReferrerChainEntry::set_type(::safe_browsing::ReferrerChainEntry_URLType value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.type)
}

// repeated string ip_addresses = 3;
inline int ReferrerChainEntry::_internal_ip_addresses_size() const {
  return _impl_.ip_addresses_.size();
}
inline int ReferrerChainEntry::ip_addresses_size() const {
  return _internal_ip_addresses_size();
}
inline void ReferrerChainEntry::clear_ip_addresses() {
  _impl_.ip_addresses_.Clear();
}
inline std::string* ReferrerChainEntry::add_ip_addresses() {
  std::string* _s = _internal_add_ip_addresses();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
  return _s;
}
inline const std::string& ReferrerChainEntry::_internal_ip_addresses(int index) const {
  return _impl_.ip_addresses_.Get(index);
}
inline const std::string& ReferrerChainEntry::ip_addresses(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ip_addresses)
  return _internal_ip_addresses(index);
}
inline std::string* ReferrerChainEntry::mutable_ip_addresses(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
  return _impl_.ip_addresses_.Mutable(index);
}
inline void ReferrerChainEntry::set_ip_addresses(int index, const std::string& value) {
  _impl_.ip_addresses_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
}
inline void ReferrerChainEntry::set_ip_addresses(int index, std::string&& value) {
  _impl_.ip_addresses_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
}
inline void ReferrerChainEntry::set_ip_addresses(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.ip_addresses_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.ip_addresses)
}
inline void ReferrerChainEntry::set_ip_addresses(int index, const char* value, size_t size) {
  _impl_.ip_addresses_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
}
inline std::string* ReferrerChainEntry::_internal_add_ip_addresses() {
  return _impl_.ip_addresses_.Add();
}
inline void ReferrerChainEntry::add_ip_addresses(const std::string& value) {
  _impl_.ip_addresses_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
}
inline void ReferrerChainEntry::add_ip_addresses(std::string&& value) {
  _impl_.ip_addresses_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
}
inline void ReferrerChainEntry::add_ip_addresses(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.ip_addresses_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ReferrerChainEntry.ip_addresses)
}
inline void ReferrerChainEntry::add_ip_addresses(const char* value, size_t size) {
  _impl_.ip_addresses_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ReferrerChainEntry::ip_addresses() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.ip_addresses)
  return _impl_.ip_addresses_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ReferrerChainEntry::mutable_ip_addresses() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.ip_addresses)
  return &_impl_.ip_addresses_;
}

// optional string referrer_url = 4;
inline bool ReferrerChainEntry::_internal_has_referrer_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ReferrerChainEntry::has_referrer_url() const {
  return _internal_has_referrer_url();
}
inline void ReferrerChainEntry::clear_referrer_url() {
  _impl_.referrer_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ReferrerChainEntry::referrer_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_url)
  return _internal_referrer_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ReferrerChainEntry::set_referrer_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.referrer_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_url)
}
inline std::string* ReferrerChainEntry::mutable_referrer_url() {
  std::string* _s = _internal_mutable_referrer_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_url)
  return _s;
}
inline const std::string& ReferrerChainEntry::_internal_referrer_url() const {
  return _impl_.referrer_url_.Get();
}
inline void ReferrerChainEntry::_internal_set_referrer_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.referrer_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry::_internal_mutable_referrer_url() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.referrer_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry::release_referrer_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_url)
  if (!_internal_has_referrer_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.referrer_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_url_.IsDefault()) {
    _impl_.referrer_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ReferrerChainEntry::set_allocated_referrer_url(std::string* referrer_url) {
  if (referrer_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.referrer_url_.SetAllocated(referrer_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_url_.IsDefault()) {
    _impl_.referrer_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_url)
}

// optional string referrer_main_frame_url = 5;
inline bool ReferrerChainEntry::_internal_has_referrer_main_frame_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ReferrerChainEntry::has_referrer_main_frame_url() const {
  return _internal_has_referrer_main_frame_url();
}
inline void ReferrerChainEntry::clear_referrer_main_frame_url() {
  _impl_.referrer_main_frame_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ReferrerChainEntry::referrer_main_frame_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
  return _internal_referrer_main_frame_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ReferrerChainEntry::set_referrer_main_frame_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.referrer_main_frame_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
}
inline std::string* ReferrerChainEntry::mutable_referrer_main_frame_url() {
  std::string* _s = _internal_mutable_referrer_main_frame_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
  return _s;
}
inline const std::string& ReferrerChainEntry::_internal_referrer_main_frame_url() const {
  return _impl_.referrer_main_frame_url_.Get();
}
inline void ReferrerChainEntry::_internal_set_referrer_main_frame_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.referrer_main_frame_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry::_internal_mutable_referrer_main_frame_url() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.referrer_main_frame_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ReferrerChainEntry::release_referrer_main_frame_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
  if (!_internal_has_referrer_main_frame_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.referrer_main_frame_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_main_frame_url_.IsDefault()) {
    _impl_.referrer_main_frame_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ReferrerChainEntry::set_allocated_referrer_main_frame_url(std::string* referrer_main_frame_url) {
  if (referrer_main_frame_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.referrer_main_frame_url_.SetAllocated(referrer_main_frame_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_main_frame_url_.IsDefault()) {
    _impl_.referrer_main_frame_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
}

// optional bool is_retargeting = 6;
inline bool ReferrerChainEntry::_internal_has_is_retargeting() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool ReferrerChainEntry::has_is_retargeting() const {
  return _internal_has_is_retargeting();
}
inline void ReferrerChainEntry::clear_is_retargeting() {
  _impl_.is_retargeting_ = false;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline bool ReferrerChainEntry::_internal_is_retargeting() const {
  return _impl_.is_retargeting_;
}
inline bool ReferrerChainEntry::is_retargeting() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.is_retargeting)
  return _internal_is_retargeting();
}
inline void ReferrerChainEntry::_internal_set_is_retargeting(bool value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.is_retargeting_ = value;
}
inline void ReferrerChainEntry::set_is_retargeting(bool value) {
  _internal_set_is_retargeting(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.is_retargeting)
}

// optional double navigation_time_msec = 7;
inline bool ReferrerChainEntry::_internal_has_navigation_time_msec() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ReferrerChainEntry::has_navigation_time_msec() const {
  return _internal_has_navigation_time_msec();
}
inline void ReferrerChainEntry::clear_navigation_time_msec() {
  _impl_.navigation_time_msec_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline double ReferrerChainEntry::_internal_navigation_time_msec() const {
  return _impl_.navigation_time_msec_;
}
inline double ReferrerChainEntry::navigation_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.navigation_time_msec)
  return _internal_navigation_time_msec();
}
inline void ReferrerChainEntry::_internal_set_navigation_time_msec(double value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.navigation_time_msec_ = value;
}
inline void ReferrerChainEntry::set_navigation_time_msec(double value) {
  _internal_set_navigation_time_msec(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.navigation_time_msec)
}

// repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
inline int ReferrerChainEntry::_internal_server_redirect_chain_size() const {
  return _impl_.server_redirect_chain_.size();
}
inline int ReferrerChainEntry::server_redirect_chain_size() const {
  return _internal_server_redirect_chain_size();
}
inline void ReferrerChainEntry::clear_server_redirect_chain() {
  _impl_.server_redirect_chain_.Clear();
}
inline ::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::mutable_server_redirect_chain(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return _impl_.server_redirect_chain_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >*
ReferrerChainEntry::mutable_server_redirect_chain() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return &_impl_.server_redirect_chain_;
}
inline const ::safe_browsing::ReferrerChainEntry_ServerRedirect& ReferrerChainEntry::_internal_server_redirect_chain(int index) const {
  return _impl_.server_redirect_chain_.Get(index);
}
inline const ::safe_browsing::ReferrerChainEntry_ServerRedirect& ReferrerChainEntry::server_redirect_chain(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return _internal_server_redirect_chain(index);
}
inline ::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::_internal_add_server_redirect_chain() {
  return _impl_.server_redirect_chain_.Add();
}
inline ::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::add_server_redirect_chain() {
  ::safe_browsing::ReferrerChainEntry_ServerRedirect* _add = _internal_add_server_redirect_chain();
  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >&
ReferrerChainEntry::server_redirect_chain() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return _impl_.server_redirect_chain_;
}

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

// ClientDownloadResponse_MoreInfo

// optional string description = 1;
inline bool ClientDownloadResponse_MoreInfo::_internal_has_description() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadResponse_MoreInfo::has_description() const {
  return _internal_has_description();
}
inline void ClientDownloadResponse_MoreInfo::clear_description() {
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadResponse_MoreInfo::description() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.MoreInfo.description)
  return _internal_description();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadResponse_MoreInfo::set_description(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.description_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.MoreInfo.description)
}
inline std::string* ClientDownloadResponse_MoreInfo::mutable_description() {
  std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadResponse.MoreInfo.description)
  return _s;
}
inline const std::string& ClientDownloadResponse_MoreInfo::_internal_description() const {
  return _impl_.description_.Get();
}
inline void ClientDownloadResponse_MoreInfo::_internal_set_description(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadResponse_MoreInfo::_internal_mutable_description() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.description_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadResponse_MoreInfo::release_description() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadResponse.MoreInfo.description)
  if (!_internal_has_description()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.description_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadResponse_MoreInfo::set_allocated_description(std::string* description) {
  if (description != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.description_.SetAllocated(description, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.MoreInfo.description)
}

// optional string url = 2;
inline bool ClientDownloadResponse_MoreInfo::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientDownloadResponse_MoreInfo::has_url() const {
  return _internal_has_url();
}
inline void ClientDownloadResponse_MoreInfo::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientDownloadResponse_MoreInfo::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.MoreInfo.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadResponse_MoreInfo::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.MoreInfo.url)
}
inline std::string* ClientDownloadResponse_MoreInfo::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadResponse.MoreInfo.url)
  return _s;
}
inline const std::string& ClientDownloadResponse_MoreInfo::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ClientDownloadResponse_MoreInfo::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadResponse_MoreInfo::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadResponse_MoreInfo::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadResponse.MoreInfo.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadResponse_MoreInfo::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.MoreInfo.url)
}

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

// ClientDownloadResponse

// optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
inline bool ClientDownloadResponse::_internal_has_verdict() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientDownloadResponse::has_verdict() const {
  return _internal_has_verdict();
}
inline void ClientDownloadResponse::clear_verdict() {
  _impl_.verdict_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::safe_browsing::ClientDownloadResponse_Verdict ClientDownloadResponse::_internal_verdict() const {
  return static_cast< ::safe_browsing::ClientDownloadResponse_Verdict >(_impl_.verdict_);
}
inline ::safe_browsing::ClientDownloadResponse_Verdict ClientDownloadResponse::verdict() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.verdict)
  return _internal_verdict();
}
inline void ClientDownloadResponse::_internal_set_verdict(::safe_browsing::ClientDownloadResponse_Verdict value) {
  assert(::safe_browsing::ClientDownloadResponse_Verdict_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.verdict_ = value;
}
inline void ClientDownloadResponse::set_verdict(::safe_browsing::ClientDownloadResponse_Verdict value) {
  _internal_set_verdict(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.verdict)
}

// optional .safe_browsing.ClientDownloadResponse.MoreInfo more_info = 2;
inline bool ClientDownloadResponse::_internal_has_more_info() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.more_info_ != nullptr);
  return value;
}
inline bool ClientDownloadResponse::has_more_info() const {
  return _internal_has_more_info();
}
inline void ClientDownloadResponse::clear_more_info() {
  if (_impl_.more_info_ != nullptr) _impl_.more_info_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientDownloadResponse_MoreInfo& ClientDownloadResponse::_internal_more_info() const {
  const ::safe_browsing::ClientDownloadResponse_MoreInfo* p = _impl_.more_info_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadResponse_MoreInfo&>(
      ::safe_browsing::_ClientDownloadResponse_MoreInfo_default_instance_);
}
inline const ::safe_browsing::ClientDownloadResponse_MoreInfo& ClientDownloadResponse::more_info() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.more_info)
  return _internal_more_info();
}
inline void ClientDownloadResponse::unsafe_arena_set_allocated_more_info(
    ::safe_browsing::ClientDownloadResponse_MoreInfo* more_info) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.more_info_);
  }
  _impl_.more_info_ = more_info;
  if (more_info) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadResponse.more_info)
}
inline ::safe_browsing::ClientDownloadResponse_MoreInfo* ClientDownloadResponse::release_more_info() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadResponse_MoreInfo* temp = _impl_.more_info_;
  _impl_.more_info_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadResponse_MoreInfo* ClientDownloadResponse::unsafe_arena_release_more_info() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadResponse.more_info)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadResponse_MoreInfo* temp = _impl_.more_info_;
  _impl_.more_info_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadResponse_MoreInfo* ClientDownloadResponse::_internal_mutable_more_info() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.more_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadResponse_MoreInfo>(GetArenaForAllocation());
    _impl_.more_info_ = p;
  }
  return _impl_.more_info_;
}
inline ::safe_browsing::ClientDownloadResponse_MoreInfo* ClientDownloadResponse::mutable_more_info() {
  ::safe_browsing::ClientDownloadResponse_MoreInfo* _msg = _internal_mutable_more_info();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadResponse.more_info)
  return _msg;
}
inline void ClientDownloadResponse::set_allocated_more_info(::safe_browsing::ClientDownloadResponse_MoreInfo* more_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.more_info_;
  }
  if (more_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(more_info);
    if (message_arena != submessage_arena) {
      more_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, more_info, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.more_info_ = more_info;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.more_info)
}

// optional bytes token = 3;
inline bool ClientDownloadResponse::_internal_has_token() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadResponse::has_token() const {
  return _internal_has_token();
}
inline void ClientDownloadResponse::clear_token() {
  _impl_.token_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadResponse::token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.token)
  return _internal_token();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadResponse::set_token(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.token_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.token)
}
inline std::string* ClientDownloadResponse::mutable_token() {
  std::string* _s = _internal_mutable_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadResponse.token)
  return _s;
}
inline const std::string& ClientDownloadResponse::_internal_token() const {
  return _impl_.token_.Get();
}
inline void ClientDownloadResponse::_internal_set_token(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.token_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadResponse::_internal_mutable_token() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.token_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadResponse::release_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadResponse.token)
  if (!_internal_has_token()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.token_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadResponse::set_allocated_token(std::string* token) {
  if (token != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.token_.SetAllocated(token, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.token)
}

// optional bool upload = 5;
inline bool ClientDownloadResponse::_internal_has_upload() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientDownloadResponse::has_upload() const {
  return _internal_has_upload();
}
inline void ClientDownloadResponse::clear_upload() {
  _impl_.upload_ = false;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline bool ClientDownloadResponse::_internal_upload() const {
  return _impl_.upload_;
}
inline bool ClientDownloadResponse::upload() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.upload)
  return _internal_upload();
}
inline void ClientDownloadResponse::_internal_set_upload(bool value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.upload_ = value;
}
inline void ClientDownloadResponse::set_upload(bool value) {
  _internal_set_upload(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.upload)
}

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

// ClientDownloadReport_UserInformation

// optional string email = 1;
inline bool ClientDownloadReport_UserInformation::_internal_has_email() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadReport_UserInformation::has_email() const {
  return _internal_has_email();
}
inline void ClientDownloadReport_UserInformation::clear_email() {
  _impl_.email_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadReport_UserInformation::email() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.UserInformation.email)
  return _internal_email();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadReport_UserInformation::set_email(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.email_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadReport.UserInformation.email)
}
inline std::string* ClientDownloadReport_UserInformation::mutable_email() {
  std::string* _s = _internal_mutable_email();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.UserInformation.email)
  return _s;
}
inline const std::string& ClientDownloadReport_UserInformation::_internal_email() const {
  return _impl_.email_.Get();
}
inline void ClientDownloadReport_UserInformation::_internal_set_email(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.email_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadReport_UserInformation::_internal_mutable_email() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.email_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadReport_UserInformation::release_email() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.UserInformation.email)
  if (!_internal_has_email()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.email_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.email_.IsDefault()) {
    _impl_.email_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadReport_UserInformation::set_allocated_email(std::string* email) {
  if (email != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.email_.SetAllocated(email, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.email_.IsDefault()) {
    _impl_.email_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.UserInformation.email)
}

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

// ClientDownloadReport

// optional .safe_browsing.ClientDownloadReport.Reason reason = 1;
inline bool ClientDownloadReport::_internal_has_reason() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientDownloadReport::has_reason() const {
  return _internal_has_reason();
}
inline void ClientDownloadReport::clear_reason() {
  _impl_.reason_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline ::safe_browsing::ClientDownloadReport_Reason ClientDownloadReport::_internal_reason() const {
  return static_cast< ::safe_browsing::ClientDownloadReport_Reason >(_impl_.reason_);
}
inline ::safe_browsing::ClientDownloadReport_Reason ClientDownloadReport::reason() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.reason)
  return _internal_reason();
}
inline void ClientDownloadReport::_internal_set_reason(::safe_browsing::ClientDownloadReport_Reason value) {
  assert(::safe_browsing::ClientDownloadReport_Reason_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.reason_ = value;
}
inline void ClientDownloadReport::set_reason(::safe_browsing::ClientDownloadReport_Reason value) {
  _internal_set_reason(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadReport.reason)
}

// optional .safe_browsing.ClientDownloadRequest download_request = 2;
inline bool ClientDownloadReport::_internal_has_download_request() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.download_request_ != nullptr);
  return value;
}
inline bool ClientDownloadReport::has_download_request() const {
  return _internal_has_download_request();
}
inline void ClientDownloadReport::clear_download_request() {
  if (_impl_.download_request_ != nullptr) _impl_.download_request_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientDownloadRequest& ClientDownloadReport::_internal_download_request() const {
  const ::safe_browsing::ClientDownloadRequest* p = _impl_.download_request_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest&>(
      ::safe_browsing::_ClientDownloadRequest_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest& ClientDownloadReport::download_request() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.download_request)
  return _internal_download_request();
}
inline void ClientDownloadReport::unsafe_arena_set_allocated_download_request(
    ::safe_browsing::ClientDownloadRequest* download_request) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.download_request_);
  }
  _impl_.download_request_ = download_request;
  if (download_request) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadReport.download_request)
}
inline ::safe_browsing::ClientDownloadRequest* ClientDownloadReport::release_download_request() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest* temp = _impl_.download_request_;
  _impl_.download_request_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest* ClientDownloadReport::unsafe_arena_release_download_request() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.download_request)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest* temp = _impl_.download_request_;
  _impl_.download_request_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest* ClientDownloadReport::_internal_mutable_download_request() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.download_request_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest>(GetArenaForAllocation());
    _impl_.download_request_ = p;
  }
  return _impl_.download_request_;
}
inline ::safe_browsing::ClientDownloadRequest* ClientDownloadReport::mutable_download_request() {
  ::safe_browsing::ClientDownloadRequest* _msg = _internal_mutable_download_request();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.download_request)
  return _msg;
}
inline void ClientDownloadReport::set_allocated_download_request(::safe_browsing::ClientDownloadRequest* download_request) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.download_request_;
  }
  if (download_request) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(download_request);
    if (message_arena != submessage_arena) {
      download_request = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, download_request, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.download_request_ = download_request;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.download_request)
}

// optional .safe_browsing.ClientDownloadReport.UserInformation user_information = 3;
inline bool ClientDownloadReport::_internal_has_user_information() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.user_information_ != nullptr);
  return value;
}
inline bool ClientDownloadReport::has_user_information() const {
  return _internal_has_user_information();
}
inline void ClientDownloadReport::clear_user_information() {
  if (_impl_.user_information_ != nullptr) _impl_.user_information_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ClientDownloadReport_UserInformation& ClientDownloadReport::_internal_user_information() const {
  const ::safe_browsing::ClientDownloadReport_UserInformation* p = _impl_.user_information_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadReport_UserInformation&>(
      ::safe_browsing::_ClientDownloadReport_UserInformation_default_instance_);
}
inline const ::safe_browsing::ClientDownloadReport_UserInformation& ClientDownloadReport::user_information() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.user_information)
  return _internal_user_information();
}
inline void ClientDownloadReport::unsafe_arena_set_allocated_user_information(
    ::safe_browsing::ClientDownloadReport_UserInformation* user_information) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.user_information_);
  }
  _impl_.user_information_ = user_information;
  if (user_information) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadReport.user_information)
}
inline ::safe_browsing::ClientDownloadReport_UserInformation* ClientDownloadReport::release_user_information() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientDownloadReport_UserInformation* temp = _impl_.user_information_;
  _impl_.user_information_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadReport_UserInformation* ClientDownloadReport::unsafe_arena_release_user_information() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.user_information)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientDownloadReport_UserInformation* temp = _impl_.user_information_;
  _impl_.user_information_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadReport_UserInformation* ClientDownloadReport::_internal_mutable_user_information() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.user_information_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadReport_UserInformation>(GetArenaForAllocation());
    _impl_.user_information_ = p;
  }
  return _impl_.user_information_;
}
inline ::safe_browsing::ClientDownloadReport_UserInformation* ClientDownloadReport::mutable_user_information() {
  ::safe_browsing::ClientDownloadReport_UserInformation* _msg = _internal_mutable_user_information();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.user_information)
  return _msg;
}
inline void ClientDownloadReport::set_allocated_user_information(::safe_browsing::ClientDownloadReport_UserInformation* user_information) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.user_information_;
  }
  if (user_information) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(user_information);
    if (message_arena != submessage_arena) {
      user_information = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, user_information, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.user_information_ = user_information;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.user_information)
}

// optional bytes comment = 4;
inline bool ClientDownloadReport::_internal_has_comment() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientDownloadReport::has_comment() const {
  return _internal_has_comment();
}
inline void ClientDownloadReport::clear_comment() {
  _impl_.comment_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientDownloadReport::comment() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.comment)
  return _internal_comment();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientDownloadReport::set_comment(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.comment_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadReport.comment)
}
inline std::string* ClientDownloadReport::mutable_comment() {
  std::string* _s = _internal_mutable_comment();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.comment)
  return _s;
}
inline const std::string& ClientDownloadReport::_internal_comment() const {
  return _impl_.comment_.Get();
}
inline void ClientDownloadReport::_internal_set_comment(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.comment_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientDownloadReport::_internal_mutable_comment() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.comment_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientDownloadReport::release_comment() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.comment)
  if (!_internal_has_comment()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.comment_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.comment_.IsDefault()) {
    _impl_.comment_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientDownloadReport::set_allocated_comment(std::string* comment) {
  if (comment != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.comment_.SetAllocated(comment, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.comment_.IsDefault()) {
    _impl_.comment_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.comment)
}

// optional .safe_browsing.ClientDownloadResponse download_response = 5;
inline bool ClientDownloadReport::_internal_has_download_response() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.download_response_ != nullptr);
  return value;
}
inline bool ClientDownloadReport::has_download_response() const {
  return _internal_has_download_response();
}
inline void ClientDownloadReport::clear_download_response() {
  if (_impl_.download_response_ != nullptr) _impl_.download_response_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::safe_browsing::ClientDownloadResponse& ClientDownloadReport::_internal_download_response() const {
  const ::safe_browsing::ClientDownloadResponse* p = _impl_.download_response_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadResponse&>(
      ::safe_browsing::_ClientDownloadResponse_default_instance_);
}
inline const ::safe_browsing::ClientDownloadResponse& ClientDownloadReport::download_response() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.download_response)
  return _internal_download_response();
}
inline void ClientDownloadReport::unsafe_arena_set_allocated_download_response(
    ::safe_browsing::ClientDownloadResponse* download_response) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.download_response_);
  }
  _impl_.download_response_ = download_response;
  if (download_response) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientDownloadReport.download_response)
}
inline ::safe_browsing::ClientDownloadResponse* ClientDownloadReport::release_download_response() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientDownloadResponse* temp = _impl_.download_response_;
  _impl_.download_response_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadResponse* ClientDownloadReport::unsafe_arena_release_download_response() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.download_response)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientDownloadResponse* temp = _impl_.download_response_;
  _impl_.download_response_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadResponse* ClientDownloadReport::_internal_mutable_download_response() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.download_response_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadResponse>(GetArenaForAllocation());
    _impl_.download_response_ = p;
  }
  return _impl_.download_response_;
}
inline ::safe_browsing::ClientDownloadResponse* ClientDownloadReport::mutable_download_response() {
  ::safe_browsing::ClientDownloadResponse* _msg = _internal_mutable_download_response();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.download_response)
  return _msg;
}
inline void ClientDownloadReport::set_allocated_download_response(::safe_browsing::ClientDownloadResponse* download_response) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.download_response_;
  }
  if (download_response) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(download_response);
    if (message_arena != submessage_arena) {
      download_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, download_response, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.download_response_ = download_response;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.download_response)
}

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

// ClientUploadResponse

// optional .safe_browsing.ClientUploadResponse.UploadStatus status = 1;
inline bool ClientUploadResponse::_internal_has_status() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientUploadResponse::has_status() const {
  return _internal_has_status();
}
inline void ClientUploadResponse::clear_status() {
  _impl_.status_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::safe_browsing::ClientUploadResponse_UploadStatus ClientUploadResponse::_internal_status() const {
  return static_cast< ::safe_browsing::ClientUploadResponse_UploadStatus >(_impl_.status_);
}
inline ::safe_browsing::ClientUploadResponse_UploadStatus ClientUploadResponse::status() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientUploadResponse.status)
  return _internal_status();
}
inline void ClientUploadResponse::_internal_set_status(::safe_browsing::ClientUploadResponse_UploadStatus value) {
  assert(::safe_browsing::ClientUploadResponse_UploadStatus_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.status_ = value;
}
inline void ClientUploadResponse::set_status(::safe_browsing::ClientUploadResponse_UploadStatus value) {
  _internal_set_status(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientUploadResponse.status)
}

// optional string permalink = 2;
inline bool ClientUploadResponse::_internal_has_permalink() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientUploadResponse::has_permalink() const {
  return _internal_has_permalink();
}
inline void ClientUploadResponse::clear_permalink() {
  _impl_.permalink_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientUploadResponse::permalink() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientUploadResponse.permalink)
  return _internal_permalink();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientUploadResponse::set_permalink(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.permalink_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientUploadResponse.permalink)
}
inline std::string* ClientUploadResponse::mutable_permalink() {
  std::string* _s = _internal_mutable_permalink();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientUploadResponse.permalink)
  return _s;
}
inline const std::string& ClientUploadResponse::_internal_permalink() const {
  return _impl_.permalink_.Get();
}
inline void ClientUploadResponse::_internal_set_permalink(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.permalink_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientUploadResponse::_internal_mutable_permalink() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.permalink_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientUploadResponse::release_permalink() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientUploadResponse.permalink)
  if (!_internal_has_permalink()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.permalink_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.permalink_.IsDefault()) {
    _impl_.permalink_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientUploadResponse::set_allocated_permalink(std::string* permalink) {
  if (permalink != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.permalink_.SetAllocated(permalink, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.permalink_.IsDefault()) {
    _impl_.permalink_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientUploadResponse.permalink)
}

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

// ClientIncidentReport_IncidentData_TrackedPreferenceIncident

// optional string path = 1;
inline bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_has_path() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::has_path() const {
  return _internal_has_path();
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_path() {
  _impl_.path_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::path() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
  return _internal_path();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_path(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.path_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::mutable_path() {
  std::string* _s = _internal_mutable_path();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
  return _s;
}
inline const std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_path() const {
  return _impl_.path_.Get();
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_set_path(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.path_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_mutable_path() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.path_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::release_path() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
  if (!_internal_has_path()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.path_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.path_.IsDefault()) {
    _impl_.path_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_allocated_path(std::string* path) {
  if (path != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.path_.SetAllocated(path, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.path_.IsDefault()) {
    _impl_.path_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
}

// optional string atomic_value = 2;
inline bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_has_atomic_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::has_atomic_value() const {
  return _internal_has_atomic_value();
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_atomic_value() {
  _impl_.atomic_value_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::atomic_value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
  return _internal_atomic_value();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_atomic_value(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.atomic_value_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::mutable_atomic_value() {
  std::string* _s = _internal_mutable_atomic_value();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
  return _s;
}
inline const std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_atomic_value() const {
  return _impl_.atomic_value_.Get();
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_set_atomic_value(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.atomic_value_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_mutable_atomic_value() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.atomic_value_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::release_atomic_value() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
  if (!_internal_has_atomic_value()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.atomic_value_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.atomic_value_.IsDefault()) {
    _impl_.atomic_value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_allocated_atomic_value(std::string* atomic_value) {
  if (atomic_value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.atomic_value_.SetAllocated(atomic_value, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.atomic_value_.IsDefault()) {
    _impl_.atomic_value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
}

// repeated string split_key = 3;
inline int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_split_key_size() const {
  return _impl_.split_key_.size();
}
inline int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::split_key_size() const {
  return _internal_split_key_size();
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_split_key() {
  _impl_.split_key_.Clear();
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key() {
  std::string* _s = _internal_add_split_key();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return _s;
}
inline const std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_split_key(int index) const {
  return _impl_.split_key_.Get(index);
}
inline const std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::split_key(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return _internal_split_key(index);
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::mutable_split_key(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return _impl_.split_key_.Mutable(index);
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_split_key(int index, const std::string& value) {
  _impl_.split_key_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_split_key(int index, std::string&& value) {
  _impl_.split_key_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_split_key(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.split_key_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_split_key(int index, const char* value, size_t size) {
  _impl_.split_key_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
inline std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_add_split_key() {
  return _impl_.split_key_.Add();
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key(const std::string& value) {
  _impl_.split_key_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key(std::string&& value) {
  _impl_.split_key_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.split_key_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key(const char* value, size_t size) {
  _impl_.split_key_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientIncidentReport_IncidentData_TrackedPreferenceIncident::split_key() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return _impl_.split_key_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientIncidentReport_IncidentData_TrackedPreferenceIncident::mutable_split_key() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return &_impl_.split_key_;
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.ValueState value_state = 4;
inline bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_has_value_state() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::has_value_state() const {
  return _internal_has_value_state();
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_value_state() {
  _impl_.value_state_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_value_state() const {
  return static_cast< ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState >(_impl_.value_state_);
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::value_state() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.value_state)
  return _internal_value_state();
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::_internal_set_value_state(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState value) {
  assert(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.value_state_ = value;
}
inline void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_value_state(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState value) {
  _internal_set_value_state(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.value_state)
}

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

// ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile

// optional string relative_path = 1;
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_has_relative_path() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::has_relative_path() const {
  return _internal_has_relative_path();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_relative_path() {
  _impl_.relative_path_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::relative_path() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
  return _internal_relative_path();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_relative_path(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.relative_path_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
}
inline std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::mutable_relative_path() {
  std::string* _s = _internal_mutable_relative_path();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
  return _s;
}
inline const std::string& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_relative_path() const {
  return _impl_.relative_path_.Get();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_set_relative_path(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.relative_path_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_mutable_relative_path() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.relative_path_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::release_relative_path() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
  if (!_internal_has_relative_path()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.relative_path_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.relative_path_.IsDefault()) {
    _impl_.relative_path_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_allocated_relative_path(std::string* relative_path) {
  if (relative_path != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.relative_path_.SetAllocated(relative_path, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.relative_path_.IsDefault()) {
    _impl_.relative_path_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
}

// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_has_signature() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.signature_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::has_signature() const {
  return _internal_has_signature();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_signature() {
  if (_impl_.signature_ != nullptr) _impl_.signature_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_signature() const {
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = _impl_.signature_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo&>(
      ::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::signature() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
  return _internal_signature();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::unsafe_arena_set_allocated_signature(
    ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.signature_);
  }
  _impl_.signature_ = signature;
  if (signature) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::release_signature() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = _impl_.signature_;
  _impl_.signature_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::unsafe_arena_release_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = _impl_.signature_;
  _impl_.signature_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_mutable_signature() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.signature_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_SignatureInfo>(GetArenaForAllocation());
    _impl_.signature_ = p;
  }
  return _impl_.signature_;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::mutable_signature() {
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* _msg = _internal_mutable_signature();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
  return _msg;
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.signature_;
  }
  if (signature) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(signature);
    if (message_arena != submessage_arena) {
      signature = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, signature, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.signature_ = signature;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_has_image_headers() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.image_headers_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::has_image_headers() const {
  return _internal_has_image_headers();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_image_headers() {
  if (_impl_.image_headers_ != nullptr) _impl_.image_headers_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = _impl_.image_headers_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders&>(
      ::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::image_headers() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
  return _internal_image_headers();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::unsafe_arena_set_allocated_image_headers(
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.image_headers_);
  }
  _impl_.image_headers_ = image_headers;
  if (image_headers) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::release_image_headers() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::unsafe_arena_release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::_internal_mutable_image_headers() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.image_headers_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_ImageHeaders>(GetArenaForAllocation());
    _impl_.image_headers_ = p;
  }
  return _impl_.image_headers_;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::mutable_image_headers() {
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _msg = _internal_mutable_image_headers();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
  return _msg;
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.image_headers_;
  }
  if (image_headers) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(image_headers);
    if (message_arena != submessage_arena) {
      image_headers = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, image_headers, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.image_headers_ = image_headers;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
}

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

// ClientIncidentReport_IncidentData_BinaryIntegrityIncident

// optional string file_basename = 1;
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_has_file_basename() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::has_file_basename() const {
  return _internal_has_file_basename();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_file_basename() {
  _impl_.file_basename_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::file_basename() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
  return _internal_file_basename();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_file_basename(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.file_basename_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
}
inline std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_file_basename() {
  std::string* _s = _internal_mutable_file_basename();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
  return _s;
}
inline const std::string& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_file_basename() const {
  return _impl_.file_basename_.Get();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_set_file_basename(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.file_basename_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_mutable_file_basename() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.file_basename_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::release_file_basename() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
  if (!_internal_has_file_basename()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.file_basename_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_basename_.IsDefault()) {
    _impl_.file_basename_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_allocated_file_basename(std::string* file_basename) {
  if (file_basename != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.file_basename_.SetAllocated(file_basename, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_basename_.IsDefault()) {
    _impl_.file_basename_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
}

// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_has_signature() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.signature_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::has_signature() const {
  return _internal_has_signature();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_signature() {
  if (_impl_.signature_ != nullptr) _impl_.signature_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_signature() const {
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = _impl_.signature_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo&>(
      ::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::signature() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
  return _internal_signature();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::unsafe_arena_set_allocated_signature(
    ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.signature_);
  }
  _impl_.signature_ = signature;
  if (signature) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::release_signature() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = _impl_.signature_;
  _impl_.signature_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::unsafe_arena_release_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = _impl_.signature_;
  _impl_.signature_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_mutable_signature() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.signature_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_SignatureInfo>(GetArenaForAllocation());
    _impl_.signature_ = p;
  }
  return _impl_.signature_;
}
inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_signature() {
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* _msg = _internal_mutable_signature();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
  return _msg;
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.signature_;
  }
  if (signature) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(signature);
    if (message_arena != submessage_arena) {
      signature = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, signature, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.signature_ = signature;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_has_image_headers() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.image_headers_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::has_image_headers() const {
  return _internal_has_image_headers();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_image_headers() {
  if (_impl_.image_headers_ != nullptr) _impl_.image_headers_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = _impl_.image_headers_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders&>(
      ::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::image_headers() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
  return _internal_image_headers();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::unsafe_arena_set_allocated_image_headers(
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.image_headers_);
  }
  _impl_.image_headers_ = image_headers;
  if (image_headers) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::release_image_headers() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::unsafe_arena_release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_mutable_image_headers() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.image_headers_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_ImageHeaders>(GetArenaForAllocation());
    _impl_.image_headers_ = p;
  }
  return _impl_.image_headers_;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_image_headers() {
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _msg = _internal_mutable_image_headers();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
  return _msg;
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.image_headers_;
  }
  if (image_headers) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(image_headers);
    if (message_arena != submessage_arena) {
      image_headers = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, image_headers, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.image_headers_ = image_headers;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
}

// optional int32 sec_error = 4;
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_has_sec_error() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::has_sec_error() const {
  return _internal_has_sec_error();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_sec_error() {
  _impl_.sec_error_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int32_t ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_sec_error() const {
  return _impl_.sec_error_;
}
inline int32_t ClientIncidentReport_IncidentData_BinaryIntegrityIncident::sec_error() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.sec_error)
  return _internal_sec_error();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_set_sec_error(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.sec_error_ = value;
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_sec_error(int32_t value) {
  _internal_set_sec_error(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.sec_error)
}

// repeated .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile contained_file = 5;
inline int ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_contained_file_size() const {
  return _impl_.contained_file_.size();
}
inline int ClientIncidentReport_IncidentData_BinaryIntegrityIncident::contained_file_size() const {
  return _internal_contained_file_size();
}
inline void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_contained_file() {
  _impl_.contained_file_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_contained_file(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return _impl_.contained_file_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile >*
ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_contained_file() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return &_impl_.contained_file_;
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_contained_file(int index) const {
  return _impl_.contained_file_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::contained_file(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return _internal_contained_file(index);
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::_internal_add_contained_file() {
  return _impl_.contained_file_.Add();
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::add_contained_file() {
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* _add = _internal_add_contained_file();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile >&
ClientIncidentReport_IncidentData_BinaryIntegrityIncident::contained_file() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return _impl_.contained_file_;
}

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

// ClientIncidentReport_IncidentData_ResourceRequestIncident

// optional bytes digest = 1;
inline bool ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_has_digest() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_ResourceRequestIncident::has_digest() const {
  return _internal_has_digest();
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_digest() {
  _impl_.digest_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_IncidentData_ResourceRequestIncident::digest() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
  return _internal_digest();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_digest(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.digest_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
}
inline std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::mutable_digest() {
  std::string* _s = _internal_mutable_digest();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
  return _s;
}
inline const std::string& ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_digest() const {
  return _impl_.digest_.Get();
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_set_digest(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.digest_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_mutable_digest() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.digest_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::release_digest() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
  if (!_internal_has_digest()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.digest_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.digest_.IsDefault()) {
    _impl_.digest_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_allocated_digest(std::string* digest) {
  if (digest != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.digest_.SetAllocated(digest, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.digest_.IsDefault()) {
    _impl_.digest_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
}

// optional string origin = 2;
inline bool ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_has_origin() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_ResourceRequestIncident::has_origin() const {
  return _internal_has_origin();
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_origin() {
  _impl_.origin_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_IncidentData_ResourceRequestIncident::origin() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
  return _internal_origin();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_origin(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.origin_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
}
inline std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::mutable_origin() {
  std::string* _s = _internal_mutable_origin();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
  return _s;
}
inline const std::string& ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_origin() const {
  return _impl_.origin_.Get();
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_set_origin(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.origin_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_mutable_origin() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.origin_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::release_origin() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
  if (!_internal_has_origin()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.origin_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.origin_.IsDefault()) {
    _impl_.origin_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_allocated_origin(std::string* origin) {
  if (origin != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.origin_.SetAllocated(origin, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.origin_.IsDefault()) {
    _impl_.origin_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.Type type = 3 [default = UNKNOWN];
inline bool ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData_ResourceRequestIncident::has_type() const {
  return _internal_has_type();
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_type() {
  _impl_.type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_type() const {
  return static_cast< ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type >(_impl_.type_);
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.type)
  return _internal_type();
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::_internal_set_type(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type value) {
  assert(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.type_ = value;
}
inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_type(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.type)
}

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

// ClientIncidentReport_IncidentData

// optional int64 incident_time_msec = 1;
inline bool ClientIncidentReport_IncidentData::_internal_has_incident_time_msec() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientIncidentReport_IncidentData::has_incident_time_msec() const {
  return _internal_has_incident_time_msec();
}
inline void ClientIncidentReport_IncidentData::clear_incident_time_msec() {
  _impl_.incident_time_msec_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int64_t ClientIncidentReport_IncidentData::_internal_incident_time_msec() const {
  return _impl_.incident_time_msec_;
}
inline int64_t ClientIncidentReport_IncidentData::incident_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.incident_time_msec)
  return _internal_incident_time_msec();
}
inline void ClientIncidentReport_IncidentData::_internal_set_incident_time_msec(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.incident_time_msec_ = value;
}
inline void ClientIncidentReport_IncidentData::set_incident_time_msec(int64_t value) {
  _internal_set_incident_time_msec(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.incident_time_msec)
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
inline bool ClientIncidentReport_IncidentData::_internal_has_tracked_preference() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.tracked_preference_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_IncidentData::has_tracked_preference() const {
  return _internal_has_tracked_preference();
}
inline void ClientIncidentReport_IncidentData::clear_tracked_preference() {
  if (_impl_.tracked_preference_ != nullptr) _impl_.tracked_preference_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident& ClientIncidentReport_IncidentData::_internal_tracked_preference() const {
  const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* p = _impl_.tracked_preference_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident&>(
      ::safe_browsing::_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident& ClientIncidentReport_IncidentData::tracked_preference() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
  return _internal_tracked_preference();
}
inline void ClientIncidentReport_IncidentData::unsafe_arena_set_allocated_tracked_preference(
    ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* tracked_preference) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.tracked_preference_);
  }
  _impl_.tracked_preference_ = tracked_preference;
  if (tracked_preference) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* ClientIncidentReport_IncidentData::release_tracked_preference() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* temp = _impl_.tracked_preference_;
  _impl_.tracked_preference_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* ClientIncidentReport_IncidentData::unsafe_arena_release_tracked_preference() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* temp = _impl_.tracked_preference_;
  _impl_.tracked_preference_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* ClientIncidentReport_IncidentData::_internal_mutable_tracked_preference() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.tracked_preference_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident>(GetArenaForAllocation());
    _impl_.tracked_preference_ = p;
  }
  return _impl_.tracked_preference_;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* ClientIncidentReport_IncidentData::mutable_tracked_preference() {
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* _msg = _internal_mutable_tracked_preference();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
  return _msg;
}
inline void ClientIncidentReport_IncidentData::set_allocated_tracked_preference(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* tracked_preference) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.tracked_preference_;
  }
  if (tracked_preference) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(tracked_preference);
    if (message_arena != submessage_arena) {
      tracked_preference = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, tracked_preference, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.tracked_preference_ = tracked_preference;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
inline bool ClientIncidentReport_IncidentData::_internal_has_binary_integrity() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.binary_integrity_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_IncidentData::has_binary_integrity() const {
  return _internal_has_binary_integrity();
}
inline void ClientIncidentReport_IncidentData::clear_binary_integrity() {
  if (_impl_.binary_integrity_ != nullptr) _impl_.binary_integrity_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident& ClientIncidentReport_IncidentData::_internal_binary_integrity() const {
  const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* p = _impl_.binary_integrity_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident&>(
      ::safe_browsing::_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident& ClientIncidentReport_IncidentData::binary_integrity() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
  return _internal_binary_integrity();
}
inline void ClientIncidentReport_IncidentData::unsafe_arena_set_allocated_binary_integrity(
    ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* binary_integrity) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.binary_integrity_);
  }
  _impl_.binary_integrity_ = binary_integrity;
  if (binary_integrity) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* ClientIncidentReport_IncidentData::release_binary_integrity() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* temp = _impl_.binary_integrity_;
  _impl_.binary_integrity_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* ClientIncidentReport_IncidentData::unsafe_arena_release_binary_integrity() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* temp = _impl_.binary_integrity_;
  _impl_.binary_integrity_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* ClientIncidentReport_IncidentData::_internal_mutable_binary_integrity() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.binary_integrity_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident>(GetArenaForAllocation());
    _impl_.binary_integrity_ = p;
  }
  return _impl_.binary_integrity_;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* ClientIncidentReport_IncidentData::mutable_binary_integrity() {
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* _msg = _internal_mutable_binary_integrity();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
  return _msg;
}
inline void ClientIncidentReport_IncidentData::set_allocated_binary_integrity(::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* binary_integrity) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.binary_integrity_;
  }
  if (binary_integrity) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(binary_integrity);
    if (message_arena != submessage_arena) {
      binary_integrity = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, binary_integrity, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.binary_integrity_ = binary_integrity;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
inline bool ClientIncidentReport_IncidentData::_internal_has_resource_request() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.resource_request_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_IncidentData::has_resource_request() const {
  return _internal_has_resource_request();
}
inline void ClientIncidentReport_IncidentData::clear_resource_request() {
  if (_impl_.resource_request_ != nullptr) _impl_.resource_request_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& ClientIncidentReport_IncidentData::_internal_resource_request() const {
  const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* p = _impl_.resource_request_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident&>(
      ::safe_browsing::_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& ClientIncidentReport_IncidentData::resource_request() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
  return _internal_resource_request();
}
inline void ClientIncidentReport_IncidentData::unsafe_arena_set_allocated_resource_request(
    ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* resource_request) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.resource_request_);
  }
  _impl_.resource_request_ = resource_request;
  if (resource_request) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* ClientIncidentReport_IncidentData::release_resource_request() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* temp = _impl_.resource_request_;
  _impl_.resource_request_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* ClientIncidentReport_IncidentData::unsafe_arena_release_resource_request() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* temp = _impl_.resource_request_;
  _impl_.resource_request_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* ClientIncidentReport_IncidentData::_internal_mutable_resource_request() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.resource_request_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident>(GetArenaForAllocation());
    _impl_.resource_request_ = p;
  }
  return _impl_.resource_request_;
}
inline ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* ClientIncidentReport_IncidentData::mutable_resource_request() {
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* _msg = _internal_mutable_resource_request();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
  return _msg;
}
inline void ClientIncidentReport_IncidentData::set_allocated_resource_request(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* resource_request) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.resource_request_;
  }
  if (resource_request) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(resource_request);
    if (message_arena != submessage_arena) {
      resource_request = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, resource_request, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.resource_request_ = resource_request;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
}

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

// ClientIncidentReport_DownloadDetails

// optional bytes token = 1;
inline bool ClientIncidentReport_DownloadDetails::_internal_has_token() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_DownloadDetails::has_token() const {
  return _internal_has_token();
}
inline void ClientIncidentReport_DownloadDetails::clear_token() {
  _impl_.token_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_DownloadDetails::token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.DownloadDetails.token)
  return _internal_token();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_DownloadDetails::set_token(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.token_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.DownloadDetails.token)
}
inline std::string* ClientIncidentReport_DownloadDetails::mutable_token() {
  std::string* _s = _internal_mutable_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.DownloadDetails.token)
  return _s;
}
inline const std::string& ClientIncidentReport_DownloadDetails::_internal_token() const {
  return _impl_.token_.Get();
}
inline void ClientIncidentReport_DownloadDetails::_internal_set_token(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.token_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_DownloadDetails::_internal_mutable_token() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.token_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_DownloadDetails::release_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.DownloadDetails.token)
  if (!_internal_has_token()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.token_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_DownloadDetails::set_allocated_token(std::string* token) {
  if (token != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.token_.SetAllocated(token, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.DownloadDetails.token)
}

// optional .safe_browsing.ClientDownloadRequest download = 2;
inline bool ClientIncidentReport_DownloadDetails::_internal_has_download() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.download_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_DownloadDetails::has_download() const {
  return _internal_has_download();
}
inline void ClientIncidentReport_DownloadDetails::clear_download() {
  if (_impl_.download_ != nullptr) _impl_.download_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientDownloadRequest& ClientIncidentReport_DownloadDetails::_internal_download() const {
  const ::safe_browsing::ClientDownloadRequest* p = _impl_.download_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest&>(
      ::safe_browsing::_ClientDownloadRequest_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest& ClientIncidentReport_DownloadDetails::download() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.DownloadDetails.download)
  return _internal_download();
}
inline void ClientIncidentReport_DownloadDetails::unsafe_arena_set_allocated_download(
    ::safe_browsing::ClientDownloadRequest* download) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.download_);
  }
  _impl_.download_ = download;
  if (download) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.DownloadDetails.download)
}
inline ::safe_browsing::ClientDownloadRequest* ClientIncidentReport_DownloadDetails::release_download() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest* temp = _impl_.download_;
  _impl_.download_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest* ClientIncidentReport_DownloadDetails::unsafe_arena_release_download() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.DownloadDetails.download)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest* temp = _impl_.download_;
  _impl_.download_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest* ClientIncidentReport_DownloadDetails::_internal_mutable_download() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.download_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest>(GetArenaForAllocation());
    _impl_.download_ = p;
  }
  return _impl_.download_;
}
inline ::safe_browsing::ClientDownloadRequest* ClientIncidentReport_DownloadDetails::mutable_download() {
  ::safe_browsing::ClientDownloadRequest* _msg = _internal_mutable_download();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.DownloadDetails.download)
  return _msg;
}
inline void ClientIncidentReport_DownloadDetails::set_allocated_download(::safe_browsing::ClientDownloadRequest* download) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.download_;
  }
  if (download) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(download);
    if (message_arena != submessage_arena) {
      download = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, download, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.download_ = download;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.DownloadDetails.download)
}

// optional int64 download_time_msec = 3;
inline bool ClientIncidentReport_DownloadDetails::_internal_has_download_time_msec() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_DownloadDetails::has_download_time_msec() const {
  return _internal_has_download_time_msec();
}
inline void ClientIncidentReport_DownloadDetails::clear_download_time_msec() {
  _impl_.download_time_msec_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline int64_t ClientIncidentReport_DownloadDetails::_internal_download_time_msec() const {
  return _impl_.download_time_msec_;
}
inline int64_t ClientIncidentReport_DownloadDetails::download_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.DownloadDetails.download_time_msec)
  return _internal_download_time_msec();
}
inline void ClientIncidentReport_DownloadDetails::_internal_set_download_time_msec(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.download_time_msec_ = value;
}
inline void ClientIncidentReport_DownloadDetails::set_download_time_msec(int64_t value) {
  _internal_set_download_time_msec(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.DownloadDetails.download_time_msec)
}

// optional int64 open_time_msec = 4;
inline bool ClientIncidentReport_DownloadDetails::_internal_has_open_time_msec() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientIncidentReport_DownloadDetails::has_open_time_msec() const {
  return _internal_has_open_time_msec();
}
inline void ClientIncidentReport_DownloadDetails::clear_open_time_msec() {
  _impl_.open_time_msec_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int64_t ClientIncidentReport_DownloadDetails::_internal_open_time_msec() const {
  return _impl_.open_time_msec_;
}
inline int64_t ClientIncidentReport_DownloadDetails::open_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.DownloadDetails.open_time_msec)
  return _internal_open_time_msec();
}
inline void ClientIncidentReport_DownloadDetails::_internal_set_open_time_msec(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.open_time_msec_ = value;
}
inline void ClientIncidentReport_DownloadDetails::set_open_time_msec(int64_t value) {
  _internal_set_open_time_msec(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.DownloadDetails.open_time_msec)
}

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

// ClientIncidentReport_EnvironmentData_OS_RegistryValue

// optional string name = 1;
inline bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::has_name() const {
  return _internal_has_name();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS_RegistryValue::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_name() const {
  return _impl_.name_.Get();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
}

// optional uint32 type = 2;
inline bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::has_type() const {
  return _internal_has_type();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_type() {
  _impl_.type_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_type() const {
  return _impl_.type_;
}
inline uint32_t ClientIncidentReport_EnvironmentData_OS_RegistryValue::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.type)
  return _internal_type();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_set_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.type_ = value;
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_type(uint32_t value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.type)
}

// optional bytes data = 3;
inline bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::has_data() const {
  return _internal_has_data();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_data() {
  _impl_.data_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS_RegistryValue::data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
  return _internal_data();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_data(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.data_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::mutable_data() {
  std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_data() const {
  return _impl_.data_.Get();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_set_data(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.data_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.data_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::release_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
  if (!_internal_has_data()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.data_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_allocated_data(std::string* data) {
  if (data != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.data_.SetAllocated(data, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
}

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

// ClientIncidentReport_EnvironmentData_OS_RegistryKey

// optional string name = 1;
inline bool ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_OS_RegistryKey::has_name() const {
  return _internal_has_name();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryKey::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS_RegistryKey::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_name() const {
  return _impl_.name_.Get();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS_RegistryKey::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryKey::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue value = 2;
inline int ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_value_size() const {
  return _impl_.value_.size();
}
inline int ClientIncidentReport_EnvironmentData_OS_RegistryKey::value_size() const {
  return _internal_value_size();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryKey::clear_value() {
  _impl_.value_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_value(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return _impl_.value_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue >*
ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_value() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return &_impl_.value_;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue& ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_value(int index) const {
  return _impl_.value_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue& ClientIncidentReport_EnvironmentData_OS_RegistryKey::value(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return _internal_value(index);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_add_value() {
  return _impl_.value_.Add();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* ClientIncidentReport_EnvironmentData_OS_RegistryKey::add_value() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* _add = _internal_add_value();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue >&
ClientIncidentReport_EnvironmentData_OS_RegistryKey::value() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return _impl_.value_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey key = 3;
inline int ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_key_size() const {
  return _impl_.key_.size();
}
inline int ClientIncidentReport_EnvironmentData_OS_RegistryKey::key_size() const {
  return _internal_key_size();
}
inline void ClientIncidentReport_EnvironmentData_OS_RegistryKey::clear_key() {
  _impl_.key_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_key(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return _impl_.key_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >*
ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_key() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return &_impl_.key_;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_key(int index) const {
  return _impl_.key_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& ClientIncidentReport_EnvironmentData_OS_RegistryKey::key(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return _internal_key(index);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS_RegistryKey::_internal_add_key() {
  return _impl_.key_.Add();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS_RegistryKey::add_key() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* _add = _internal_add_key();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >&
ClientIncidentReport_EnvironmentData_OS_RegistryKey::key() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return _impl_.key_;
}

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

// ClientIncidentReport_EnvironmentData_OS

// optional string os_name = 1;
inline bool ClientIncidentReport_EnvironmentData_OS::_internal_has_os_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_OS::has_os_name() const {
  return _internal_has_os_name();
}
inline void ClientIncidentReport_EnvironmentData_OS::clear_os_name() {
  _impl_.os_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS::os_name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
  return _internal_os_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_OS::set_os_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.os_name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
}
inline std::string* ClientIncidentReport_EnvironmentData_OS::mutable_os_name() {
  std::string* _s = _internal_mutable_os_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS::_internal_os_name() const {
  return _impl_.os_name_.Get();
}
inline void ClientIncidentReport_EnvironmentData_OS::_internal_set_os_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.os_name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS::_internal_mutable_os_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.os_name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS::release_os_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
  if (!_internal_has_os_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.os_name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.os_name_.IsDefault()) {
    _impl_.os_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_OS::set_allocated_os_name(std::string* os_name) {
  if (os_name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.os_name_.SetAllocated(os_name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.os_name_.IsDefault()) {
    _impl_.os_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
}

// optional string os_version = 2;
inline bool ClientIncidentReport_EnvironmentData_OS::_internal_has_os_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_OS::has_os_version() const {
  return _internal_has_os_version();
}
inline void ClientIncidentReport_EnvironmentData_OS::clear_os_version() {
  _impl_.os_version_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS::os_version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
  return _internal_os_version();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_OS::set_os_version(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.os_version_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
}
inline std::string* ClientIncidentReport_EnvironmentData_OS::mutable_os_version() {
  std::string* _s = _internal_mutable_os_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_OS::_internal_os_version() const {
  return _impl_.os_version_.Get();
}
inline void ClientIncidentReport_EnvironmentData_OS::_internal_set_os_version(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.os_version_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS::_internal_mutable_os_version() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.os_version_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_OS::release_os_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
  if (!_internal_has_os_version()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.os_version_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.os_version_.IsDefault()) {
    _impl_.os_version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_OS::set_allocated_os_version(std::string* os_version) {
  if (os_version != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.os_version_.SetAllocated(os_version, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.os_version_.IsDefault()) {
    _impl_.os_version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey registry_key = 3;
inline int ClientIncidentReport_EnvironmentData_OS::_internal_registry_key_size() const {
  return _impl_.registry_key_.size();
}
inline int ClientIncidentReport_EnvironmentData_OS::registry_key_size() const {
  return _internal_registry_key_size();
}
inline void ClientIncidentReport_EnvironmentData_OS::clear_registry_key() {
  _impl_.registry_key_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS::mutable_registry_key(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return _impl_.registry_key_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >*
ClientIncidentReport_EnvironmentData_OS::mutable_registry_key() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return &_impl_.registry_key_;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& ClientIncidentReport_EnvironmentData_OS::_internal_registry_key(int index) const {
  return _impl_.registry_key_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& ClientIncidentReport_EnvironmentData_OS::registry_key(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return _internal_registry_key(index);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS::_internal_add_registry_key() {
  return _impl_.registry_key_.Add();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS::add_registry_key() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* _add = _internal_add_registry_key();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >&
ClientIncidentReport_EnvironmentData_OS::registry_key() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return _impl_.registry_key_;
}

// optional bool is_enrolled_to_domain = 4;
inline bool ClientIncidentReport_EnvironmentData_OS::_internal_has_is_enrolled_to_domain() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_OS::has_is_enrolled_to_domain() const {
  return _internal_has_is_enrolled_to_domain();
}
inline void ClientIncidentReport_EnvironmentData_OS::clear_is_enrolled_to_domain() {
  _impl_.is_enrolled_to_domain_ = false;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline bool ClientIncidentReport_EnvironmentData_OS::_internal_is_enrolled_to_domain() const {
  return _impl_.is_enrolled_to_domain_;
}
inline bool ClientIncidentReport_EnvironmentData_OS::is_enrolled_to_domain() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.is_enrolled_to_domain)
  return _internal_is_enrolled_to_domain();
}
inline void ClientIncidentReport_EnvironmentData_OS::_internal_set_is_enrolled_to_domain(bool value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.is_enrolled_to_domain_ = value;
}
inline void ClientIncidentReport_EnvironmentData_OS::set_is_enrolled_to_domain(bool value) {
  _internal_set_is_enrolled_to_domain(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.is_enrolled_to_domain)
}

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

// ClientIncidentReport_EnvironmentData_Machine

// optional string cpu_architecture = 1;
inline bool ClientIncidentReport_EnvironmentData_Machine::_internal_has_cpu_architecture() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Machine::has_cpu_architecture() const {
  return _internal_has_cpu_architecture();
}
inline void ClientIncidentReport_EnvironmentData_Machine::clear_cpu_architecture() {
  _impl_.cpu_architecture_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Machine::cpu_architecture() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
  return _internal_cpu_architecture();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_architecture(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.cpu_architecture_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
}
inline std::string* ClientIncidentReport_EnvironmentData_Machine::mutable_cpu_architecture() {
  std::string* _s = _internal_mutable_cpu_architecture();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Machine::_internal_cpu_architecture() const {
  return _impl_.cpu_architecture_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Machine::_internal_set_cpu_architecture(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.cpu_architecture_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Machine::_internal_mutable_cpu_architecture() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.cpu_architecture_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Machine::release_cpu_architecture() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
  if (!_internal_has_cpu_architecture()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.cpu_architecture_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cpu_architecture_.IsDefault()) {
    _impl_.cpu_architecture_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Machine::set_allocated_cpu_architecture(std::string* cpu_architecture) {
  if (cpu_architecture != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.cpu_architecture_.SetAllocated(cpu_architecture, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cpu_architecture_.IsDefault()) {
    _impl_.cpu_architecture_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
}

// optional string cpu_vendor = 2;
inline bool ClientIncidentReport_EnvironmentData_Machine::_internal_has_cpu_vendor() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Machine::has_cpu_vendor() const {
  return _internal_has_cpu_vendor();
}
inline void ClientIncidentReport_EnvironmentData_Machine::clear_cpu_vendor() {
  _impl_.cpu_vendor_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Machine::cpu_vendor() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
  return _internal_cpu_vendor();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_vendor(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.cpu_vendor_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
}
inline std::string* ClientIncidentReport_EnvironmentData_Machine::mutable_cpu_vendor() {
  std::string* _s = _internal_mutable_cpu_vendor();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Machine::_internal_cpu_vendor() const {
  return _impl_.cpu_vendor_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Machine::_internal_set_cpu_vendor(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.cpu_vendor_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Machine::_internal_mutable_cpu_vendor() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.cpu_vendor_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Machine::release_cpu_vendor() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
  if (!_internal_has_cpu_vendor()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.cpu_vendor_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cpu_vendor_.IsDefault()) {
    _impl_.cpu_vendor_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Machine::set_allocated_cpu_vendor(std::string* cpu_vendor) {
  if (cpu_vendor != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.cpu_vendor_.SetAllocated(cpu_vendor, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cpu_vendor_.IsDefault()) {
    _impl_.cpu_vendor_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
}

// optional uint32 cpuid = 3;
inline bool ClientIncidentReport_EnvironmentData_Machine::_internal_has_cpuid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Machine::has_cpuid() const {
  return _internal_has_cpuid();
}
inline void ClientIncidentReport_EnvironmentData_Machine::clear_cpuid() {
  _impl_.cpuid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t ClientIncidentReport_EnvironmentData_Machine::_internal_cpuid() const {
  return _impl_.cpuid_;
}
inline uint32_t ClientIncidentReport_EnvironmentData_Machine::cpuid() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpuid)
  return _internal_cpuid();
}
inline void ClientIncidentReport_EnvironmentData_Machine::_internal_set_cpuid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.cpuid_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Machine::set_cpuid(uint32_t value) {
  _internal_set_cpuid(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpuid)
}

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

// ClientIncidentReport_EnvironmentData_Process_Patch

// optional string function = 1;
inline bool ClientIncidentReport_EnvironmentData_Process_Patch::_internal_has_function() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_Patch::has_function() const {
  return _internal_has_function();
}
inline void ClientIncidentReport_EnvironmentData_Process_Patch::clear_function() {
  _impl_.function_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_Patch::function() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
  return _internal_function();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Process_Patch::set_function(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.function_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Patch::mutable_function() {
  std::string* _s = _internal_mutable_function();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_Patch::_internal_function() const {
  return _impl_.function_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Process_Patch::_internal_set_function(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.function_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Patch::_internal_mutable_function() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.function_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Patch::release_function() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
  if (!_internal_has_function()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.function_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.function_.IsDefault()) {
    _impl_.function_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Process_Patch::set_allocated_function(std::string* function) {
  if (function != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.function_.SetAllocated(function, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.function_.IsDefault()) {
    _impl_.function_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
}

// optional string target_dll = 2;
inline bool ClientIncidentReport_EnvironmentData_Process_Patch::_internal_has_target_dll() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_Patch::has_target_dll() const {
  return _internal_has_target_dll();
}
inline void ClientIncidentReport_EnvironmentData_Process_Patch::clear_target_dll() {
  _impl_.target_dll_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_Patch::target_dll() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
  return _internal_target_dll();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Process_Patch::set_target_dll(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.target_dll_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Patch::mutable_target_dll() {
  std::string* _s = _internal_mutable_target_dll();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_Patch::_internal_target_dll() const {
  return _impl_.target_dll_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Process_Patch::_internal_set_target_dll(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.target_dll_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Patch::_internal_mutable_target_dll() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.target_dll_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Patch::release_target_dll() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
  if (!_internal_has_target_dll()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.target_dll_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.target_dll_.IsDefault()) {
    _impl_.target_dll_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Process_Patch::set_allocated_target_dll(std::string* target_dll) {
  if (target_dll != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.target_dll_.SetAllocated(target_dll, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.target_dll_.IsDefault()) {
    _impl_.target_dll_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
}

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

// ClientIncidentReport_EnvironmentData_Process_NetworkProvider

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

// ClientIncidentReport_EnvironmentData_Process_Dll

// optional string path = 1;
inline bool ClientIncidentReport_EnvironmentData_Process_Dll::_internal_has_path() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_Dll::has_path() const {
  return _internal_has_path();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::clear_path() {
  _impl_.path_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_Dll::path() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
  return _internal_path();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Process_Dll::set_path(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.path_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Dll::mutable_path() {
  std::string* _s = _internal_mutable_path();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_Dll::_internal_path() const {
  return _impl_.path_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::_internal_set_path(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.path_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Dll::_internal_mutable_path() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.path_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_Dll::release_path() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
  if (!_internal_has_path()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.path_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.path_.IsDefault()) {
    _impl_.path_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::set_allocated_path(std::string* path) {
  if (path != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.path_.SetAllocated(path, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.path_.IsDefault()) {
    _impl_.path_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
}

// optional uint64 base_address = 2;
inline bool ClientIncidentReport_EnvironmentData_Process_Dll::_internal_has_base_address() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_Dll::has_base_address() const {
  return _internal_has_base_address();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::clear_base_address() {
  _impl_.base_address_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint64_t ClientIncidentReport_EnvironmentData_Process_Dll::_internal_base_address() const {
  return _impl_.base_address_;
}
inline uint64_t ClientIncidentReport_EnvironmentData_Process_Dll::base_address() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.base_address)
  return _internal_base_address();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::_internal_set_base_address(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.base_address_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::set_base_address(uint64_t value) {
  _internal_set_base_address(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.base_address)
}

// optional uint32 length = 3;
inline bool ClientIncidentReport_EnvironmentData_Process_Dll::_internal_has_length() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_Dll::has_length() const {
  return _internal_has_length();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::clear_length() {
  _impl_.length_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t ClientIncidentReport_EnvironmentData_Process_Dll::_internal_length() const {
  return _impl_.length_;
}
inline uint32_t ClientIncidentReport_EnvironmentData_Process_Dll::length() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.length)
  return _internal_length();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::_internal_set_length(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.length_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::set_length(uint32_t value) {
  _internal_set_length(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.length)
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.Feature feature = 4;
inline int ClientIncidentReport_EnvironmentData_Process_Dll::_internal_feature_size() const {
  return _impl_.feature_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process_Dll::feature_size() const {
  return _internal_feature_size();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::clear_feature() {
  _impl_.feature_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll::_internal_feature(int index) const {
  return static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature >(_impl_.feature_.Get(index));
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll::feature(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
  return _internal_feature(index);
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::set_feature(int index, ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature value) {
  assert(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid(value));
  _impl_.feature_.Set(index, value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::_internal_add_feature(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature value) {
  assert(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid(value));
  _impl_.feature_.Add(value);
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::add_feature(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature value) {
  _internal_add_feature(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
ClientIncidentReport_EnvironmentData_Process_Dll::feature() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
  return _impl_.feature_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
ClientIncidentReport_EnvironmentData_Process_Dll::_internal_mutable_feature() {
  return &_impl_.feature_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
ClientIncidentReport_EnvironmentData_Process_Dll::mutable_feature() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
  return _internal_mutable_feature();
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
inline bool ClientIncidentReport_EnvironmentData_Process_Dll::_internal_has_image_headers() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.image_headers_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_Dll::has_image_headers() const {
  return _internal_has_image_headers();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::clear_image_headers() {
  if (_impl_.image_headers_ != nullptr) _impl_.image_headers_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_EnvironmentData_Process_Dll::_internal_image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = _impl_.image_headers_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders&>(
      ::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_EnvironmentData_Process_Dll::image_headers() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
  return _internal_image_headers();
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::unsafe_arena_set_allocated_image_headers(
    ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.image_headers_);
  }
  _impl_.image_headers_ = image_headers;
  if (image_headers) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_EnvironmentData_Process_Dll::release_image_headers() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_EnvironmentData_Process_Dll::unsafe_arena_release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = _impl_.image_headers_;
  _impl_.image_headers_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_EnvironmentData_Process_Dll::_internal_mutable_image_headers() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.image_headers_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientDownloadRequest_ImageHeaders>(GetArenaForAllocation());
    _impl_.image_headers_ = p;
  }
  return _impl_.image_headers_;
}
inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_EnvironmentData_Process_Dll::mutable_image_headers() {
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* _msg = _internal_mutable_image_headers();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
  return _msg;
}
inline void ClientIncidentReport_EnvironmentData_Process_Dll::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.image_headers_;
  }
  if (image_headers) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(image_headers);
    if (message_arena != submessage_arena) {
      image_headers = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, image_headers, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.image_headers_ = image_headers;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
}

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

// ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification

// optional uint32 file_offset = 1;
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_has_file_offset() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::has_file_offset() const {
  return _internal_has_file_offset();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_file_offset() {
  _impl_.file_offset_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_file_offset() const {
  return _impl_.file_offset_;
}
inline uint32_t ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::file_offset() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.file_offset)
  return _internal_file_offset();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_set_file_offset(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.file_offset_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_file_offset(uint32_t value) {
  _internal_set_file_offset(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.file_offset)
}

// optional int32 byte_count = 2;
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_has_byte_count() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::has_byte_count() const {
  return _internal_has_byte_count();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_byte_count() {
  _impl_.byte_count_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int32_t ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_byte_count() const {
  return _impl_.byte_count_;
}
inline int32_t ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::byte_count() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.byte_count)
  return _internal_byte_count();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_set_byte_count(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.byte_count_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_byte_count(int32_t value) {
  _internal_set_byte_count(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.byte_count)
}

// optional bytes modified_bytes = 3;
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_has_modified_bytes() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::has_modified_bytes() const {
  return _internal_has_modified_bytes();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_modified_bytes() {
  _impl_.modified_bytes_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::modified_bytes() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
  return _internal_modified_bytes();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_modified_bytes(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.modified_bytes_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::mutable_modified_bytes() {
  std::string* _s = _internal_mutable_modified_bytes();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_modified_bytes() const {
  return _impl_.modified_bytes_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_set_modified_bytes(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.modified_bytes_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_mutable_modified_bytes() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.modified_bytes_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::release_modified_bytes() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
  if (!_internal_has_modified_bytes()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.modified_bytes_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.modified_bytes_.IsDefault()) {
    _impl_.modified_bytes_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_allocated_modified_bytes(std::string* modified_bytes) {
  if (modified_bytes != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.modified_bytes_.SetAllocated(modified_bytes, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.modified_bytes_.IsDefault()) {
    _impl_.modified_bytes_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
}

// optional string export_name = 4;
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_has_export_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::has_export_name() const {
  return _internal_has_export_name();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_export_name() {
  _impl_.export_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::export_name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
  return _internal_export_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_export_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.export_name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::mutable_export_name() {
  std::string* _s = _internal_mutable_export_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_export_name() const {
  return _impl_.export_name_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_set_export_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.export_name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::_internal_mutable_export_name() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.export_name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::release_export_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
  if (!_internal_has_export_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.export_name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.export_name_.IsDefault()) {
    _impl_.export_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_allocated_export_name(std::string* export_name) {
  if (export_name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.export_name_.SetAllocated(export_name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.export_name_.IsDefault()) {
    _impl_.export_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
}

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

// ClientIncidentReport_EnvironmentData_Process_ModuleState

// optional string name = 1;
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState::has_name() const {
  return _internal_has_name();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_name() const {
  return _impl_.name_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.ModifiedState modified_state = 2;
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_has_modified_state() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process_ModuleState::has_modified_state() const {
  return _internal_has_modified_state();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_modified_state() {
  _impl_.modified_state_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_modified_state() const {
  return static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState >(_impl_.modified_state_);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::modified_state() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modified_state)
  return _internal_modified_state();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_set_modified_state(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState value) {
  assert(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.modified_state_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_modified_state(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState value) {
  _internal_set_modified_state(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modified_state)
}

// repeated string OBSOLETE_modified_export = 3;
inline int ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_obsolete_modified_export_size() const {
  return _impl_.obsolete_modified_export_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process_ModuleState::obsolete_modified_export_size() const {
  return _internal_obsolete_modified_export_size();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_obsolete_modified_export() {
  _impl_.obsolete_modified_export_.Clear();
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export() {
  std::string* _s = _internal_add_obsolete_modified_export();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_obsolete_modified_export(int index) const {
  return _impl_.obsolete_modified_export_.Get(index);
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState::obsolete_modified_export(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return _internal_obsolete_modified_export(index);
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_obsolete_modified_export(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return _impl_.obsolete_modified_export_.Mutable(index);
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_obsolete_modified_export(int index, const std::string& value) {
  _impl_.obsolete_modified_export_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_obsolete_modified_export(int index, std::string&& value) {
  _impl_.obsolete_modified_export_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_obsolete_modified_export(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.obsolete_modified_export_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_obsolete_modified_export(int index, const char* value, size_t size) {
  _impl_.obsolete_modified_export_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_add_obsolete_modified_export() {
  return _impl_.obsolete_modified_export_.Add();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export(const std::string& value) {
  _impl_.obsolete_modified_export_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export(std::string&& value) {
  _impl_.obsolete_modified_export_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.obsolete_modified_export_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export(const char* value, size_t size) {
  _impl_.obsolete_modified_export_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientIncidentReport_EnvironmentData_Process_ModuleState::obsolete_modified_export() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return _impl_.obsolete_modified_export_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_obsolete_modified_export() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return &_impl_.obsolete_modified_export_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification modification = 4;
inline int ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_modification_size() const {
  return _impl_.modification_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process_ModuleState::modification_size() const {
  return _internal_modification_size();
}
inline void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_modification() {
  _impl_.modification_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_modification(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return _impl_.modification_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification >*
ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_modification() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return &_impl_.modification_;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_modification(int index) const {
  return _impl_.modification_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& ClientIncidentReport_EnvironmentData_Process_ModuleState::modification(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return _internal_modification(index);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* ClientIncidentReport_EnvironmentData_Process_ModuleState::_internal_add_modification() {
  return _impl_.modification_.Add();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* ClientIncidentReport_EnvironmentData_Process_ModuleState::add_modification() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* _add = _internal_add_modification();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification >&
ClientIncidentReport_EnvironmentData_Process_ModuleState::modification() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return _impl_.modification_;
}

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

// ClientIncidentReport_EnvironmentData_Process

// optional string version = 1;
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process::has_version() const {
  return _internal_has_version();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_version() {
  _impl_.version_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process::version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
  return _internal_version();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_EnvironmentData_Process::set_version(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.version_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::mutable_version() {
  std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process::_internal_version() const {
  return _impl_.version_.Get();
}
inline void ClientIncidentReport_EnvironmentData_Process::_internal_set_version(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.version_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::_internal_mutable_version() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.version_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::release_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
  if (!_internal_has_version()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.version_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_EnvironmentData_Process::set_allocated_version(std::string* version) {
  if (version != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.version_.SetAllocated(version, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
}

// repeated string OBSOLETE_dlls = 2;
inline int ClientIncidentReport_EnvironmentData_Process::_internal_obsolete_dlls_size() const {
  return _impl_.obsolete_dlls_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process::obsolete_dlls_size() const {
  return _internal_obsolete_dlls_size();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_dlls() {
  _impl_.obsolete_dlls_.Clear();
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls() {
  std::string* _s = _internal_add_obsolete_dlls();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process::_internal_obsolete_dlls(int index) const {
  return _impl_.obsolete_dlls_.Get(index);
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process::obsolete_dlls(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return _internal_obsolete_dlls(index);
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::mutable_obsolete_dlls(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return _impl_.obsolete_dlls_.Mutable(index);
}
inline void ClientIncidentReport_EnvironmentData_Process::set_obsolete_dlls(int index, const std::string& value) {
  _impl_.obsolete_dlls_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
inline void ClientIncidentReport_EnvironmentData_Process::set_obsolete_dlls(int index, std::string&& value) {
  _impl_.obsolete_dlls_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
inline void ClientIncidentReport_EnvironmentData_Process::set_obsolete_dlls(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.obsolete_dlls_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
inline void ClientIncidentReport_EnvironmentData_Process::set_obsolete_dlls(int index, const char* value, size_t size) {
  _impl_.obsolete_dlls_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::_internal_add_obsolete_dlls() {
  return _impl_.obsolete_dlls_.Add();
}
inline void ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls(const std::string& value) {
  _impl_.obsolete_dlls_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
inline void ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls(std::string&& value) {
  _impl_.obsolete_dlls_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
inline void ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.obsolete_dlls_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
inline void ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls(const char* value, size_t size) {
  _impl_.obsolete_dlls_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientIncidentReport_EnvironmentData_Process::obsolete_dlls() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return _impl_.obsolete_dlls_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientIncidentReport_EnvironmentData_Process::mutable_obsolete_dlls() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return &_impl_.obsolete_dlls_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch patches = 3;
inline int ClientIncidentReport_EnvironmentData_Process::_internal_patches_size() const {
  return _impl_.patches_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process::patches_size() const {
  return _internal_patches_size();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_patches() {
  _impl_.patches_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* ClientIncidentReport_EnvironmentData_Process::mutable_patches(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return _impl_.patches_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch >*
ClientIncidentReport_EnvironmentData_Process::mutable_patches() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return &_impl_.patches_;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch& ClientIncidentReport_EnvironmentData_Process::_internal_patches(int index) const {
  return _impl_.patches_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch& ClientIncidentReport_EnvironmentData_Process::patches(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return _internal_patches(index);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* ClientIncidentReport_EnvironmentData_Process::_internal_add_patches() {
  return _impl_.patches_.Add();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* ClientIncidentReport_EnvironmentData_Process::add_patches() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* _add = _internal_add_patches();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch >&
ClientIncidentReport_EnvironmentData_Process::patches() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return _impl_.patches_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider network_providers = 4;
inline int ClientIncidentReport_EnvironmentData_Process::_internal_network_providers_size() const {
  return _impl_.network_providers_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process::network_providers_size() const {
  return _internal_network_providers_size();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_network_providers() {
  _impl_.network_providers_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* ClientIncidentReport_EnvironmentData_Process::mutable_network_providers(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return _impl_.network_providers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider >*
ClientIncidentReport_EnvironmentData_Process::mutable_network_providers() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return &_impl_.network_providers_;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider& ClientIncidentReport_EnvironmentData_Process::_internal_network_providers(int index) const {
  return _impl_.network_providers_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider& ClientIncidentReport_EnvironmentData_Process::network_providers(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return _internal_network_providers(index);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* ClientIncidentReport_EnvironmentData_Process::_internal_add_network_providers() {
  return _impl_.network_providers_.Add();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* ClientIncidentReport_EnvironmentData_Process::add_network_providers() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* _add = _internal_add_network_providers();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider >&
ClientIncidentReport_EnvironmentData_Process::network_providers() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return _impl_.network_providers_;
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Channel chrome_update_channel = 5;
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_has_chrome_update_channel() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process::has_chrome_update_channel() const {
  return _internal_has_chrome_update_channel();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_chrome_update_channel() {
  _impl_.chrome_update_channel_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::_internal_chrome_update_channel() const {
  return static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel >(_impl_.chrome_update_channel_);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::chrome_update_channel() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.chrome_update_channel)
  return _internal_chrome_update_channel();
}
inline void ClientIncidentReport_EnvironmentData_Process::_internal_set_chrome_update_channel(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel value) {
  assert(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.chrome_update_channel_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process::set_chrome_update_channel(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel value) {
  _internal_set_chrome_update_channel(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.chrome_update_channel)
}

// optional int64 uptime_msec = 6;
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_has_uptime_msec() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process::has_uptime_msec() const {
  return _internal_has_uptime_msec();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_uptime_msec() {
  _impl_.uptime_msec_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline int64_t ClientIncidentReport_EnvironmentData_Process::_internal_uptime_msec() const {
  return _impl_.uptime_msec_;
}
inline int64_t ClientIncidentReport_EnvironmentData_Process::uptime_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.uptime_msec)
  return _internal_uptime_msec();
}
inline void ClientIncidentReport_EnvironmentData_Process::_internal_set_uptime_msec(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.uptime_msec_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process::set_uptime_msec(int64_t value) {
  _internal_set_uptime_msec(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.uptime_msec)
}

// optional bool metrics_consent = 7;
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_has_metrics_consent() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process::has_metrics_consent() const {
  return _internal_has_metrics_consent();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_metrics_consent() {
  _impl_.metrics_consent_ = false;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_metrics_consent() const {
  return _impl_.metrics_consent_;
}
inline bool ClientIncidentReport_EnvironmentData_Process::metrics_consent() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.metrics_consent)
  return _internal_metrics_consent();
}
inline void ClientIncidentReport_EnvironmentData_Process::_internal_set_metrics_consent(bool value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.metrics_consent_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process::set_metrics_consent(bool value) {
  _internal_set_metrics_consent(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.metrics_consent)
}

// optional bool OBSOLETE_extended_consent = 8;
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_has_obsolete_extended_consent() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process::has_obsolete_extended_consent() const {
  return _internal_has_obsolete_extended_consent();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_extended_consent() {
  _impl_.obsolete_extended_consent_ = false;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_obsolete_extended_consent() const {
  return _impl_.obsolete_extended_consent_;
}
inline bool ClientIncidentReport_EnvironmentData_Process::obsolete_extended_consent() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_extended_consent)
  return _internal_obsolete_extended_consent();
}
inline void ClientIncidentReport_EnvironmentData_Process::_internal_set_obsolete_extended_consent(bool value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.obsolete_extended_consent_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process::set_obsolete_extended_consent(bool value) {
  _internal_set_obsolete_extended_consent(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_extended_consent)
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll dll = 9;
inline int ClientIncidentReport_EnvironmentData_Process::_internal_dll_size() const {
  return _impl_.dll_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process::dll_size() const {
  return _internal_dll_size();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_dll() {
  _impl_.dll_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* ClientIncidentReport_EnvironmentData_Process::mutable_dll(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return _impl_.dll_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll >*
ClientIncidentReport_EnvironmentData_Process::mutable_dll() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return &_impl_.dll_;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll& ClientIncidentReport_EnvironmentData_Process::_internal_dll(int index) const {
  return _impl_.dll_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll& ClientIncidentReport_EnvironmentData_Process::dll(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return _internal_dll(index);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* ClientIncidentReport_EnvironmentData_Process::_internal_add_dll() {
  return _impl_.dll_.Add();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* ClientIncidentReport_EnvironmentData_Process::add_dll() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* _add = _internal_add_dll();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll >&
ClientIncidentReport_EnvironmentData_Process::dll() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return _impl_.dll_;
}

// repeated string blacklisted_dll = 10;
inline int ClientIncidentReport_EnvironmentData_Process::_internal_blacklisted_dll_size() const {
  return _impl_.blacklisted_dll_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process::blacklisted_dll_size() const {
  return _internal_blacklisted_dll_size();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_blacklisted_dll() {
  _impl_.blacklisted_dll_.Clear();
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll() {
  std::string* _s = _internal_add_blacklisted_dll();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return _s;
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process::_internal_blacklisted_dll(int index) const {
  return _impl_.blacklisted_dll_.Get(index);
}
inline const std::string& ClientIncidentReport_EnvironmentData_Process::blacklisted_dll(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return _internal_blacklisted_dll(index);
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::mutable_blacklisted_dll(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return _impl_.blacklisted_dll_.Mutable(index);
}
inline void ClientIncidentReport_EnvironmentData_Process::set_blacklisted_dll(int index, const std::string& value) {
  _impl_.blacklisted_dll_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
inline void ClientIncidentReport_EnvironmentData_Process::set_blacklisted_dll(int index, std::string&& value) {
  _impl_.blacklisted_dll_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
inline void ClientIncidentReport_EnvironmentData_Process::set_blacklisted_dll(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.blacklisted_dll_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
inline void ClientIncidentReport_EnvironmentData_Process::set_blacklisted_dll(int index, const char* value, size_t size) {
  _impl_.blacklisted_dll_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
inline std::string* ClientIncidentReport_EnvironmentData_Process::_internal_add_blacklisted_dll() {
  return _impl_.blacklisted_dll_.Add();
}
inline void ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll(const std::string& value) {
  _impl_.blacklisted_dll_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
inline void ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll(std::string&& value) {
  _impl_.blacklisted_dll_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
inline void ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.blacklisted_dll_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
inline void ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll(const char* value, size_t size) {
  _impl_.blacklisted_dll_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientIncidentReport_EnvironmentData_Process::blacklisted_dll() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return _impl_.blacklisted_dll_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientIncidentReport_EnvironmentData_Process::mutable_blacklisted_dll() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return &_impl_.blacklisted_dll_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState module_state = 11;
inline int ClientIncidentReport_EnvironmentData_Process::_internal_module_state_size() const {
  return _impl_.module_state_.size();
}
inline int ClientIncidentReport_EnvironmentData_Process::module_state_size() const {
  return _internal_module_state_size();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_module_state() {
  _impl_.module_state_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* ClientIncidentReport_EnvironmentData_Process::mutable_module_state(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return _impl_.module_state_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState >*
ClientIncidentReport_EnvironmentData_Process::mutable_module_state() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return &_impl_.module_state_;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState& ClientIncidentReport_EnvironmentData_Process::_internal_module_state(int index) const {
  return _impl_.module_state_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState& ClientIncidentReport_EnvironmentData_Process::module_state(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return _internal_module_state(index);
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* ClientIncidentReport_EnvironmentData_Process::_internal_add_module_state() {
  return _impl_.module_state_.Add();
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* ClientIncidentReport_EnvironmentData_Process::add_module_state() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* _add = _internal_add_module_state();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState >&
ClientIncidentReport_EnvironmentData_Process::module_state() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return _impl_.module_state_;
}

// optional bool OBSOLETE_field_trial_participant = 12;
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_has_obsolete_field_trial_participant() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool ClientIncidentReport_EnvironmentData_Process::has_obsolete_field_trial_participant() const {
  return _internal_has_obsolete_field_trial_participant();
}
inline void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_field_trial_participant() {
  _impl_.obsolete_field_trial_participant_ = false;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline bool ClientIncidentReport_EnvironmentData_Process::_internal_obsolete_field_trial_participant() const {
  return _impl_.obsolete_field_trial_participant_;
}
inline bool ClientIncidentReport_EnvironmentData_Process::obsolete_field_trial_participant() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_field_trial_participant)
  return _internal_obsolete_field_trial_participant();
}
inline void ClientIncidentReport_EnvironmentData_Process::_internal_set_obsolete_field_trial_participant(bool value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.obsolete_field_trial_participant_ = value;
}
inline void ClientIncidentReport_EnvironmentData_Process::set_obsolete_field_trial_participant(bool value) {
  _internal_set_obsolete_field_trial_participant(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_field_trial_participant)
}

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

// ClientIncidentReport_EnvironmentData

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.OS os = 1;
inline bool ClientIncidentReport_EnvironmentData::_internal_has_os() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.os_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_EnvironmentData::has_os() const {
  return _internal_has_os();
}
inline void ClientIncidentReport_EnvironmentData::clear_os() {
  if (_impl_.os_ != nullptr) _impl_.os_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS& ClientIncidentReport_EnvironmentData::_internal_os() const {
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* p = _impl_.os_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS&>(
      ::safe_browsing::_ClientIncidentReport_EnvironmentData_OS_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS& ClientIncidentReport_EnvironmentData::os() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.os)
  return _internal_os();
}
inline void ClientIncidentReport_EnvironmentData::unsafe_arena_set_allocated_os(
    ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* os) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.os_);
  }
  _impl_.os_ = os;
  if (os) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.os)
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* ClientIncidentReport_EnvironmentData::release_os() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* temp = _impl_.os_;
  _impl_.os_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* ClientIncidentReport_EnvironmentData::unsafe_arena_release_os() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.os)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* temp = _impl_.os_;
  _impl_.os_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* ClientIncidentReport_EnvironmentData::_internal_mutable_os() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.os_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_OS>(GetArenaForAllocation());
    _impl_.os_ = p;
  }
  return _impl_.os_;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* ClientIncidentReport_EnvironmentData::mutable_os() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* _msg = _internal_mutable_os();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.os)
  return _msg;
}
inline void ClientIncidentReport_EnvironmentData::set_allocated_os(::safe_browsing::ClientIncidentReport_EnvironmentData_OS* os) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.os_;
  }
  if (os) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(os);
    if (message_arena != submessage_arena) {
      os = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, os, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.os_ = os;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.os)
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.Machine machine = 2;
inline bool ClientIncidentReport_EnvironmentData::_internal_has_machine() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.machine_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_EnvironmentData::has_machine() const {
  return _internal_has_machine();
}
inline void ClientIncidentReport_EnvironmentData::clear_machine() {
  if (_impl_.machine_ != nullptr) _impl_.machine_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine& ClientIncidentReport_EnvironmentData::_internal_machine() const {
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* p = _impl_.machine_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine&>(
      ::safe_browsing::_ClientIncidentReport_EnvironmentData_Machine_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine& ClientIncidentReport_EnvironmentData::machine() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
  return _internal_machine();
}
inline void ClientIncidentReport_EnvironmentData::unsafe_arena_set_allocated_machine(
    ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* machine) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.machine_);
  }
  _impl_.machine_ = machine;
  if (machine) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* ClientIncidentReport_EnvironmentData::release_machine() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* temp = _impl_.machine_;
  _impl_.machine_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* ClientIncidentReport_EnvironmentData::unsafe_arena_release_machine() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* temp = _impl_.machine_;
  _impl_.machine_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* ClientIncidentReport_EnvironmentData::_internal_mutable_machine() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.machine_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Machine>(GetArenaForAllocation());
    _impl_.machine_ = p;
  }
  return _impl_.machine_;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* ClientIncidentReport_EnvironmentData::mutable_machine() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* _msg = _internal_mutable_machine();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
  return _msg;
}
inline void ClientIncidentReport_EnvironmentData::set_allocated_machine(::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* machine) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.machine_;
  }
  if (machine) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(machine);
    if (message_arena != submessage_arena) {
      machine = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, machine, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.machine_ = machine;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process process = 3;
inline bool ClientIncidentReport_EnvironmentData::_internal_has_process() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.process_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_EnvironmentData::has_process() const {
  return _internal_has_process();
}
inline void ClientIncidentReport_EnvironmentData::clear_process() {
  if (_impl_.process_ != nullptr) _impl_.process_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process& ClientIncidentReport_EnvironmentData::_internal_process() const {
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* p = _impl_.process_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process&>(
      ::safe_browsing::_ClientIncidentReport_EnvironmentData_Process_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process& ClientIncidentReport_EnvironmentData::process() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.process)
  return _internal_process();
}
inline void ClientIncidentReport_EnvironmentData::unsafe_arena_set_allocated_process(
    ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* process) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.process_);
  }
  _impl_.process_ = process;
  if (process) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.process)
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* ClientIncidentReport_EnvironmentData::release_process() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* temp = _impl_.process_;
  _impl_.process_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* ClientIncidentReport_EnvironmentData::unsafe_arena_release_process() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.process)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* temp = _impl_.process_;
  _impl_.process_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* ClientIncidentReport_EnvironmentData::_internal_mutable_process() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.process_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData_Process>(GetArenaForAllocation());
    _impl_.process_ = p;
  }
  return _impl_.process_;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* ClientIncidentReport_EnvironmentData::mutable_process() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* _msg = _internal_mutable_process();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.process)
  return _msg;
}
inline void ClientIncidentReport_EnvironmentData::set_allocated_process(::safe_browsing::ClientIncidentReport_EnvironmentData_Process* process) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.process_;
  }
  if (process) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(process);
    if (message_arena != submessage_arena) {
      process = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, process, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.process_ = process;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.process)
}

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

// ClientIncidentReport_ExtensionData_ExtensionInfo

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

// optional string version = 2;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_version() const {
  return _internal_has_version();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_version() {
  _impl_.version_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
  return _internal_version();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_version(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.version_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_version() {
  std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
  return _s;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_version() const {
  return _impl_.version_.Get();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_version(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.version_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_mutable_version() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.version_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
  if (!_internal_has_version()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.version_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_version(std::string* version) {
  if (version != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.version_.SetAllocated(version, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
}

// optional string name = 3;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_name() const {
  return _internal_has_name();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
  return _s;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_name() const {
  return _impl_.name_.Get();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
}

// optional string description = 4;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_description() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_description() const {
  return _internal_has_description();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_description() {
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::description() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
  return _internal_description();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_description(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.description_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_description() {
  std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
  return _s;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_description() const {
  return _impl_.description_.Get();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_description(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.description_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_mutable_description() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.description_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_description() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
  if (!_internal_has_description()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.description_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_description(std::string* description) {
  if (description != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.description_.SetAllocated(description, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
}

// optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.ExtensionState state = 5 [default = STATE_UNKNOWN];
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_state() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_state() const {
  return _internal_has_state();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_state() {
  _impl_.state_ = 0;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_state() const {
  return static_cast< ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState >(_impl_.state_);
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::state() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.state)
  return _internal_state();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_state(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState value) {
  assert(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.state_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_state(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState value) {
  _internal_set_state(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.state)
}

// optional int32 type = 6;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_type() const {
  return _internal_has_type();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_type() {
  _impl_.type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline int32_t ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_type() const {
  return _impl_.type_;
}
inline int32_t ClientIncidentReport_ExtensionData_ExtensionInfo::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.type)
  return _internal_type();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_type(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.type_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_type(int32_t value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.type)
}

// optional string update_url = 7;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_update_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_update_url() const {
  return _internal_has_update_url();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_update_url() {
  _impl_.update_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::update_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
  return _internal_update_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_update_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000010u;
 _impl_.update_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_update_url() {
  std::string* _s = _internal_mutable_update_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
  return _s;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_update_url() const {
  return _impl_.update_url_.Get();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_update_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.update_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_mutable_update_url() {
  _impl_._has_bits_[0] |= 0x00000010u;
  return _impl_.update_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_update_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
  if (!_internal_has_update_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000010u;
  auto* p = _impl_.update_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.update_url_.IsDefault()) {
    _impl_.update_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_update_url(std::string* update_url) {
  if (update_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.update_url_.SetAllocated(update_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.update_url_.IsDefault()) {
    _impl_.update_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
}

// optional bool has_signature_validation = 8;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_has_signature_validation() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_has_signature_validation() const {
  return _internal_has_has_signature_validation();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_signature_validation() {
  _impl_.has_signature_validation_ = false;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_signature_validation() const {
  return _impl_.has_signature_validation_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_signature_validation() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.has_signature_validation)
  return _internal_has_signature_validation();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_has_signature_validation(bool value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.has_signature_validation_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_signature_validation(bool value) {
  _internal_set_has_signature_validation(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.has_signature_validation)
}

// optional bool signature_is_valid = 9;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_signature_is_valid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_signature_is_valid() const {
  return _internal_has_signature_is_valid();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_signature_is_valid() {
  _impl_.signature_is_valid_ = false;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_signature_is_valid() const {
  return _impl_.signature_is_valid_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::signature_is_valid() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.signature_is_valid)
  return _internal_signature_is_valid();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_signature_is_valid(bool value) {
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.signature_is_valid_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_signature_is_valid(bool value) {
  _internal_set_signature_is_valid(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.signature_is_valid)
}

// optional bool installed_by_custodian = 10;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_installed_by_custodian() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_installed_by_custodian() const {
  return _internal_has_installed_by_custodian();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_installed_by_custodian() {
  _impl_.installed_by_custodian_ = false;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_installed_by_custodian() const {
  return _impl_.installed_by_custodian_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::installed_by_custodian() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_custodian)
  return _internal_installed_by_custodian();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_installed_by_custodian(bool value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.installed_by_custodian_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_installed_by_custodian(bool value) {
  _internal_set_installed_by_custodian(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_custodian)
}

// optional bool installed_by_default = 11;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_installed_by_default() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_installed_by_default() const {
  return _internal_has_installed_by_default();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_installed_by_default() {
  _impl_.installed_by_default_ = false;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_installed_by_default() const {
  return _impl_.installed_by_default_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::installed_by_default() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_default)
  return _internal_installed_by_default();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_installed_by_default(bool value) {
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.installed_by_default_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_installed_by_default(bool value) {
  _internal_set_installed_by_default(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_default)
}

// optional bool installed_by_oem = 12;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_installed_by_oem() const {
  bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_installed_by_oem() const {
  return _internal_has_installed_by_oem();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_installed_by_oem() {
  _impl_.installed_by_oem_ = false;
  _impl_._has_bits_[0] &= ~0x00001000u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_installed_by_oem() const {
  return _impl_.installed_by_oem_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::installed_by_oem() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_oem)
  return _internal_installed_by_oem();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_installed_by_oem(bool value) {
  _impl_._has_bits_[0] |= 0x00001000u;
  _impl_.installed_by_oem_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_installed_by_oem(bool value) {
  _internal_set_installed_by_oem(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_oem)
}

// optional bool from_bookmark = 13;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_from_bookmark() const {
  bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_from_bookmark() const {
  return _internal_has_from_bookmark();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_from_bookmark() {
  _impl_.from_bookmark_ = false;
  _impl_._has_bits_[0] &= ~0x00002000u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_from_bookmark() const {
  return _impl_.from_bookmark_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::from_bookmark() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.from_bookmark)
  return _internal_from_bookmark();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_from_bookmark(bool value) {
  _impl_._has_bits_[0] |= 0x00002000u;
  _impl_.from_bookmark_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_from_bookmark(bool value) {
  _internal_set_from_bookmark(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.from_bookmark)
}

// optional bool from_webstore = 14;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_from_webstore() const {
  bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_from_webstore() const {
  return _internal_has_from_webstore();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_from_webstore() {
  _impl_.from_webstore_ = false;
  _impl_._has_bits_[0] &= ~0x00004000u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_from_webstore() const {
  return _impl_.from_webstore_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::from_webstore() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.from_webstore)
  return _internal_from_webstore();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_from_webstore(bool value) {
  _impl_._has_bits_[0] |= 0x00004000u;
  _impl_.from_webstore_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_from_webstore(bool value) {
  _internal_set_from_webstore(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.from_webstore)
}

// optional bool converted_from_user_script = 15;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_converted_from_user_script() const {
  bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_converted_from_user_script() const {
  return _internal_has_converted_from_user_script();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_converted_from_user_script() {
  _impl_.converted_from_user_script_ = false;
  _impl_._has_bits_[0] &= ~0x00008000u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_converted_from_user_script() const {
  return _impl_.converted_from_user_script_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::converted_from_user_script() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.converted_from_user_script)
  return _internal_converted_from_user_script();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_converted_from_user_script(bool value) {
  _impl_._has_bits_[0] |= 0x00008000u;
  _impl_.converted_from_user_script_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_converted_from_user_script(bool value) {
  _internal_set_converted_from_user_script(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.converted_from_user_script)
}

// optional bool may_be_untrusted = 16;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_may_be_untrusted() const {
  bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_may_be_untrusted() const {
  return _internal_has_may_be_untrusted();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_may_be_untrusted() {
  _impl_.may_be_untrusted_ = false;
  _impl_._has_bits_[0] &= ~0x00020000u;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_may_be_untrusted() const {
  return _impl_.may_be_untrusted_;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::may_be_untrusted() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.may_be_untrusted)
  return _internal_may_be_untrusted();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_may_be_untrusted(bool value) {
  _impl_._has_bits_[0] |= 0x00020000u;
  _impl_.may_be_untrusted_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_may_be_untrusted(bool value) {
  _internal_set_may_be_untrusted(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.may_be_untrusted)
}

// optional int64 install_time_msec = 17;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_install_time_msec() const {
  bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_install_time_msec() const {
  return _internal_has_install_time_msec();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_install_time_msec() {
  _impl_.install_time_msec_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00010000u;
}
inline int64_t ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_install_time_msec() const {
  return _impl_.install_time_msec_;
}
inline int64_t ClientIncidentReport_ExtensionData_ExtensionInfo::install_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.install_time_msec)
  return _internal_install_time_msec();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_install_time_msec(int64_t value) {
  _impl_._has_bits_[0] |= 0x00010000u;
  _impl_.install_time_msec_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_install_time_msec(int64_t value) {
  _internal_set_install_time_msec(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.install_time_msec)
}

// optional int32 manifest_location_type = 18;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_manifest_location_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00040000u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_manifest_location_type() const {
  return _internal_has_manifest_location_type();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_manifest_location_type() {
  _impl_.manifest_location_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00040000u;
}
inline int32_t ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_manifest_location_type() const {
  return _impl_.manifest_location_type_;
}
inline int32_t ClientIncidentReport_ExtensionData_ExtensionInfo::manifest_location_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest_location_type)
  return _internal_manifest_location_type();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_manifest_location_type(int32_t value) {
  _impl_._has_bits_[0] |= 0x00040000u;
  _impl_.manifest_location_type_ = value;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_manifest_location_type(int32_t value) {
  _internal_set_manifest_location_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest_location_type)
}

// optional string manifest = 19;
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_has_manifest() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_manifest() const {
  return _internal_has_manifest();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_manifest() {
  _impl_.manifest_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::manifest() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
  return _internal_manifest();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_manifest(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000020u;
 _impl_.manifest_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_manifest() {
  std::string* _s = _internal_mutable_manifest();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
  return _s;
}
inline const std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_manifest() const {
  return _impl_.manifest_.Get();
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_set_manifest(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.manifest_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::_internal_mutable_manifest() {
  _impl_._has_bits_[0] |= 0x00000020u;
  return _impl_.manifest_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_manifest() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
  if (!_internal_has_manifest()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000020u;
  auto* p = _impl_.manifest_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.manifest_.IsDefault()) {
    _impl_.manifest_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_manifest(std::string* manifest) {
  if (manifest != nullptr) {
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  _impl_.manifest_.SetAllocated(manifest, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.manifest_.IsDefault()) {
    _impl_.manifest_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
}

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

// ClientIncidentReport_ExtensionData

// optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo last_installed_extension = 1;
inline bool ClientIncidentReport_ExtensionData::_internal_has_last_installed_extension() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.last_installed_extension_ != nullptr);
  return value;
}
inline bool ClientIncidentReport_ExtensionData::has_last_installed_extension() const {
  return _internal_has_last_installed_extension();
}
inline void ClientIncidentReport_ExtensionData::clear_last_installed_extension() {
  if (_impl_.last_installed_extension_ != nullptr) _impl_.last_installed_extension_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo& ClientIncidentReport_ExtensionData::_internal_last_installed_extension() const {
  const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* p = _impl_.last_installed_extension_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo&>(
      ::safe_browsing::_ClientIncidentReport_ExtensionData_ExtensionInfo_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo& ClientIncidentReport_ExtensionData::last_installed_extension() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
  return _internal_last_installed_extension();
}
inline void ClientIncidentReport_ExtensionData::unsafe_arena_set_allocated_last_installed_extension(
    ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* last_installed_extension) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.last_installed_extension_);
  }
  _impl_.last_installed_extension_ = last_installed_extension;
  if (last_installed_extension) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* ClientIncidentReport_ExtensionData::release_last_installed_extension() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* temp = _impl_.last_installed_extension_;
  _impl_.last_installed_extension_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* ClientIncidentReport_ExtensionData::unsafe_arena_release_last_installed_extension() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* temp = _impl_.last_installed_extension_;
  _impl_.last_installed_extension_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* ClientIncidentReport_ExtensionData::_internal_mutable_last_installed_extension() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.last_installed_extension_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo>(GetArenaForAllocation());
    _impl_.last_installed_extension_ = p;
  }
  return _impl_.last_installed_extension_;
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* ClientIncidentReport_ExtensionData::mutable_last_installed_extension() {
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* _msg = _internal_mutable_last_installed_extension();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
  return _msg;
}
inline void ClientIncidentReport_ExtensionData::set_allocated_last_installed_extension(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* last_installed_extension) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.last_installed_extension_;
  }
  if (last_installed_extension) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(last_installed_extension);
    if (message_arena != submessage_arena) {
      last_installed_extension = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, last_installed_extension, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.last_installed_extension_ = last_installed_extension;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
}

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

// ClientIncidentReport_NonBinaryDownloadDetails

// optional string file_type = 1;
inline bool ClientIncidentReport_NonBinaryDownloadDetails::_internal_has_file_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentReport_NonBinaryDownloadDetails::has_file_type() const {
  return _internal_has_file_type();
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::clear_file_type() {
  _impl_.file_type_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentReport_NonBinaryDownloadDetails::file_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
  return _internal_file_type();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_NonBinaryDownloadDetails::set_file_type(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.file_type_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::mutable_file_type() {
  std::string* _s = _internal_mutable_file_type();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
  return _s;
}
inline const std::string& ClientIncidentReport_NonBinaryDownloadDetails::_internal_file_type() const {
  return _impl_.file_type_.Get();
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::_internal_set_file_type(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.file_type_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::_internal_mutable_file_type() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.file_type_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::release_file_type() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
  if (!_internal_has_file_type()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.file_type_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_type_.IsDefault()) {
    _impl_.file_type_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::set_allocated_file_type(std::string* file_type) {
  if (file_type != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.file_type_.SetAllocated(file_type, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.file_type_.IsDefault()) {
    _impl_.file_type_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
}

// optional bytes url_spec_sha256 = 2;
inline bool ClientIncidentReport_NonBinaryDownloadDetails::_internal_has_url_spec_sha256() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentReport_NonBinaryDownloadDetails::has_url_spec_sha256() const {
  return _internal_has_url_spec_sha256();
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::clear_url_spec_sha256() {
  _impl_.url_spec_sha256_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientIncidentReport_NonBinaryDownloadDetails::url_spec_sha256() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
  return _internal_url_spec_sha256();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_NonBinaryDownloadDetails::set_url_spec_sha256(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.url_spec_sha256_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::mutable_url_spec_sha256() {
  std::string* _s = _internal_mutable_url_spec_sha256();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
  return _s;
}
inline const std::string& ClientIncidentReport_NonBinaryDownloadDetails::_internal_url_spec_sha256() const {
  return _impl_.url_spec_sha256_.Get();
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::_internal_set_url_spec_sha256(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_spec_sha256_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::_internal_mutable_url_spec_sha256() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.url_spec_sha256_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::release_url_spec_sha256() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
  if (!_internal_has_url_spec_sha256()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.url_spec_sha256_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_spec_sha256_.IsDefault()) {
    _impl_.url_spec_sha256_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::set_allocated_url_spec_sha256(std::string* url_spec_sha256) {
  if (url_spec_sha256 != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.url_spec_sha256_.SetAllocated(url_spec_sha256, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_spec_sha256_.IsDefault()) {
    _impl_.url_spec_sha256_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
}

// optional string host = 3;
inline bool ClientIncidentReport_NonBinaryDownloadDetails::_internal_has_host() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientIncidentReport_NonBinaryDownloadDetails::has_host() const {
  return _internal_has_host();
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::clear_host() {
  _impl_.host_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientIncidentReport_NonBinaryDownloadDetails::host() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
  return _internal_host();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentReport_NonBinaryDownloadDetails::set_host(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.host_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::mutable_host() {
  std::string* _s = _internal_mutable_host();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
  return _s;
}
inline const std::string& ClientIncidentReport_NonBinaryDownloadDetails::_internal_host() const {
  return _impl_.host_.Get();
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::_internal_set_host(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.host_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::_internal_mutable_host() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.host_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentReport_NonBinaryDownloadDetails::release_host() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
  if (!_internal_has_host()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.host_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.host_.IsDefault()) {
    _impl_.host_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::set_allocated_host(std::string* host) {
  if (host != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.host_.SetAllocated(host, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.host_.IsDefault()) {
    _impl_.host_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
}

// optional int64 length = 4;
inline bool ClientIncidentReport_NonBinaryDownloadDetails::_internal_has_length() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientIncidentReport_NonBinaryDownloadDetails::has_length() const {
  return _internal_has_length();
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::clear_length() {
  _impl_.length_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int64_t ClientIncidentReport_NonBinaryDownloadDetails::_internal_length() const {
  return _impl_.length_;
}
inline int64_t ClientIncidentReport_NonBinaryDownloadDetails::length() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.length)
  return _internal_length();
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::_internal_set_length(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.length_ = value;
}
inline void ClientIncidentReport_NonBinaryDownloadDetails::set_length(int64_t value) {
  _internal_set_length(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.length)
}

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

// ClientIncidentReport

// repeated .safe_browsing.ClientIncidentReport.IncidentData incident = 1;
inline int ClientIncidentReport::_internal_incident_size() const {
  return _impl_.incident_.size();
}
inline int ClientIncidentReport::incident_size() const {
  return _internal_incident_size();
}
inline void ClientIncidentReport::clear_incident() {
  _impl_.incident_.Clear();
}
inline ::safe_browsing::ClientIncidentReport_IncidentData* ClientIncidentReport::mutable_incident(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.incident)
  return _impl_.incident_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData >*
ClientIncidentReport::mutable_incident() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.incident)
  return &_impl_.incident_;
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData& ClientIncidentReport::_internal_incident(int index) const {
  return _impl_.incident_.Get(index);
}
inline const ::safe_browsing::ClientIncidentReport_IncidentData& ClientIncidentReport::incident(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.incident)
  return _internal_incident(index);
}
inline ::safe_browsing::ClientIncidentReport_IncidentData* ClientIncidentReport::_internal_add_incident() {
  return _impl_.incident_.Add();
}
inline ::safe_browsing::ClientIncidentReport_IncidentData* ClientIncidentReport::add_incident() {
  ::safe_browsing::ClientIncidentReport_IncidentData* _add = _internal_add_incident();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.incident)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData >&
ClientIncidentReport::incident() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.incident)
  return _impl_.incident_;
}

// optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
inline bool ClientIncidentReport::_internal_has_download() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.download_ != nullptr);
  return value;
}
inline bool ClientIncidentReport::has_download() const {
  return _internal_has_download();
}
inline void ClientIncidentReport::clear_download() {
  if (_impl_.download_ != nullptr) _impl_.download_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::safe_browsing::ClientIncidentReport_DownloadDetails& ClientIncidentReport::_internal_download() const {
  const ::safe_browsing::ClientIncidentReport_DownloadDetails* p = _impl_.download_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_DownloadDetails&>(
      ::safe_browsing::_ClientIncidentReport_DownloadDetails_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_DownloadDetails& ClientIncidentReport::download() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.download)
  return _internal_download();
}
inline void ClientIncidentReport::unsafe_arena_set_allocated_download(
    ::safe_browsing::ClientIncidentReport_DownloadDetails* download) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.download_);
  }
  _impl_.download_ = download;
  if (download) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.download)
}
inline ::safe_browsing::ClientIncidentReport_DownloadDetails* ClientIncidentReport::release_download() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_DownloadDetails* temp = _impl_.download_;
  _impl_.download_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_DownloadDetails* ClientIncidentReport::unsafe_arena_release_download() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.download)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_DownloadDetails* temp = _impl_.download_;
  _impl_.download_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_DownloadDetails* ClientIncidentReport::_internal_mutable_download() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.download_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_DownloadDetails>(GetArenaForAllocation());
    _impl_.download_ = p;
  }
  return _impl_.download_;
}
inline ::safe_browsing::ClientIncidentReport_DownloadDetails* ClientIncidentReport::mutable_download() {
  ::safe_browsing::ClientIncidentReport_DownloadDetails* _msg = _internal_mutable_download();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.download)
  return _msg;
}
inline void ClientIncidentReport::set_allocated_download(::safe_browsing::ClientIncidentReport_DownloadDetails* download) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.download_;
  }
  if (download) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(download);
    if (message_arena != submessage_arena) {
      download = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, download, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.download_ = download;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.download)
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData environment = 3;
inline bool ClientIncidentReport::_internal_has_environment() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.environment_ != nullptr);
  return value;
}
inline bool ClientIncidentReport::has_environment() const {
  return _internal_has_environment();
}
inline void ClientIncidentReport::clear_environment() {
  if (_impl_.environment_ != nullptr) _impl_.environment_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData& ClientIncidentReport::_internal_environment() const {
  const ::safe_browsing::ClientIncidentReport_EnvironmentData* p = _impl_.environment_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_EnvironmentData&>(
      ::safe_browsing::_ClientIncidentReport_EnvironmentData_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_EnvironmentData& ClientIncidentReport::environment() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.environment)
  return _internal_environment();
}
inline void ClientIncidentReport::unsafe_arena_set_allocated_environment(
    ::safe_browsing::ClientIncidentReport_EnvironmentData* environment) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.environment_);
  }
  _impl_.environment_ = environment;
  if (environment) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.environment)
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData* ClientIncidentReport::release_environment() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientIncidentReport_EnvironmentData* temp = _impl_.environment_;
  _impl_.environment_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData* ClientIncidentReport::unsafe_arena_release_environment() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.environment)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ClientIncidentReport_EnvironmentData* temp = _impl_.environment_;
  _impl_.environment_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData* ClientIncidentReport::_internal_mutable_environment() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.environment_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_EnvironmentData>(GetArenaForAllocation());
    _impl_.environment_ = p;
  }
  return _impl_.environment_;
}
inline ::safe_browsing::ClientIncidentReport_EnvironmentData* ClientIncidentReport::mutable_environment() {
  ::safe_browsing::ClientIncidentReport_EnvironmentData* _msg = _internal_mutable_environment();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.environment)
  return _msg;
}
inline void ClientIncidentReport::set_allocated_environment(::safe_browsing::ClientIncidentReport_EnvironmentData* environment) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.environment_;
  }
  if (environment) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(environment);
    if (message_arena != submessage_arena) {
      environment = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, environment, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.environment_ = environment;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.environment)
}

// optional .safe_browsing.ChromeUserPopulation population = 7;
inline bool ClientIncidentReport::_internal_has_population() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.population_ != nullptr);
  return value;
}
inline bool ClientIncidentReport::has_population() const {
  return _internal_has_population();
}
inline void ClientIncidentReport::clear_population() {
  if (_impl_.population_ != nullptr) _impl_.population_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ChromeUserPopulation& ClientIncidentReport::_internal_population() const {
  const ::safe_browsing::ChromeUserPopulation* p = _impl_.population_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ChromeUserPopulation&>(
      ::safe_browsing::_ChromeUserPopulation_default_instance_);
}
inline const ::safe_browsing::ChromeUserPopulation& ClientIncidentReport::population() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.population)
  return _internal_population();
}
inline void ClientIncidentReport::unsafe_arena_set_allocated_population(
    ::safe_browsing::ChromeUserPopulation* population) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.population_);
  }
  _impl_.population_ = population;
  if (population) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.population)
}
inline ::safe_browsing::ChromeUserPopulation* ClientIncidentReport::release_population() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* ClientIncidentReport::unsafe_arena_release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.population)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ChromeUserPopulation* temp = _impl_.population_;
  _impl_.population_ = nullptr;
  return temp;
}
inline ::safe_browsing::ChromeUserPopulation* ClientIncidentReport::_internal_mutable_population() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.population_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ChromeUserPopulation>(GetArenaForAllocation());
    _impl_.population_ = p;
  }
  return _impl_.population_;
}
inline ::safe_browsing::ChromeUserPopulation* ClientIncidentReport::mutable_population() {
  ::safe_browsing::ChromeUserPopulation* _msg = _internal_mutable_population();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.population)
  return _msg;
}
inline void ClientIncidentReport::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.population_;
  }
  if (population) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(population);
    if (message_arena != submessage_arena) {
      population = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, population, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.population_ = population;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.population)
}

// optional .safe_browsing.ClientIncidentReport.ExtensionData extension_data = 8;
inline bool ClientIncidentReport::_internal_has_extension_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.extension_data_ != nullptr);
  return value;
}
inline bool ClientIncidentReport::has_extension_data() const {
  return _internal_has_extension_data();
}
inline void ClientIncidentReport::clear_extension_data() {
  if (_impl_.extension_data_ != nullptr) _impl_.extension_data_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::safe_browsing::ClientIncidentReport_ExtensionData& ClientIncidentReport::_internal_extension_data() const {
  const ::safe_browsing::ClientIncidentReport_ExtensionData* p = _impl_.extension_data_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_ExtensionData&>(
      ::safe_browsing::_ClientIncidentReport_ExtensionData_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_ExtensionData& ClientIncidentReport::extension_data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.extension_data)
  return _internal_extension_data();
}
inline void ClientIncidentReport::unsafe_arena_set_allocated_extension_data(
    ::safe_browsing::ClientIncidentReport_ExtensionData* extension_data) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.extension_data_);
  }
  _impl_.extension_data_ = extension_data;
  if (extension_data) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.extension_data)
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData* ClientIncidentReport::release_extension_data() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientIncidentReport_ExtensionData* temp = _impl_.extension_data_;
  _impl_.extension_data_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData* ClientIncidentReport::unsafe_arena_release_extension_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.extension_data)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientIncidentReport_ExtensionData* temp = _impl_.extension_data_;
  _impl_.extension_data_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData* ClientIncidentReport::_internal_mutable_extension_data() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.extension_data_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_ExtensionData>(GetArenaForAllocation());
    _impl_.extension_data_ = p;
  }
  return _impl_.extension_data_;
}
inline ::safe_browsing::ClientIncidentReport_ExtensionData* ClientIncidentReport::mutable_extension_data() {
  ::safe_browsing::ClientIncidentReport_ExtensionData* _msg = _internal_mutable_extension_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.extension_data)
  return _msg;
}
inline void ClientIncidentReport::set_allocated_extension_data(::safe_browsing::ClientIncidentReport_ExtensionData* extension_data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.extension_data_;
  }
  if (extension_data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(extension_data);
    if (message_arena != submessage_arena) {
      extension_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, extension_data, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.extension_data_ = extension_data;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.extension_data)
}

// optional .safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails non_binary_download = 9;
inline bool ClientIncidentReport::_internal_has_non_binary_download() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.non_binary_download_ != nullptr);
  return value;
}
inline bool ClientIncidentReport::has_non_binary_download() const {
  return _internal_has_non_binary_download();
}
inline void ClientIncidentReport::clear_non_binary_download() {
  if (_impl_.non_binary_download_ != nullptr) _impl_.non_binary_download_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails& ClientIncidentReport::_internal_non_binary_download() const {
  const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* p = _impl_.non_binary_download_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails&>(
      ::safe_browsing::_ClientIncidentReport_NonBinaryDownloadDetails_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails& ClientIncidentReport::non_binary_download() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.non_binary_download)
  return _internal_non_binary_download();
}
inline void ClientIncidentReport::unsafe_arena_set_allocated_non_binary_download(
    ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* non_binary_download) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.non_binary_download_);
  }
  _impl_.non_binary_download_ = non_binary_download;
  if (non_binary_download) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientIncidentReport.non_binary_download)
}
inline ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* ClientIncidentReport::release_non_binary_download() {
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* temp = _impl_.non_binary_download_;
  _impl_.non_binary_download_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* ClientIncidentReport::unsafe_arena_release_non_binary_download() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.non_binary_download)
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* temp = _impl_.non_binary_download_;
  _impl_.non_binary_download_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* ClientIncidentReport::_internal_mutable_non_binary_download() {
  _impl_._has_bits_[0] |= 0x00000010u;
  if (_impl_.non_binary_download_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails>(GetArenaForAllocation());
    _impl_.non_binary_download_ = p;
  }
  return _impl_.non_binary_download_;
}
inline ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* ClientIncidentReport::mutable_non_binary_download() {
  ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* _msg = _internal_mutable_non_binary_download();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.non_binary_download)
  return _msg;
}
inline void ClientIncidentReport::set_allocated_non_binary_download(::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* non_binary_download) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.non_binary_download_;
  }
  if (non_binary_download) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(non_binary_download);
    if (message_arena != submessage_arena) {
      non_binary_download = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, non_binary_download, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.non_binary_download_ = non_binary_download;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.non_binary_download)
}

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

// ClientIncidentResponse_EnvironmentRequest

// optional int32 dll_index = 1;
inline bool ClientIncidentResponse_EnvironmentRequest::_internal_has_dll_index() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentResponse_EnvironmentRequest::has_dll_index() const {
  return _internal_has_dll_index();
}
inline void ClientIncidentResponse_EnvironmentRequest::clear_dll_index() {
  _impl_.dll_index_ = 0;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline int32_t ClientIncidentResponse_EnvironmentRequest::_internal_dll_index() const {
  return _impl_.dll_index_;
}
inline int32_t ClientIncidentResponse_EnvironmentRequest::dll_index() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentResponse.EnvironmentRequest.dll_index)
  return _internal_dll_index();
}
inline void ClientIncidentResponse_EnvironmentRequest::_internal_set_dll_index(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.dll_index_ = value;
}
inline void ClientIncidentResponse_EnvironmentRequest::set_dll_index(int32_t value) {
  _internal_set_dll_index(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentResponse.EnvironmentRequest.dll_index)
}

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

// ClientIncidentResponse

// optional bytes token = 1;
inline bool ClientIncidentResponse::_internal_has_token() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientIncidentResponse::has_token() const {
  return _internal_has_token();
}
inline void ClientIncidentResponse::clear_token() {
  _impl_.token_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientIncidentResponse::token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentResponse.token)
  return _internal_token();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientIncidentResponse::set_token(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.token_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentResponse.token)
}
inline std::string* ClientIncidentResponse::mutable_token() {
  std::string* _s = _internal_mutable_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentResponse.token)
  return _s;
}
inline const std::string& ClientIncidentResponse::_internal_token() const {
  return _impl_.token_.Get();
}
inline void ClientIncidentResponse::_internal_set_token(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.token_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientIncidentResponse::_internal_mutable_token() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.token_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientIncidentResponse::release_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentResponse.token)
  if (!_internal_has_token()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.token_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientIncidentResponse::set_allocated_token(std::string* token) {
  if (token != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.token_.SetAllocated(token, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentResponse.token)
}

// optional bool download_requested = 2;
inline bool ClientIncidentResponse::_internal_has_download_requested() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientIncidentResponse::has_download_requested() const {
  return _internal_has_download_requested();
}
inline void ClientIncidentResponse::clear_download_requested() {
  _impl_.download_requested_ = false;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline bool ClientIncidentResponse::_internal_download_requested() const {
  return _impl_.download_requested_;
}
inline bool ClientIncidentResponse::download_requested() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentResponse.download_requested)
  return _internal_download_requested();
}
inline void ClientIncidentResponse::_internal_set_download_requested(bool value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.download_requested_ = value;
}
inline void ClientIncidentResponse::set_download_requested(bool value) {
  _internal_set_download_requested(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentResponse.download_requested)
}

// repeated .safe_browsing.ClientIncidentResponse.EnvironmentRequest environment_requests = 3;
inline int ClientIncidentResponse::_internal_environment_requests_size() const {
  return _impl_.environment_requests_.size();
}
inline int ClientIncidentResponse::environment_requests_size() const {
  return _internal_environment_requests_size();
}
inline void ClientIncidentResponse::clear_environment_requests() {
  _impl_.environment_requests_.Clear();
}
inline ::safe_browsing::ClientIncidentResponse_EnvironmentRequest* ClientIncidentResponse::mutable_environment_requests(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentResponse.environment_requests)
  return _impl_.environment_requests_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentResponse_EnvironmentRequest >*
ClientIncidentResponse::mutable_environment_requests() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentResponse.environment_requests)
  return &_impl_.environment_requests_;
}
inline const ::safe_browsing::ClientIncidentResponse_EnvironmentRequest& ClientIncidentResponse::_internal_environment_requests(int index) const {
  return _impl_.environment_requests_.Get(index);
}
inline const ::safe_browsing::ClientIncidentResponse_EnvironmentRequest& ClientIncidentResponse::environment_requests(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentResponse.environment_requests)
  return _internal_environment_requests(index);
}
inline ::safe_browsing::ClientIncidentResponse_EnvironmentRequest* ClientIncidentResponse::_internal_add_environment_requests() {
  return _impl_.environment_requests_.Add();
}
inline ::safe_browsing::ClientIncidentResponse_EnvironmentRequest* ClientIncidentResponse::add_environment_requests() {
  ::safe_browsing::ClientIncidentResponse_EnvironmentRequest* _add = _internal_add_environment_requests();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentResponse.environment_requests)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientIncidentResponse_EnvironmentRequest >&
ClientIncidentResponse::environment_requests() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentResponse.environment_requests)
  return _impl_.environment_requests_;
}

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

// DownloadMetadata

// optional uint32 download_id = 1;
inline bool DownloadMetadata::_internal_has_download_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool DownloadMetadata::has_download_id() const {
  return _internal_has_download_id();
}
inline void DownloadMetadata::clear_download_id() {
  _impl_.download_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t DownloadMetadata::_internal_download_id() const {
  return _impl_.download_id_;
}
inline uint32_t DownloadMetadata::download_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.DownloadMetadata.download_id)
  return _internal_download_id();
}
inline void DownloadMetadata::_internal_set_download_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.download_id_ = value;
}
inline void DownloadMetadata::set_download_id(uint32_t value) {
  _internal_set_download_id(value);
  // @@protoc_insertion_point(field_set:safe_browsing.DownloadMetadata.download_id)
}

// optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
inline bool DownloadMetadata::_internal_has_download() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.download_ != nullptr);
  return value;
}
inline bool DownloadMetadata::has_download() const {
  return _internal_has_download();
}
inline void DownloadMetadata::clear_download() {
  if (_impl_.download_ != nullptr) _impl_.download_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::safe_browsing::ClientIncidentReport_DownloadDetails& DownloadMetadata::_internal_download() const {
  const ::safe_browsing::ClientIncidentReport_DownloadDetails* p = _impl_.download_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientIncidentReport_DownloadDetails&>(
      ::safe_browsing::_ClientIncidentReport_DownloadDetails_default_instance_);
}
inline const ::safe_browsing::ClientIncidentReport_DownloadDetails& DownloadMetadata::download() const {
  // @@protoc_insertion_point(field_get:safe_browsing.DownloadMetadata.download)
  return _internal_download();
}
inline void DownloadMetadata::unsafe_arena_set_allocated_download(
    ::safe_browsing::ClientIncidentReport_DownloadDetails* download) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.download_);
  }
  _impl_.download_ = download;
  if (download) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.DownloadMetadata.download)
}
inline ::safe_browsing::ClientIncidentReport_DownloadDetails* DownloadMetadata::release_download() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_DownloadDetails* temp = _impl_.download_;
  _impl_.download_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_DownloadDetails* DownloadMetadata::unsafe_arena_release_download() {
  // @@protoc_insertion_point(field_release:safe_browsing.DownloadMetadata.download)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::safe_browsing::ClientIncidentReport_DownloadDetails* temp = _impl_.download_;
  _impl_.download_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientIncidentReport_DownloadDetails* DownloadMetadata::_internal_mutable_download() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.download_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientIncidentReport_DownloadDetails>(GetArenaForAllocation());
    _impl_.download_ = p;
  }
  return _impl_.download_;
}
inline ::safe_browsing::ClientIncidentReport_DownloadDetails* DownloadMetadata::mutable_download() {
  ::safe_browsing::ClientIncidentReport_DownloadDetails* _msg = _internal_mutable_download();
  // @@protoc_insertion_point(field_mutable:safe_browsing.DownloadMetadata.download)
  return _msg;
}
inline void DownloadMetadata::set_allocated_download(::safe_browsing::ClientIncidentReport_DownloadDetails* download) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.download_;
  }
  if (download) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(download);
    if (message_arena != submessage_arena) {
      download = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, download, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.download_ = download;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.DownloadMetadata.download)
}

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

// ClientSafeBrowsingReportRequest_HTTPHeader

// required bytes name = 1;
inline bool ClientSafeBrowsingReportRequest_HTTPHeader::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPHeader::has_name() const {
  return _internal_has_name();
}
inline void ClientSafeBrowsingReportRequest_HTTPHeader::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPHeader::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPHeader::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPHeader::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPHeader::_internal_name() const {
  return _impl_.name_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPHeader::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPHeader::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPHeader::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPHeader::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
}

// optional bytes value = 2;
inline bool ClientSafeBrowsingReportRequest_HTTPHeader::_internal_has_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPHeader::has_value() const {
  return _internal_has_value();
}
inline void ClientSafeBrowsingReportRequest_HTTPHeader::clear_value() {
  _impl_.value_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPHeader::value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
  return _internal_value();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPHeader::set_value(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.value_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPHeader::mutable_value() {
  std::string* _s = _internal_mutable_value();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPHeader::_internal_value() const {
  return _impl_.value_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPHeader::_internal_set_value(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.value_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPHeader::_internal_mutable_value() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.value_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPHeader::release_value() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
  if (!_internal_has_value()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.value_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPHeader::set_allocated_value(std::string* value) {
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.value_.SetAllocated(value, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
}

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

// ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine

// optional bytes verb = 1;
inline bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_has_verb() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::has_verb() const {
  return _internal_has_verb();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_verb() {
  _impl_.verb_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::verb() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
  return _internal_verb();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_verb(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.verb_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::mutable_verb() {
  std::string* _s = _internal_mutable_verb();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_verb() const {
  return _impl_.verb_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_set_verb(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.verb_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_mutable_verb() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.verb_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::release_verb() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
  if (!_internal_has_verb()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.verb_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.verb_.IsDefault()) {
    _impl_.verb_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_allocated_verb(std::string* verb) {
  if (verb != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.verb_.SetAllocated(verb, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.verb_.IsDefault()) {
    _impl_.verb_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
}

// optional bytes uri = 2;
inline bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_has_uri() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::has_uri() const {
  return _internal_has_uri();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_uri() {
  _impl_.uri_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::uri() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
  return _internal_uri();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_uri(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.uri_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::mutable_uri() {
  std::string* _s = _internal_mutable_uri();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_uri() const {
  return _impl_.uri_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_set_uri(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.uri_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_mutable_uri() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.uri_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::release_uri() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
  if (!_internal_has_uri()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.uri_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.uri_.IsDefault()) {
    _impl_.uri_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_allocated_uri(std::string* uri) {
  if (uri != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.uri_.SetAllocated(uri, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.uri_.IsDefault()) {
    _impl_.uri_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
}

// optional bytes version = 3;
inline bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::has_version() const {
  return _internal_has_version();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_version() {
  _impl_.version_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
  return _internal_version();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_version(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.version_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::mutable_version() {
  std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_version() const {
  return _impl_.version_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_set_version(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.version_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::_internal_mutable_version() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.version_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::release_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
  if (!_internal_has_version()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.version_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_allocated_version(std::string* version) {
  if (version != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.version_.SetAllocated(version, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
}

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

// ClientSafeBrowsingReportRequest_HTTPRequest

// optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine firstline = 1;
inline bool ClientSafeBrowsingReportRequest_HTTPRequest::_internal_has_firstline() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.firstline_ != nullptr);
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPRequest::has_firstline() const {
  return _internal_has_firstline();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::clear_firstline() {
  if (_impl_.firstline_ != nullptr) _impl_.firstline_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& ClientSafeBrowsingReportRequest_HTTPRequest::_internal_firstline() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* p = _impl_.firstline_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine&>(
      ::safe_browsing::_ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_);
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& ClientSafeBrowsingReportRequest_HTTPRequest::firstline() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
  return _internal_firstline();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::unsafe_arena_set_allocated_firstline(
    ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* firstline) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.firstline_);
  }
  _impl_.firstline_ = firstline;
  if (firstline) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* ClientSafeBrowsingReportRequest_HTTPRequest::release_firstline() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* temp = _impl_.firstline_;
  _impl_.firstline_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* ClientSafeBrowsingReportRequest_HTTPRequest::unsafe_arena_release_firstline() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* temp = _impl_.firstline_;
  _impl_.firstline_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* ClientSafeBrowsingReportRequest_HTTPRequest::_internal_mutable_firstline() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.firstline_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine>(GetArenaForAllocation());
    _impl_.firstline_ = p;
  }
  return _impl_.firstline_;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* ClientSafeBrowsingReportRequest_HTTPRequest::mutable_firstline() {
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* _msg = _internal_mutable_firstline();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
  return _msg;
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::set_allocated_firstline(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* firstline) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.firstline_;
  }
  if (firstline) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(firstline);
    if (message_arena != submessage_arena) {
      firstline = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, firstline, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.firstline_ = firstline;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
}

// repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
inline int ClientSafeBrowsingReportRequest_HTTPRequest::_internal_headers_size() const {
  return _impl_.headers_.size();
}
inline int ClientSafeBrowsingReportRequest_HTTPRequest::headers_size() const {
  return _internal_headers_size();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::clear_headers() {
  _impl_.headers_.Clear();
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPRequest::mutable_headers(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return _impl_.headers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >*
ClientSafeBrowsingReportRequest_HTTPRequest::mutable_headers() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return &_impl_.headers_;
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& ClientSafeBrowsingReportRequest_HTTPRequest::_internal_headers(int index) const {
  return _impl_.headers_.Get(index);
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& ClientSafeBrowsingReportRequest_HTTPRequest::headers(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return _internal_headers(index);
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPRequest::_internal_add_headers() {
  return _impl_.headers_.Add();
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPRequest::add_headers() {
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* _add = _internal_add_headers();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >&
ClientSafeBrowsingReportRequest_HTTPRequest::headers() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return _impl_.headers_;
}

// optional bytes body = 3;
inline bool ClientSafeBrowsingReportRequest_HTTPRequest::_internal_has_body() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPRequest::has_body() const {
  return _internal_has_body();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::clear_body() {
  _impl_.body_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest::body() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
  return _internal_body();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPRequest::set_body(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.body_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest::mutable_body() {
  std::string* _s = _internal_mutable_body();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest::_internal_body() const {
  return _impl_.body_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::_internal_set_body(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.body_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest::_internal_mutable_body() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.body_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest::release_body() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
  if (!_internal_has_body()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.body_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::set_allocated_body(std::string* body) {
  if (body != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.body_.SetAllocated(body, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
}

// optional bytes bodydigest = 4;
inline bool ClientSafeBrowsingReportRequest_HTTPRequest::_internal_has_bodydigest() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPRequest::has_bodydigest() const {
  return _internal_has_bodydigest();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::clear_bodydigest() {
  _impl_.bodydigest_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest::bodydigest() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
  return _internal_bodydigest();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPRequest::set_bodydigest(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.bodydigest_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest::mutable_bodydigest() {
  std::string* _s = _internal_mutable_bodydigest();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPRequest::_internal_bodydigest() const {
  return _impl_.bodydigest_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::_internal_set_bodydigest(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.bodydigest_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest::_internal_mutable_bodydigest() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.bodydigest_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPRequest::release_bodydigest() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
  if (!_internal_has_bodydigest()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.bodydigest_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.bodydigest_.IsDefault()) {
    _impl_.bodydigest_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::set_allocated_bodydigest(std::string* bodydigest) {
  if (bodydigest != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.bodydigest_.SetAllocated(bodydigest, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.bodydigest_.IsDefault()) {
    _impl_.bodydigest_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
}

// optional int32 bodylength = 5;
inline bool ClientSafeBrowsingReportRequest_HTTPRequest::_internal_has_bodylength() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPRequest::has_bodylength() const {
  return _internal_has_bodylength();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::clear_bodylength() {
  _impl_.bodylength_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int32_t ClientSafeBrowsingReportRequest_HTTPRequest::_internal_bodylength() const {
  return _impl_.bodylength_;
}
inline int32_t ClientSafeBrowsingReportRequest_HTTPRequest::bodylength() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodylength)
  return _internal_bodylength();
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::_internal_set_bodylength(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.bodylength_ = value;
}
inline void ClientSafeBrowsingReportRequest_HTTPRequest::set_bodylength(int32_t value) {
  _internal_set_bodylength(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodylength)
}

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

// ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine

// optional int32 code = 1;
inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_has_code() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_code() const {
  return _internal_has_code();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_code() {
  _impl_.code_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline int32_t ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_code() const {
  return _impl_.code_;
}
inline int32_t ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::code() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.code)
  return _internal_code();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_set_code(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.code_ = value;
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_code(int32_t value) {
  _internal_set_code(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.code)
}

// optional bytes message = 2;
inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_has_message() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_message() const {
  return _internal_has_message();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_message() {
  _impl_.message_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::message() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
  return _internal_message();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.message_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::mutable_message() {
  std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_message() const {
  return _impl_.message_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_set_message(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.message_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_mutable_message() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.message_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::release_message() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
  if (!_internal_has_message()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.message_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.message_.IsDefault()) {
    _impl_.message_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_allocated_message(std::string* message) {
  if (message != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.message_.SetAllocated(message, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.message_.IsDefault()) {
    _impl_.message_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
}

// optional bytes version = 3;
inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_version() const {
  return _internal_has_version();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_version() {
  _impl_.version_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
  return _internal_version();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_version(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.version_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::mutable_version() {
  std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_version() const {
  return _impl_.version_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_set_version(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.version_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::_internal_mutable_version() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.version_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::release_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
  if (!_internal_has_version()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.version_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_allocated_version(std::string* version) {
  if (version != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.version_.SetAllocated(version, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
}

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

// ClientSafeBrowsingReportRequest_HTTPResponse

// optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine firstline = 1;
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::_internal_has_firstline() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.firstline_ != nullptr);
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::has_firstline() const {
  return _internal_has_firstline();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::clear_firstline() {
  if (_impl_.firstline_ != nullptr) _impl_.firstline_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& ClientSafeBrowsingReportRequest_HTTPResponse::_internal_firstline() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* p = _impl_.firstline_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine&>(
      ::safe_browsing::_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_);
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& ClientSafeBrowsingReportRequest_HTTPResponse::firstline() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
  return _internal_firstline();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::unsafe_arena_set_allocated_firstline(
    ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* firstline) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.firstline_);
  }
  _impl_.firstline_ = firstline;
  if (firstline) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* ClientSafeBrowsingReportRequest_HTTPResponse::release_firstline() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* temp = _impl_.firstline_;
  _impl_.firstline_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* ClientSafeBrowsingReportRequest_HTTPResponse::unsafe_arena_release_firstline() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* temp = _impl_.firstline_;
  _impl_.firstline_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* ClientSafeBrowsingReportRequest_HTTPResponse::_internal_mutable_firstline() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.firstline_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine>(GetArenaForAllocation());
    _impl_.firstline_ = p;
  }
  return _impl_.firstline_;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_firstline() {
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* _msg = _internal_mutable_firstline();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
  return _msg;
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::set_allocated_firstline(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* firstline) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.firstline_;
  }
  if (firstline) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(firstline);
    if (message_arena != submessage_arena) {
      firstline = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, firstline, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.firstline_ = firstline;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
}

// repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
inline int ClientSafeBrowsingReportRequest_HTTPResponse::_internal_headers_size() const {
  return _impl_.headers_.size();
}
inline int ClientSafeBrowsingReportRequest_HTTPResponse::headers_size() const {
  return _internal_headers_size();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::clear_headers() {
  _impl_.headers_.Clear();
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_headers(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return _impl_.headers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >*
ClientSafeBrowsingReportRequest_HTTPResponse::mutable_headers() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return &_impl_.headers_;
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& ClientSafeBrowsingReportRequest_HTTPResponse::_internal_headers(int index) const {
  return _impl_.headers_.Get(index);
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& ClientSafeBrowsingReportRequest_HTTPResponse::headers(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return _internal_headers(index);
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPResponse::_internal_add_headers() {
  return _impl_.headers_.Add();
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPResponse::add_headers() {
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* _add = _internal_add_headers();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >&
ClientSafeBrowsingReportRequest_HTTPResponse::headers() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return _impl_.headers_;
}

// optional bytes body = 3;
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::_internal_has_body() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::has_body() const {
  return _internal_has_body();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::clear_body() {
  _impl_.body_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse::body() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
  return _internal_body();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPResponse::set_body(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.body_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_body() {
  std::string* _s = _internal_mutable_body();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse::_internal_body() const {
  return _impl_.body_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::_internal_set_body(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.body_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::_internal_mutable_body() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.body_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::release_body() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
  if (!_internal_has_body()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.body_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::set_allocated_body(std::string* body) {
  if (body != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.body_.SetAllocated(body, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
}

// optional bytes bodydigest = 4;
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::_internal_has_bodydigest() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::has_bodydigest() const {
  return _internal_has_bodydigest();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::clear_bodydigest() {
  _impl_.bodydigest_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse::bodydigest() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
  return _internal_bodydigest();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPResponse::set_bodydigest(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.bodydigest_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_bodydigest() {
  std::string* _s = _internal_mutable_bodydigest();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse::_internal_bodydigest() const {
  return _impl_.bodydigest_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::_internal_set_bodydigest(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.bodydigest_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::_internal_mutable_bodydigest() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.bodydigest_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::release_bodydigest() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
  if (!_internal_has_bodydigest()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.bodydigest_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.bodydigest_.IsDefault()) {
    _impl_.bodydigest_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::set_allocated_bodydigest(std::string* bodydigest) {
  if (bodydigest != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.bodydigest_.SetAllocated(bodydigest, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.bodydigest_.IsDefault()) {
    _impl_.bodydigest_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
}

// optional int32 bodylength = 5;
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::_internal_has_bodylength() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::has_bodylength() const {
  return _internal_has_bodylength();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::clear_bodylength() {
  _impl_.bodylength_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline int32_t ClientSafeBrowsingReportRequest_HTTPResponse::_internal_bodylength() const {
  return _impl_.bodylength_;
}
inline int32_t ClientSafeBrowsingReportRequest_HTTPResponse::bodylength() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodylength)
  return _internal_bodylength();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::_internal_set_bodylength(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.bodylength_ = value;
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::set_bodylength(int32_t value) {
  _internal_set_bodylength(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodylength)
}

// optional bytes remote_ip = 6;
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::_internal_has_remote_ip() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_HTTPResponse::has_remote_ip() const {
  return _internal_has_remote_ip();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::clear_remote_ip() {
  _impl_.remote_ip_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse::remote_ip() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
  return _internal_remote_ip();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_HTTPResponse::set_remote_ip(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.remote_ip_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_remote_ip() {
  std::string* _s = _internal_mutable_remote_ip();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_HTTPResponse::_internal_remote_ip() const {
  return _impl_.remote_ip_.Get();
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::_internal_set_remote_ip(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.remote_ip_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::_internal_mutable_remote_ip() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.remote_ip_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_HTTPResponse::release_remote_ip() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
  if (!_internal_has_remote_ip()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.remote_ip_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.remote_ip_.IsDefault()) {
    _impl_.remote_ip_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_HTTPResponse::set_allocated_remote_ip(std::string* remote_ip) {
  if (remote_ip != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.remote_ip_.SetAllocated(remote_ip, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.remote_ip_.IsDefault()) {
    _impl_.remote_ip_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
}

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

// ClientSafeBrowsingReportRequest_Resource

// required int32 id = 1;
inline bool ClientSafeBrowsingReportRequest_Resource::_internal_has_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_Resource::has_id() const {
  return _internal_has_id();
}
inline void ClientSafeBrowsingReportRequest_Resource::clear_id() {
  _impl_.id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline int32_t ClientSafeBrowsingReportRequest_Resource::_internal_id() const {
  return _impl_.id_;
}
inline int32_t ClientSafeBrowsingReportRequest_Resource::id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.id)
  return _internal_id();
}
inline void ClientSafeBrowsingReportRequest_Resource::_internal_set_id(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.id_ = value;
}
inline void ClientSafeBrowsingReportRequest_Resource::set_id(int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.id)
}

// optional string url = 2;
inline bool ClientSafeBrowsingReportRequest_Resource::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_Resource::has_url() const {
  return _internal_has_url();
}
inline void ClientSafeBrowsingReportRequest_Resource::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientSafeBrowsingReportRequest_Resource::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_Resource::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
}
inline std::string* ClientSafeBrowsingReportRequest_Resource::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_Resource::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ClientSafeBrowsingReportRequest_Resource::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_Resource::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_Resource::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_Resource::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
}

// optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest request = 3;
inline bool ClientSafeBrowsingReportRequest_Resource::_internal_has_request() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.request_ != nullptr);
  return value;
}
inline bool ClientSafeBrowsingReportRequest_Resource::has_request() const {
  return _internal_has_request();
}
inline void ClientSafeBrowsingReportRequest_Resource::clear_request() {
  if (_impl_.request_ != nullptr) _impl_.request_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest& ClientSafeBrowsingReportRequest_Resource::_internal_request() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* p = _impl_.request_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest&>(
      ::safe_browsing::_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_);
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest& ClientSafeBrowsingReportRequest_Resource::request() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
  return _internal_request();
}
inline void ClientSafeBrowsingReportRequest_Resource::unsafe_arena_set_allocated_request(
    ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* request) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.request_);
  }
  _impl_.request_ = request;
  if (request) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* ClientSafeBrowsingReportRequest_Resource::release_request() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* temp = _impl_.request_;
  _impl_.request_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* ClientSafeBrowsingReportRequest_Resource::unsafe_arena_release_request() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* temp = _impl_.request_;
  _impl_.request_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* ClientSafeBrowsingReportRequest_Resource::_internal_mutable_request() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.request_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest>(GetArenaForAllocation());
    _impl_.request_ = p;
  }
  return _impl_.request_;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* ClientSafeBrowsingReportRequest_Resource::mutable_request() {
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* _msg = _internal_mutable_request();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
  return _msg;
}
inline void ClientSafeBrowsingReportRequest_Resource::set_allocated_request(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* request) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.request_;
  }
  if (request) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(request);
    if (message_arena != submessage_arena) {
      request = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, request, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.request_ = request;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
}

// optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse response = 4;
inline bool ClientSafeBrowsingReportRequest_Resource::_internal_has_response() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.response_ != nullptr);
  return value;
}
inline bool ClientSafeBrowsingReportRequest_Resource::has_response() const {
  return _internal_has_response();
}
inline void ClientSafeBrowsingReportRequest_Resource::clear_response() {
  if (_impl_.response_ != nullptr) _impl_.response_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse& ClientSafeBrowsingReportRequest_Resource::_internal_response() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* p = _impl_.response_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse&>(
      ::safe_browsing::_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_);
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse& ClientSafeBrowsingReportRequest_Resource::response() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
  return _internal_response();
}
inline void ClientSafeBrowsingReportRequest_Resource::unsafe_arena_set_allocated_response(
    ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* response) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.response_);
  }
  _impl_.response_ = response;
  if (response) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* ClientSafeBrowsingReportRequest_Resource::release_response() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* temp = _impl_.response_;
  _impl_.response_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* ClientSafeBrowsingReportRequest_Resource::unsafe_arena_release_response() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* temp = _impl_.response_;
  _impl_.response_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* ClientSafeBrowsingReportRequest_Resource::_internal_mutable_response() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.response_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse>(GetArenaForAllocation());
    _impl_.response_ = p;
  }
  return _impl_.response_;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* ClientSafeBrowsingReportRequest_Resource::mutable_response() {
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* _msg = _internal_mutable_response();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
  return _msg;
}
inline void ClientSafeBrowsingReportRequest_Resource::set_allocated_response(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* response) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.response_;
  }
  if (response) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(response);
    if (message_arena != submessage_arena) {
      response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, response, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.response_ = response;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
}

// optional int32 parent_id = 5;
inline bool ClientSafeBrowsingReportRequest_Resource::_internal_has_parent_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_Resource::has_parent_id() const {
  return _internal_has_parent_id();
}
inline void ClientSafeBrowsingReportRequest_Resource::clear_parent_id() {
  _impl_.parent_id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline int32_t ClientSafeBrowsingReportRequest_Resource::_internal_parent_id() const {
  return _impl_.parent_id_;
}
inline int32_t ClientSafeBrowsingReportRequest_Resource::parent_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.parent_id)
  return _internal_parent_id();
}
inline void ClientSafeBrowsingReportRequest_Resource::_internal_set_parent_id(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.parent_id_ = value;
}
inline void ClientSafeBrowsingReportRequest_Resource::set_parent_id(int32_t value) {
  _internal_set_parent_id(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.parent_id)
}

// repeated int32 child_ids = 6;
inline int ClientSafeBrowsingReportRequest_Resource::_internal_child_ids_size() const {
  return _impl_.child_ids_.size();
}
inline int ClientSafeBrowsingReportRequest_Resource::child_ids_size() const {
  return _internal_child_ids_size();
}
inline void ClientSafeBrowsingReportRequest_Resource::clear_child_ids() {
  _impl_.child_ids_.Clear();
}
inline int32_t ClientSafeBrowsingReportRequest_Resource::_internal_child_ids(int index) const {
  return _impl_.child_ids_.Get(index);
}
inline int32_t ClientSafeBrowsingReportRequest_Resource::child_ids(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
  return _internal_child_ids(index);
}
inline void ClientSafeBrowsingReportRequest_Resource::set_child_ids(int index, int32_t value) {
  _impl_.child_ids_.Set(index, value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
}
inline void ClientSafeBrowsingReportRequest_Resource::_internal_add_child_ids(int32_t value) {
  _impl_.child_ids_.Add(value);
}
inline void ClientSafeBrowsingReportRequest_Resource::add_child_ids(int32_t value) {
  _internal_add_child_ids(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
ClientSafeBrowsingReportRequest_Resource::_internal_child_ids() const {
  return _impl_.child_ids_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
ClientSafeBrowsingReportRequest_Resource::child_ids() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
  return _internal_child_ids();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
ClientSafeBrowsingReportRequest_Resource::_internal_mutable_child_ids() {
  return &_impl_.child_ids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
ClientSafeBrowsingReportRequest_Resource::mutable_child_ids() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
  return _internal_mutable_child_ids();
}

// optional string tag_name = 7;
inline bool ClientSafeBrowsingReportRequest_Resource::_internal_has_tag_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_Resource::has_tag_name() const {
  return _internal_has_tag_name();
}
inline void ClientSafeBrowsingReportRequest_Resource::clear_tag_name() {
  _impl_.tag_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientSafeBrowsingReportRequest_Resource::tag_name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
  return _internal_tag_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_Resource::set_tag_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.tag_name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
}
inline std::string* ClientSafeBrowsingReportRequest_Resource::mutable_tag_name() {
  std::string* _s = _internal_mutable_tag_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_Resource::_internal_tag_name() const {
  return _impl_.tag_name_.Get();
}
inline void ClientSafeBrowsingReportRequest_Resource::_internal_set_tag_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.tag_name_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_Resource::_internal_mutable_tag_name() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.tag_name_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_Resource::release_tag_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
  if (!_internal_has_tag_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.tag_name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.tag_name_.IsDefault()) {
    _impl_.tag_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_Resource::set_allocated_tag_name(std::string* tag_name) {
  if (tag_name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.tag_name_.SetAllocated(tag_name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.tag_name_.IsDefault()) {
    _impl_.tag_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
}

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

// ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties

// optional string client_version = 1;
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_has_client_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_client_version() const {
  return _internal_has_client_version();
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_client_version() {
  _impl_.client_version_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::client_version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
  return _internal_client_version();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.client_version_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
}
inline std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::mutable_client_version() {
  std::string* _s = _internal_mutable_client_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_client_version() const {
  return _impl_.client_version_.Get();
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_set_client_version(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.client_version_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_mutable_client_version() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.client_version_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::release_client_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
  if (!_internal_has_client_version()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.client_version_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.client_version_.IsDefault()) {
    _impl_.client_version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_allocated_client_version(std::string* client_version) {
  if (client_version != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.client_version_.SetAllocated(client_version, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.client_version_.IsDefault()) {
    _impl_.client_version_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
}

// optional int64 google_play_services_version = 2;
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_has_google_play_services_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_google_play_services_version() const {
  return _internal_has_google_play_services_version();
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_google_play_services_version() {
  _impl_.google_play_services_version_ = int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline int64_t ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_google_play_services_version() const {
  return _impl_.google_play_services_version_;
}
inline int64_t ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::google_play_services_version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.google_play_services_version)
  return _internal_google_play_services_version();
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_set_google_play_services_version(int64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.google_play_services_version_ = value;
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_google_play_services_version(int64_t value) {
  _internal_set_google_play_services_version(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.google_play_services_version)
}

// optional bool is_instant_apps = 3;
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_has_is_instant_apps() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_is_instant_apps() const {
  return _internal_has_is_instant_apps();
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_is_instant_apps() {
  _impl_.is_instant_apps_ = false;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_is_instant_apps() const {
  return _impl_.is_instant_apps_;
}
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::is_instant_apps() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.is_instant_apps)
  return _internal_is_instant_apps();
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_set_is_instant_apps(bool value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.is_instant_apps_ = value;
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_is_instant_apps(bool value) {
  _internal_set_is_instant_apps(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.is_instant_apps)
}

// optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_has_url_api_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_url_api_type() const {
  return _internal_has_url_api_type();
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_url_api_type() {
  _impl_.url_api_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_url_api_type() const {
  return static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType >(_impl_.url_api_type_);
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::url_api_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.url_api_type)
  return _internal_url_api_type();
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::_internal_set_url_api_type(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value) {
  assert(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.url_api_type_ = value;
}
inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_url_api_type(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value) {
  _internal_set_url_api_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.url_api_type)
}

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

// ClientSafeBrowsingReportRequest

// optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
inline bool ClientSafeBrowsingReportRequest::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_type() const {
  return _internal_has_type();
}
inline void ClientSafeBrowsingReportRequest::clear_type() {
  _impl_.type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::_internal_type() const {
  return static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType >(_impl_.type_);
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.type)
  return _internal_type();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_type(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType value) {
  assert(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.type_ = value;
}
inline void ClientSafeBrowsingReportRequest::set_type(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.type)
}

// optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
inline bool ClientSafeBrowsingReportRequest::_internal_has_download_verdict() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_download_verdict() const {
  return _internal_has_download_verdict();
}
inline void ClientSafeBrowsingReportRequest::clear_download_verdict() {
  _impl_.download_verdict_ = 0;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline ::safe_browsing::ClientDownloadResponse_Verdict ClientSafeBrowsingReportRequest::_internal_download_verdict() const {
  return static_cast< ::safe_browsing::ClientDownloadResponse_Verdict >(_impl_.download_verdict_);
}
inline ::safe_browsing::ClientDownloadResponse_Verdict ClientSafeBrowsingReportRequest::download_verdict() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.download_verdict)
  return _internal_download_verdict();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_download_verdict(::safe_browsing::ClientDownloadResponse_Verdict value) {
  assert(::safe_browsing::ClientDownloadResponse_Verdict_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.download_verdict_ = value;
}
inline void ClientSafeBrowsingReportRequest::set_download_verdict(::safe_browsing::ClientDownloadResponse_Verdict value) {
  _internal_set_download_verdict(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.download_verdict)
}

// optional string url = 1;
inline bool ClientSafeBrowsingReportRequest::_internal_has_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_url() const {
  return _internal_has_url();
}
inline void ClientSafeBrowsingReportRequest::clear_url() {
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ClientSafeBrowsingReportRequest::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.url)
  return _internal_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest::set_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.url)
}
inline std::string* ClientSafeBrowsingReportRequest::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.url)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest::_internal_url() const {
  return _impl_.url_.Get();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::_internal_mutable_url() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.url)
  if (!_internal_has_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.url_.SetAllocated(url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.url)
}

// optional string page_url = 2;
inline bool ClientSafeBrowsingReportRequest::_internal_has_page_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_page_url() const {
  return _internal_has_page_url();
}
inline void ClientSafeBrowsingReportRequest::clear_page_url() {
  _impl_.page_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ClientSafeBrowsingReportRequest::page_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
  return _internal_page_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest::set_page_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.page_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
}
inline std::string* ClientSafeBrowsingReportRequest::mutable_page_url() {
  std::string* _s = _internal_mutable_page_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest::_internal_page_url() const {
  return _impl_.page_url_.Get();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_page_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.page_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::_internal_mutable_page_url() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.page_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::release_page_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
  if (!_internal_has_page_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.page_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.page_url_.IsDefault()) {
    _impl_.page_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest::set_allocated_page_url(std::string* page_url) {
  if (page_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.page_url_.SetAllocated(page_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.page_url_.IsDefault()) {
    _impl_.page_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
}

// optional string referrer_url = 3;
inline bool ClientSafeBrowsingReportRequest::_internal_has_referrer_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_referrer_url() const {
  return _internal_has_referrer_url();
}
inline void ClientSafeBrowsingReportRequest::clear_referrer_url() {
  _impl_.referrer_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ClientSafeBrowsingReportRequest::referrer_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
  return _internal_referrer_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest::set_referrer_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.referrer_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
}
inline std::string* ClientSafeBrowsingReportRequest::mutable_referrer_url() {
  std::string* _s = _internal_mutable_referrer_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest::_internal_referrer_url() const {
  return _impl_.referrer_url_.Get();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_referrer_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.referrer_url_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::_internal_mutable_referrer_url() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.referrer_url_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::release_referrer_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
  if (!_internal_has_referrer_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.referrer_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_url_.IsDefault()) {
    _impl_.referrer_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest::set_allocated_referrer_url(std::string* referrer_url) {
  if (referrer_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.referrer_url_.SetAllocated(referrer_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.referrer_url_.IsDefault()) {
    _impl_.referrer_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
}

// repeated .safe_browsing.ClientSafeBrowsingReportRequest.Resource resources = 4;
inline int ClientSafeBrowsingReportRequest::_internal_resources_size() const {
  return _impl_.resources_.size();
}
inline int ClientSafeBrowsingReportRequest::resources_size() const {
  return _internal_resources_size();
}
inline void ClientSafeBrowsingReportRequest::clear_resources() {
  _impl_.resources_.Clear();
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* ClientSafeBrowsingReportRequest::mutable_resources(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return _impl_.resources_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource >*
ClientSafeBrowsingReportRequest::mutable_resources() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return &_impl_.resources_;
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_Resource& ClientSafeBrowsingReportRequest::_internal_resources(int index) const {
  return _impl_.resources_.Get(index);
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_Resource& ClientSafeBrowsingReportRequest::resources(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return _internal_resources(index);
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* ClientSafeBrowsingReportRequest::_internal_add_resources() {
  return _impl_.resources_.Add();
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* ClientSafeBrowsingReportRequest::add_resources() {
  ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* _add = _internal_add_resources();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource >&
ClientSafeBrowsingReportRequest::resources() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return _impl_.resources_;
}

// repeated .safe_browsing.HTMLElement dom = 16;
inline int ClientSafeBrowsingReportRequest::_internal_dom_size() const {
  return _impl_.dom_.size();
}
inline int ClientSafeBrowsingReportRequest::dom_size() const {
  return _internal_dom_size();
}
inline void ClientSafeBrowsingReportRequest::clear_dom() {
  _impl_.dom_.Clear();
}
inline ::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::mutable_dom(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return _impl_.dom_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement >*
ClientSafeBrowsingReportRequest::mutable_dom() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return &_impl_.dom_;
}
inline const ::safe_browsing::HTMLElement& ClientSafeBrowsingReportRequest::_internal_dom(int index) const {
  return _impl_.dom_.Get(index);
}
inline const ::safe_browsing::HTMLElement& ClientSafeBrowsingReportRequest::dom(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return _internal_dom(index);
}
inline ::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::_internal_add_dom() {
  return _impl_.dom_.Add();
}
inline ::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::add_dom() {
  ::safe_browsing::HTMLElement* _add = _internal_add_dom();
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement >&
ClientSafeBrowsingReportRequest::dom() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return _impl_.dom_;
}

// optional bool complete = 5;
inline bool ClientSafeBrowsingReportRequest::_internal_has_complete() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_complete() const {
  return _internal_has_complete();
}
inline void ClientSafeBrowsingReportRequest::clear_complete() {
  _impl_.complete_ = false;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline bool ClientSafeBrowsingReportRequest::_internal_complete() const {
  return _impl_.complete_;
}
inline bool ClientSafeBrowsingReportRequest::complete() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.complete)
  return _internal_complete();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_complete(bool value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.complete_ = value;
}
inline void ClientSafeBrowsingReportRequest::set_complete(bool value) {
  _internal_set_complete(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.complete)
}

// repeated string client_asn = 6;
inline int ClientSafeBrowsingReportRequest::_internal_client_asn_size() const {
  return _impl_.client_asn_.size();
}
inline int ClientSafeBrowsingReportRequest::client_asn_size() const {
  return _internal_client_asn_size();
}
inline void ClientSafeBrowsingReportRequest::clear_client_asn() {
  _impl_.client_asn_.Clear();
}
inline std::string* ClientSafeBrowsingReportRequest::add_client_asn() {
  std::string* _s = _internal_add_client_asn();
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest::_internal_client_asn(int index) const {
  return _impl_.client_asn_.Get(index);
}
inline const std::string& ClientSafeBrowsingReportRequest::client_asn(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return _internal_client_asn(index);
}
inline std::string* ClientSafeBrowsingReportRequest::mutable_client_asn(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return _impl_.client_asn_.Mutable(index);
}
inline void ClientSafeBrowsingReportRequest::set_client_asn(int index, const std::string& value) {
  _impl_.client_asn_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
inline void ClientSafeBrowsingReportRequest::set_client_asn(int index, std::string&& value) {
  _impl_.client_asn_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
inline void ClientSafeBrowsingReportRequest::set_client_asn(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.client_asn_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
inline void ClientSafeBrowsingReportRequest::set_client_asn(int index, const char* value, size_t size) {
  _impl_.client_asn_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
inline std::string* ClientSafeBrowsingReportRequest::_internal_add_client_asn() {
  return _impl_.client_asn_.Add();
}
inline void ClientSafeBrowsingReportRequest::add_client_asn(const std::string& value) {
  _impl_.client_asn_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
inline void ClientSafeBrowsingReportRequest::add_client_asn(std::string&& value) {
  _impl_.client_asn_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
inline void ClientSafeBrowsingReportRequest::add_client_asn(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.client_asn_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
inline void ClientSafeBrowsingReportRequest::add_client_asn(const char* value, size_t size) {
  _impl_.client_asn_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ClientSafeBrowsingReportRequest::client_asn() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return _impl_.client_asn_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ClientSafeBrowsingReportRequest::mutable_client_asn() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return &_impl_.client_asn_;
}

// optional string client_country = 7;
inline bool ClientSafeBrowsingReportRequest::_internal_has_client_country() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_client_country() const {
  return _internal_has_client_country();
}
inline void ClientSafeBrowsingReportRequest::clear_client_country() {
  _impl_.client_country_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& ClientSafeBrowsingReportRequest::client_country() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
  return _internal_client_country();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest::set_client_country(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.client_country_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
}
inline std::string* ClientSafeBrowsingReportRequest::mutable_client_country() {
  std::string* _s = _internal_mutable_client_country();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest::_internal_client_country() const {
  return _impl_.client_country_.Get();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_client_country(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.client_country_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::_internal_mutable_client_country() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.client_country_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::release_client_country() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
  if (!_internal_has_client_country()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.client_country_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.client_country_.IsDefault()) {
    _impl_.client_country_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest::set_allocated_client_country(std::string* client_country) {
  if (client_country != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.client_country_.SetAllocated(client_country, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.client_country_.IsDefault()) {
    _impl_.client_country_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
}

// optional bool did_proceed = 8;
inline bool ClientSafeBrowsingReportRequest::_internal_has_did_proceed() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_did_proceed() const {
  return _internal_has_did_proceed();
}
inline void ClientSafeBrowsingReportRequest::clear_did_proceed() {
  _impl_.did_proceed_ = false;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline bool ClientSafeBrowsingReportRequest::_internal_did_proceed() const {
  return _impl_.did_proceed_;
}
inline bool ClientSafeBrowsingReportRequest::did_proceed() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.did_proceed)
  return _internal_did_proceed();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_did_proceed(bool value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.did_proceed_ = value;
}
inline void ClientSafeBrowsingReportRequest::set_did_proceed(bool value) {
  _internal_set_did_proceed(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.did_proceed)
}

// optional bool repeat_visit = 9;
inline bool ClientSafeBrowsingReportRequest::_internal_has_repeat_visit() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_repeat_visit() const {
  return _internal_has_repeat_visit();
}
inline void ClientSafeBrowsingReportRequest::clear_repeat_visit() {
  _impl_.repeat_visit_ = false;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline bool ClientSafeBrowsingReportRequest::_internal_repeat_visit() const {
  return _impl_.repeat_visit_;
}
inline bool ClientSafeBrowsingReportRequest::repeat_visit() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.repeat_visit)
  return _internal_repeat_visit();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_repeat_visit(bool value) {
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.repeat_visit_ = value;
}
inline void ClientSafeBrowsingReportRequest::set_repeat_visit(bool value) {
  _internal_set_repeat_visit(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.repeat_visit)
}

// optional bytes token = 15;
inline bool ClientSafeBrowsingReportRequest::_internal_has_token() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_token() const {
  return _internal_has_token();
}
inline void ClientSafeBrowsingReportRequest::clear_token() {
  _impl_.token_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const std::string& ClientSafeBrowsingReportRequest::token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.token)
  return _internal_token();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ClientSafeBrowsingReportRequest::set_token(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000010u;
 _impl_.token_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.token)
}
inline std::string* ClientSafeBrowsingReportRequest::mutable_token() {
  std::string* _s = _internal_mutable_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.token)
  return _s;
}
inline const std::string& ClientSafeBrowsingReportRequest::_internal_token() const {
  return _impl_.token_.Get();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_token(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.token_.Set(value, GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::_internal_mutable_token() {
  _impl_._has_bits_[0] |= 0x00000010u;
  return _impl_.token_.Mutable(GetArenaForAllocation());
}
inline std::string* ClientSafeBrowsingReportRequest::release_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.token)
  if (!_internal_has_token()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000010u;
  auto* p = _impl_.token_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ClientSafeBrowsingReportRequest::set_allocated_token(std::string* token) {
  if (token != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.token_.SetAllocated(token, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.token)
}

// optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
inline bool ClientSafeBrowsingReportRequest::_internal_has_client_properties() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.client_properties_ != nullptr);
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_client_properties() const {
  return _internal_has_client_properties();
}
inline void ClientSafeBrowsingReportRequest::clear_client_properties() {
  if (_impl_.client_properties_ != nullptr) _impl_.client_properties_->Clear();
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& ClientSafeBrowsingReportRequest::_internal_client_properties() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* p = _impl_.client_properties_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties&>(
      ::safe_browsing::_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);
}
inline const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& ClientSafeBrowsingReportRequest::client_properties() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
  return _internal_client_properties();
}
inline void ClientSafeBrowsingReportRequest::unsafe_arena_set_allocated_client_properties(
    ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.client_properties_);
  }
  _impl_.client_properties_ = client_properties;
  if (client_properties) {
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::release_client_properties() {
  _impl_._has_bits_[0] &= ~0x00000020u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* temp = _impl_.client_properties_;
  _impl_.client_properties_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::unsafe_arena_release_client_properties() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
  _impl_._has_bits_[0] &= ~0x00000020u;
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* temp = _impl_.client_properties_;
  _impl_.client_properties_ = nullptr;
  return temp;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::_internal_mutable_client_properties() {
  _impl_._has_bits_[0] |= 0x00000020u;
  if (_impl_.client_properties_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties>(GetArenaForAllocation());
    _impl_.client_properties_ = p;
  }
  return _impl_.client_properties_;
}
inline ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::mutable_client_properties() {
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* _msg = _internal_mutable_client_properties();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
  return _msg;
}
inline void ClientSafeBrowsingReportRequest::set_allocated_client_properties(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.client_properties_;
  }
  if (client_properties) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(client_properties);
    if (message_arena != submessage_arena) {
      client_properties = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, client_properties, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  _impl_.client_properties_ = client_properties;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
}

// optional bool show_download_in_folder = 18;
inline bool ClientSafeBrowsingReportRequest::_internal_has_show_download_in_folder() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool ClientSafeBrowsingReportRequest::has_show_download_in_folder() const {
  return _internal_has_show_download_in_folder();
}
inline void ClientSafeBrowsingReportRequest::clear_show_download_in_folder() {
  _impl_.show_download_in_folder_ = false;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline bool ClientSafeBrowsingReportRequest::_internal_show_download_in_folder() const {
  return _impl_.show_download_in_folder_;
}
inline bool ClientSafeBrowsingReportRequest::show_download_in_folder() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.show_download_in_folder)
  return _internal_show_download_in_folder();
}
inline void ClientSafeBrowsingReportRequest::_internal_set_show_download_in_folder(bool value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.show_download_in_folder_ = value;
}
inline void ClientSafeBrowsingReportRequest::set_show_download_in_folder(bool value) {
  _internal_set_show_download_in_folder(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.show_download_in_folder)
}

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

// HTMLElement_Attribute

// optional string name = 1;
inline bool HTMLElement_Attribute::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool HTMLElement_Attribute::has_name() const {
  return _internal_has_name();
}
inline void HTMLElement_Attribute::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& HTMLElement_Attribute::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.Attribute.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void HTMLElement_Attribute::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.Attribute.name)
}
inline std::string* HTMLElement_Attribute::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.Attribute.name)
  return _s;
}
inline const std::string& HTMLElement_Attribute::_internal_name() const {
  return _impl_.name_.Get();
}
inline void HTMLElement_Attribute::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* HTMLElement_Attribute::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* HTMLElement_Attribute::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.Attribute.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void HTMLElement_Attribute::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.Attribute.name)
}

// optional string value = 2;
inline bool HTMLElement_Attribute::_internal_has_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool HTMLElement_Attribute::has_value() const {
  return _internal_has_value();
}
inline void HTMLElement_Attribute::clear_value() {
  _impl_.value_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& HTMLElement_Attribute::value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.Attribute.value)
  return _internal_value();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void HTMLElement_Attribute::set_value(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.value_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.Attribute.value)
}
inline std::string* HTMLElement_Attribute::mutable_value() {
  std::string* _s = _internal_mutable_value();
  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.Attribute.value)
  return _s;
}
inline const std::string& HTMLElement_Attribute::_internal_value() const {
  return _impl_.value_.Get();
}
inline void HTMLElement_Attribute::_internal_set_value(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.value_.Set(value, GetArenaForAllocation());
}
inline std::string* HTMLElement_Attribute::_internal_mutable_value() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.value_.Mutable(GetArenaForAllocation());
}
inline std::string* HTMLElement_Attribute::release_value() {
  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.Attribute.value)
  if (!_internal_has_value()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.value_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void HTMLElement_Attribute::set_allocated_value(std::string* value) {
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.value_.SetAllocated(value, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.Attribute.value)
}

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

// HTMLElement

// optional int32 id = 1;
inline bool HTMLElement::_internal_has_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool HTMLElement::has_id() const {
  return _internal_has_id();
}
inline void HTMLElement::clear_id() {
  _impl_.id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline int32_t HTMLElement::_internal_id() const {
  return _impl_.id_;
}
inline int32_t HTMLElement::id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.id)
  return _internal_id();
}
inline void HTMLElement::_internal_set_id(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.id_ = value;
}
inline void HTMLElement::set_id(int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.id)
}

// optional string tag = 2;
inline bool HTMLElement::_internal_has_tag() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool HTMLElement::has_tag() const {
  return _internal_has_tag();
}
inline void HTMLElement::clear_tag() {
  _impl_.tag_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& HTMLElement::tag() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.tag)
  return _internal_tag();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void HTMLElement::set_tag(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.tag_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.tag)
}
inline std::string* HTMLElement::mutable_tag() {
  std::string* _s = _internal_mutable_tag();
  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.tag)
  return _s;
}
inline const std::string& HTMLElement::_internal_tag() const {
  return _impl_.tag_.Get();
}
inline void HTMLElement::_internal_set_tag(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.tag_.Set(value, GetArenaForAllocation());
}
inline std::string* HTMLElement::_internal_mutable_tag() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.tag_.Mutable(GetArenaForAllocation());
}
inline std::string* HTMLElement::release_tag() {
  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.tag)
  if (!_internal_has_tag()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.tag_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.tag_.IsDefault()) {
    _impl_.tag_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void HTMLElement::set_allocated_tag(std::string* tag) {
  if (tag != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.tag_.SetAllocated(tag, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.tag_.IsDefault()) {
    _impl_.tag_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.tag)
}

// repeated int32 child_ids = 3;
inline int HTMLElement::_internal_child_ids_size() const {
  return _impl_.child_ids_.size();
}
inline int HTMLElement::child_ids_size() const {
  return _internal_child_ids_size();
}
inline void HTMLElement::clear_child_ids() {
  _impl_.child_ids_.Clear();
}
inline int32_t HTMLElement::_internal_child_ids(int index) const {
  return _impl_.child_ids_.Get(index);
}
inline int32_t HTMLElement::child_ids(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.child_ids)
  return _internal_child_ids(index);
}
inline void HTMLElement::set_child_ids(int index, int32_t value) {
  _impl_.child_ids_.Set(index, value);
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.child_ids)
}
inline void HTMLElement::_internal_add_child_ids(int32_t value) {
  _impl_.child_ids_.Add(value);
}
inline void HTMLElement::add_child_ids(int32_t value) {
  _internal_add_child_ids(value);
  // @@protoc_insertion_point(field_add:safe_browsing.HTMLElement.child_ids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
HTMLElement::_internal_child_ids() const {
  return _impl_.child_ids_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
HTMLElement::child_ids() const {
  // @@protoc_insertion_point(field_list:safe_browsing.HTMLElement.child_ids)
  return _internal_child_ids();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
HTMLElement::_internal_mutable_child_ids() {
  return &_impl_.child_ids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
HTMLElement::mutable_child_ids() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.HTMLElement.child_ids)
  return _internal_mutable_child_ids();
}

// optional int32 resource_id = 5;
inline bool HTMLElement::_internal_has_resource_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool HTMLElement::has_resource_id() const {
  return _internal_has_resource_id();
}
inline void HTMLElement::clear_resource_id() {
  _impl_.resource_id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline int32_t HTMLElement::_internal_resource_id() const {
  return _impl_.resource_id_;
}
inline int32_t HTMLElement::resource_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.resource_id)
  return _internal_resource_id();
}
inline void HTMLElement::_internal_set_resource_id(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.resource_id_ = value;
}
inline void HTMLElement::set_resource_id(int32_t value) {
  _internal_set_resource_id(value);
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.resource_id)
}

// repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
inline int HTMLElement::_internal_attribute_size() const {
  return _impl_.attribute_.size();
}
inline int HTMLElement::attribute_size() const {
  return _internal_attribute_size();
}
inline void HTMLElement::clear_attribute() {
  _impl_.attribute_.Clear();
}
inline ::safe_browsing::HTMLElement_Attribute* HTMLElement::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.attribute)
  return _impl_.attribute_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >*
HTMLElement::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.HTMLElement.attribute)
  return &_impl_.attribute_;
}
inline const ::safe_browsing::HTMLElement_Attribute& HTMLElement::_internal_attribute(int index) const {
  return _impl_.attribute_.Get(index);
}
inline const ::safe_browsing::HTMLElement_Attribute& HTMLElement::attribute(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.attribute)
  return _internal_attribute(index);
}
inline ::safe_browsing::HTMLElement_Attribute* HTMLElement::_internal_add_attribute() {
  return _impl_.attribute_.Add();
}
inline ::safe_browsing::HTMLElement_Attribute* HTMLElement::add_attribute() {
  ::safe_browsing::HTMLElement_Attribute* _add = _internal_add_attribute();
  // @@protoc_insertion_point(field_add:safe_browsing.HTMLElement.attribute)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >&
HTMLElement::attribute() const {
  // @@protoc_insertion_point(field_list:safe_browsing.HTMLElement.attribute)
  return _impl_.attribute_;
}

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

// ImageData_Dimensions

// optional int32 width = 1;
inline bool ImageData_Dimensions::_internal_has_width() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ImageData_Dimensions::has_width() const {
  return _internal_has_width();
}
inline void ImageData_Dimensions::clear_width() {
  _impl_.width_ = 0;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline int32_t ImageData_Dimensions::_internal_width() const {
  return _impl_.width_;
}
inline int32_t ImageData_Dimensions::width() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.Dimensions.width)
  return _internal_width();
}
inline void ImageData_Dimensions::_internal_set_width(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.width_ = value;
}
inline void ImageData_Dimensions::set_width(int32_t value) {
  _internal_set_width(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.Dimensions.width)
}

// optional int32 height = 2;
inline bool ImageData_Dimensions::_internal_has_height() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ImageData_Dimensions::has_height() const {
  return _internal_has_height();
}
inline void ImageData_Dimensions::clear_height() {
  _impl_.height_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline int32_t ImageData_Dimensions::_internal_height() const {
  return _impl_.height_;
}
inline int32_t ImageData_Dimensions::height() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.Dimensions.height)
  return _internal_height();
}
inline void ImageData_Dimensions::_internal_set_height(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.height_ = value;
}
inline void ImageData_Dimensions::set_height(int32_t value) {
  _internal_set_height(value);
  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.Dimensions.height)
}

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

// ImageData

// optional bytes data = 1;
inline bool ImageData::_internal_has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ImageData::has_data() const {
  return _internal_has_data();
}
inline void ImageData::clear_data() {
  _impl_.data_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ImageData::data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.data)
  return _internal_data();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ImageData::set_data(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.data_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.data)
}
inline std::string* ImageData::mutable_data() {
  std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.data)
  return _s;
}
inline const std::string& ImageData::_internal_data() const {
  return _impl_.data_.Get();
}
inline void ImageData::_internal_set_data(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.data_.Set(value, GetArenaForAllocation());
}
inline std::string* ImageData::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.data_.Mutable(GetArenaForAllocation());
}
inline std::string* ImageData::release_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.data)
  if (!_internal_has_data()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.data_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ImageData::set_allocated_data(std::string* data) {
  if (data != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.data_.SetAllocated(data, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.data)
}

// optional string mime_type = 2;
inline bool ImageData::_internal_has_mime_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ImageData::has_mime_type() const {
  return _internal_has_mime_type();
}
inline void ImageData::clear_mime_type() {
  _impl_.mime_type_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ImageData::mime_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.mime_type)
  return _internal_mime_type();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ImageData::set_mime_type(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.mime_type_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.mime_type)
}
inline std::string* ImageData::mutable_mime_type() {
  std::string* _s = _internal_mutable_mime_type();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.mime_type)
  return _s;
}
inline const std::string& ImageData::_internal_mime_type() const {
  return _impl_.mime_type_.Get();
}
inline void ImageData::_internal_set_mime_type(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.mime_type_.Set(value, GetArenaForAllocation());
}
inline std::string* ImageData::_internal_mutable_mime_type() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.mime_type_.Mutable(GetArenaForAllocation());
}
inline std::string* ImageData::release_mime_type() {
  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.mime_type)
  if (!_internal_has_mime_type()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.mime_type_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.mime_type_.IsDefault()) {
    _impl_.mime_type_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ImageData::set_allocated_mime_type(std::string* mime_type) {
  if (mime_type != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.mime_type_.SetAllocated(mime_type, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.mime_type_.IsDefault()) {
    _impl_.mime_type_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.mime_type)
}

// optional .safe_browsing.ImageData.Dimensions dimensions = 3;
inline bool ImageData::_internal_has_dimensions() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.dimensions_ != nullptr);
  return value;
}
inline bool ImageData::has_dimensions() const {
  return _internal_has_dimensions();
}
inline void ImageData::clear_dimensions() {
  if (_impl_.dimensions_ != nullptr) _impl_.dimensions_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::safe_browsing::ImageData_Dimensions& ImageData::_internal_dimensions() const {
  const ::safe_browsing::ImageData_Dimensions* p = _impl_.dimensions_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ImageData_Dimensions&>(
      ::safe_browsing::_ImageData_Dimensions_default_instance_);
}
inline const ::safe_browsing::ImageData_Dimensions& ImageData::dimensions() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.dimensions)
  return _internal_dimensions();
}
inline void ImageData::unsafe_arena_set_allocated_dimensions(
    ::safe_browsing::ImageData_Dimensions* dimensions) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.dimensions_);
  }
  _impl_.dimensions_ = dimensions;
  if (dimensions) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ImageData.dimensions)
}
inline ::safe_browsing::ImageData_Dimensions* ImageData::release_dimensions() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ImageData_Dimensions* temp = _impl_.dimensions_;
  _impl_.dimensions_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ImageData_Dimensions* ImageData::unsafe_arena_release_dimensions() {
  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.dimensions)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::safe_browsing::ImageData_Dimensions* temp = _impl_.dimensions_;
  _impl_.dimensions_ = nullptr;
  return temp;
}
inline ::safe_browsing::ImageData_Dimensions* ImageData::_internal_mutable_dimensions() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.dimensions_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ImageData_Dimensions>(GetArenaForAllocation());
    _impl_.dimensions_ = p;
  }
  return _impl_.dimensions_;
}
inline ::safe_browsing::ImageData_Dimensions* ImageData::mutable_dimensions() {
  ::safe_browsing::ImageData_Dimensions* _msg = _internal_mutable_dimensions();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.dimensions)
  return _msg;
}
inline void ImageData::set_allocated_dimensions(::safe_browsing::ImageData_Dimensions* dimensions) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.dimensions_;
  }
  if (dimensions) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(dimensions);
    if (message_arena != submessage_arena) {
      dimensions = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, dimensions, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.dimensions_ = dimensions;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.dimensions)
}

// optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
inline bool ImageData::_internal_has_original_dimensions() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.original_dimensions_ != nullptr);
  return value;
}
inline bool ImageData::has_original_dimensions() const {
  return _internal_has_original_dimensions();
}
inline void ImageData::clear_original_dimensions() {
  if (_impl_.original_dimensions_ != nullptr) _impl_.original_dimensions_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::safe_browsing::ImageData_Dimensions& ImageData::_internal_original_dimensions() const {
  const ::safe_browsing::ImageData_Dimensions* p = _impl_.original_dimensions_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ImageData_Dimensions&>(
      ::safe_browsing::_ImageData_Dimensions_default_instance_);
}
inline const ::safe_browsing::ImageData_Dimensions& ImageData::original_dimensions() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.original_dimensions)
  return _internal_original_dimensions();
}
inline void ImageData::unsafe_arena_set_allocated_original_dimensions(
    ::safe_browsing::ImageData_Dimensions* original_dimensions) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.original_dimensions_);
  }
  _impl_.original_dimensions_ = original_dimensions;
  if (original_dimensions) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.ImageData.original_dimensions)
}
inline ::safe_browsing::ImageData_Dimensions* ImageData::release_original_dimensions() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ImageData_Dimensions* temp = _impl_.original_dimensions_;
  _impl_.original_dimensions_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ImageData_Dimensions* ImageData::unsafe_arena_release_original_dimensions() {
  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.original_dimensions)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::safe_browsing::ImageData_Dimensions* temp = _impl_.original_dimensions_;
  _impl_.original_dimensions_ = nullptr;
  return temp;
}
inline ::safe_browsing::ImageData_Dimensions* ImageData::_internal_mutable_original_dimensions() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.original_dimensions_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ImageData_Dimensions>(GetArenaForAllocation());
    _impl_.original_dimensions_ = p;
  }
  return _impl_.original_dimensions_;
}
inline ::safe_browsing::ImageData_Dimensions* ImageData::mutable_original_dimensions() {
  ::safe_browsing::ImageData_Dimensions* _msg = _internal_mutable_original_dimensions();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.original_dimensions)
  return _msg;
}
inline void ImageData::set_allocated_original_dimensions(::safe_browsing::ImageData_Dimensions* original_dimensions) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.original_dimensions_;
  }
  if (original_dimensions) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(original_dimensions);
    if (message_arena != submessage_arena) {
      original_dimensions = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, original_dimensions, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.original_dimensions_ = original_dimensions;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.original_dimensions)
}

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

// NotificationImageReportRequest

// optional string notification_origin = 1;
inline bool NotificationImageReportRequest::_internal_has_notification_origin() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool NotificationImageReportRequest::has_notification_origin() const {
  return _internal_has_notification_origin();
}
inline void NotificationImageReportRequest::clear_notification_origin() {
  _impl_.notification_origin_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& NotificationImageReportRequest::notification_origin() const {
  // @@protoc_insertion_point(field_get:safe_browsing.NotificationImageReportRequest.notification_origin)
  return _internal_notification_origin();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void NotificationImageReportRequest::set_notification_origin(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.notification_origin_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:safe_browsing.NotificationImageReportRequest.notification_origin)
}
inline std::string* NotificationImageReportRequest::mutable_notification_origin() {
  std::string* _s = _internal_mutable_notification_origin();
  // @@protoc_insertion_point(field_mutable:safe_browsing.NotificationImageReportRequest.notification_origin)
  return _s;
}
inline const std::string& NotificationImageReportRequest::_internal_notification_origin() const {
  return _impl_.notification_origin_.Get();
}
inline void NotificationImageReportRequest::_internal_set_notification_origin(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.notification_origin_.Set(value, GetArenaForAllocation());
}
inline std::string* NotificationImageReportRequest::_internal_mutable_notification_origin() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.notification_origin_.Mutable(GetArenaForAllocation());
}
inline std::string* NotificationImageReportRequest::release_notification_origin() {
  // @@protoc_insertion_point(field_release:safe_browsing.NotificationImageReportRequest.notification_origin)
  if (!_internal_has_notification_origin()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.notification_origin_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.notification_origin_.IsDefault()) {
    _impl_.notification_origin_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void NotificationImageReportRequest::set_allocated_notification_origin(std::string* notification_origin) {
  if (notification_origin != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.notification_origin_.SetAllocated(notification_origin, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.notification_origin_.IsDefault()) {
    _impl_.notification_origin_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.NotificationImageReportRequest.notification_origin)
}

// optional .safe_browsing.ImageData image = 2;
inline bool NotificationImageReportRequest::_internal_has_image() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.image_ != nullptr);
  return value;
}
inline bool NotificationImageReportRequest::has_image() const {
  return _internal_has_image();
}
inline void NotificationImageReportRequest::clear_image() {
  if (_impl_.image_ != nullptr) _impl_.image_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::safe_browsing::ImageData& NotificationImageReportRequest::_internal_image() const {
  const ::safe_browsing::ImageData* p = _impl_.image_;
  return p != nullptr ? *p : reinterpret_cast<const ::safe_browsing::ImageData&>(
      ::safe_browsing::_ImageData_default_instance_);
}
inline const ::safe_browsing::ImageData& NotificationImageReportRequest::image() const {
  // @@protoc_insertion_point(field_get:safe_browsing.NotificationImageReportRequest.image)
  return _internal_image();
}
inline void NotificationImageReportRequest::unsafe_arena_set_allocated_image(
    ::safe_browsing::ImageData* image) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.image_);
  }
  _impl_.image_ = image;
  if (image) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:safe_browsing.NotificationImageReportRequest.image)
}
inline ::safe_browsing::ImageData* NotificationImageReportRequest::release_image() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ImageData* temp = _impl_.image_;
  _impl_.image_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::safe_browsing::ImageData* NotificationImageReportRequest::unsafe_arena_release_image() {
  // @@protoc_insertion_point(field_release:safe_browsing.NotificationImageReportRequest.image)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::safe_browsing::ImageData* temp = _impl_.image_;
  _impl_.image_ = nullptr;
  return temp;
}
inline ::safe_browsing::ImageData* NotificationImageReportRequest::_internal_mutable_image() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.image_ == nullptr) {
    auto* p = CreateMaybeMessage<::safe_browsing::ImageData>(GetArenaForAllocation());
    _impl_.image_ = p;
  }
  return _impl_.image_;
}
inline ::safe_browsing::ImageData* NotificationImageReportRequest::mutable_image() {
  ::safe_browsing::ImageData* _msg = _internal_mutable_image();
  // @@protoc_insertion_point(field_mutable:safe_browsing.NotificationImageReportRequest.image)
  return _msg;
}
inline void NotificationImageReportRequest::set_allocated_image(::safe_browsing::ImageData* image) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.image_;
  }
  if (image) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(image);
    if (message_arena != submessage_arena) {
      image = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, image, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.image_ = image;
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.NotificationImageReportRequest.image)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace safe_browsing

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::safe_browsing::ChromeUserPopulation_UserPopulation> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::LoginReputationClientRequest_TriggerType> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::LoginReputationClientResponse_VerdictType> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientDownloadRequest_ResourceType> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientDownloadRequest_DownloadType> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ReferrerChainEntry_URLType> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientDownloadResponse_Verdict> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientDownloadReport_Reason> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientUploadResponse_UploadStatus> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType> : ::std::true_type {};
template <> struct is_proto_enum< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType> : ::std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

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