Bug 1411861 - Regenerate csd.pb.cc & csd.pb.h. r?francois draft
authorDimiL <dlee@mozilla.com>
Fri, 27 Oct 2017 11:21:03 +0800
changeset 689119 1b96948ca594459353c5217e7efe0b2ebbaaa477
parent 689117 c96239d9fea06309c3ff425354e544e4e9c3916c
child 738221 0b88e55454360b10d7c93d57e9099ddff9aa1af2
push id86914
push userbmo:dlee@mozilla.com
push dateTue, 31 Oct 2017 01:51:09 +0000
reviewersfrancois
bugs1411861
milestone58.0a1
Bug 1411861 - Regenerate csd.pb.cc & csd.pb.h. r?francois MozReview-Commit-ID: DPxpodKUPhW
toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.cc
toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.h
--- a/toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.cc
+++ b/toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.cc
@@ -40,16 +40,41 @@ public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareRequest_UrlInfo>
      _instance;
 } _ClientMalwareRequest_UrlInfo_default_instance_;
 class ClientMalwareRequestDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareRequest>
      _instance;
 } _ClientMalwareRequest_default_instance_;
+class LoginReputationClientRequest_Frame_FormDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_Frame_Form>
+     _instance;
+} _LoginReputationClientRequest_Frame_Form_default_instance_;
+class LoginReputationClientRequest_FrameDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_Frame>
+     _instance;
+} _LoginReputationClientRequest_Frame_default_instance_;
+class LoginReputationClientRequest_PasswordReuseEventDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_PasswordReuseEvent>
+     _instance;
+} _LoginReputationClientRequest_PasswordReuseEvent_default_instance_;
+class LoginReputationClientRequestDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest>
+     _instance;
+} _LoginReputationClientRequest_default_instance_;
+class LoginReputationClientResponseDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientResponse>
+     _instance;
+} _LoginReputationClientResponse_default_instance_;
 class ClientMalwareResponseDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareResponse>
      _instance;
 } _ClientMalwareResponse_default_instance_;
 class ClientDownloadRequest_DigestsDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_Digests>
@@ -105,26 +130,31 @@ public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_ImageHeaders>
      _instance;
 } _ClientDownloadRequest_ImageHeaders_default_instance_;
 class ClientDownloadRequest_ArchivedBinaryDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_ArchivedBinary>
      _instance;
 } _ClientDownloadRequest_ArchivedBinary_default_instance_;
-class ClientDownloadRequest_URLChainEntryDefaultTypeInternal {
-public:
- ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_URLChainEntry>
-     _instance;
-} _ClientDownloadRequest_URLChainEntry_default_instance_;
 class ClientDownloadRequestDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest>
      _instance;
 } _ClientDownloadRequest_default_instance_;
+class ReferrerChainEntry_ServerRedirectDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ReferrerChainEntry_ServerRedirect>
+     _instance;
+} _ReferrerChainEntry_ServerRedirect_default_instance_;
+class ReferrerChainEntryDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ReferrerChainEntry>
+     _instance;
+} _ReferrerChainEntry_default_instance_;
 class ClientDownloadResponse_MoreInfoDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadResponse_MoreInfo>
      _instance;
 } _ClientDownloadResponse_MoreInfo_default_instance_;
 class ClientDownloadResponseDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadResponse>
@@ -155,36 +185,21 @@ public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile>
      _instance;
 } _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_;
 class ClientIncidentReport_IncidentData_BinaryIntegrityIncidentDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_BinaryIntegrityIncident>
      _instance;
 } _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_;
-class ClientIncidentReport_IncidentData_BlacklistLoadIncidentDefaultTypeInternal {
-public:
- ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_BlacklistLoadIncident>
-     _instance;
-} _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_;
-class ClientIncidentReport_IncidentData_VariationsSeedSignatureIncidentDefaultTypeInternal {
-public:
- ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident>
-     _instance;
-} _ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_;
 class ClientIncidentReport_IncidentData_ResourceRequestIncidentDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_ResourceRequestIncident>
      _instance;
 } _ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_;
-class ClientIncidentReport_IncidentData_SuspiciousModuleIncidentDefaultTypeInternal {
-public:
- ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_SuspiciousModuleIncident>
-     _instance;
-} _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_;
 class ClientIncidentReport_IncidentDataDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData>
      _instance;
 } _ClientIncidentReport_IncidentData_default_instance_;
 class ClientIncidentReport_DownloadDetailsDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_DownloadDetails>
@@ -305,21 +320,51 @@ public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_HTTPResponse>
      _instance;
 } _ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_;
 class ClientSafeBrowsingReportRequest_ResourceDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_Resource>
      _instance;
 } _ClientSafeBrowsingReportRequest_Resource_default_instance_;
+class ClientSafeBrowsingReportRequest_SafeBrowsingClientPropertiesDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties>
+     _instance;
+} _ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_;
 class ClientSafeBrowsingReportRequestDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest>
      _instance;
 } _ClientSafeBrowsingReportRequest_default_instance_;
+class HTMLElement_AttributeDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<HTMLElement_Attribute>
+     _instance;
+} _HTMLElement_Attribute_default_instance_;
+class HTMLElementDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<HTMLElement>
+     _instance;
+} _HTMLElement_default_instance_;
+class ImageData_DimensionsDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ImageData_Dimensions>
+     _instance;
+} _ImageData_Dimensions_default_instance_;
+class ImageDataDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ImageData>
+     _instance;
+} _ImageData_default_instance_;
+class NotificationImageReportRequestDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<NotificationImageReportRequest>
+     _instance;
+} _NotificationImageReportRequest_default_instance_;
 
 namespace protobuf_csd_2eproto {
 
 PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
     const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
   {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
 };
 
@@ -384,16 +429,25 @@ PROTOBUF_CONSTEXPR_VAR ::google::protobu
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
   { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
 };
 
 void TableStruct::InitDefaultsImpl() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
   ::google::protobuf::internal::InitProtobufDefaults();
   _ChromeUserPopulation_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
@@ -402,17 +456,27 @@ void TableStruct::InitDefaultsImpl() {
       &_ClientPhishingRequest_Feature_default_instance_);_ClientPhishingRequest_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientPhishingRequest_default_instance_);_ClientPhishingResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientPhishingResponse_default_instance_);_ClientMalwareRequest_UrlInfo_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientMalwareRequest_UrlInfo_default_instance_);_ClientMalwareRequest_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientMalwareRequest_default_instance_);_ClientMalwareResponse_default_instance_._instance.DefaultConstruct();
+      &_ClientMalwareRequest_default_instance_);_LoginReputationClientRequest_Frame_Form_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientRequest_Frame_Form_default_instance_);_LoginReputationClientRequest_Frame_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientRequest_Frame_default_instance_);_LoginReputationClientRequest_PasswordReuseEvent_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);_LoginReputationClientRequest_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientRequest_default_instance_);_LoginReputationClientResponse_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_LoginReputationClientResponse_default_instance_);_ClientMalwareResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientMalwareResponse_default_instance_);_ClientDownloadRequest_Digests_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_Digests_default_instance_);_ClientDownloadRequest_Resource_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_Resource_default_instance_);_ClientDownloadRequest_CertificateChain_Element_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_CertificateChain_Element_default_instance_);_ClientDownloadRequest_CertificateChain_default_instance_._instance.DefaultConstruct();
@@ -428,45 +492,41 @@ void TableStruct::InitDefaultsImpl() {
       &_ClientDownloadRequest_PEImageHeaders_default_instance_);_ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_);_ClientDownloadRequest_MachOHeaders_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_MachOHeaders_default_instance_);_ClientDownloadRequest_ImageHeaders_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadRequest_ImageHeaders_default_instance_);_ClientDownloadRequest_ArchivedBinary_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientDownloadRequest_ArchivedBinary_default_instance_);_ClientDownloadRequest_URLChainEntry_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientDownloadRequest_URLChainEntry_default_instance_);_ClientDownloadRequest_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientDownloadRequest_default_instance_);_ClientDownloadResponse_MoreInfo_default_instance_._instance.DefaultConstruct();
+      &_ClientDownloadRequest_ArchivedBinary_default_instance_);_ClientDownloadRequest_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ClientDownloadRequest_default_instance_);_ReferrerChainEntry_ServerRedirect_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ReferrerChainEntry_ServerRedirect_default_instance_);_ReferrerChainEntry_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ReferrerChainEntry_default_instance_);_ClientDownloadResponse_MoreInfo_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadResponse_MoreInfo_default_instance_);_ClientDownloadResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadResponse_default_instance_);_ClientDownloadReport_UserInformation_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadReport_UserInformation_default_instance_);_ClientDownloadReport_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientDownloadReport_default_instance_);_ClientUploadResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientUploadResponse_default_instance_);_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_);_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_);_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);_ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_);_ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_);_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);_ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_);_ClientIncidentReport_IncidentData_default_instance_._instance.DefaultConstruct();
+      &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);_ClientIncidentReport_IncidentData_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_IncidentData_default_instance_);_ClientIncidentReport_DownloadDetails_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_DownloadDetails_default_instance_);_ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_);_ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_);_ClientIncidentReport_EnvironmentData_OS_default_instance_._instance.DefaultConstruct();
@@ -508,22 +568,38 @@ void TableStruct::InitDefaultsImpl() {
       &_ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_);_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_);_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_);_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
       &_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_);_ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.DefaultConstruct();
   ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientSafeBrowsingReportRequest_Resource_default_instance_);_ClientSafeBrowsingReportRequest_default_instance_._instance.DefaultConstruct();
-  ::google::protobuf::internal::OnShutdownDestroyMessage(
-      &_ClientSafeBrowsingReportRequest_default_instance_);_ClientPhishingRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
+      &_ClientSafeBrowsingReportRequest_Resource_default_instance_);_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);_ClientSafeBrowsingReportRequest_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ClientSafeBrowsingReportRequest_default_instance_);_HTMLElement_Attribute_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_HTMLElement_Attribute_default_instance_);_HTMLElement_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_HTMLElement_default_instance_);_ImageData_Dimensions_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ImageData_Dimensions_default_instance_);_ImageData_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_ImageData_default_instance_);_NotificationImageReportRequest_default_instance_._instance.DefaultConstruct();
+  ::google::protobuf::internal::OnShutdownDestroyMessage(
+      &_NotificationImageReportRequest_default_instance_);_ClientPhishingRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
       ::safe_browsing::ChromeUserPopulation::internal_default_instance());
   _ClientMalwareRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
       ::safe_browsing::ChromeUserPopulation::internal_default_instance());
+  _LoginReputationClientRequest_default_instance_._instance.get_mutable()->password_reuse_event_ = const_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent*>(
+      ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::internal_default_instance());
+  _LoginReputationClientRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
+      ::safe_browsing::ChromeUserPopulation::internal_default_instance());
   _ClientDownloadRequest_ImageHeaders_default_instance_._instance.get_mutable()->pe_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_PEImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_PEImageHeaders::internal_default_instance());
   _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->digests_ = const_cast< ::safe_browsing::ClientDownloadRequest_Digests*>(
       ::safe_browsing::ClientDownloadRequest_Digests::internal_default_instance());
   _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
       ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
   _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
@@ -546,40 +622,22 @@ void TableStruct::InitDefaultsImpl() {
   _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
       ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
   _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
   _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
       ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
   _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
-  _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_._instance.get_mutable()->digest_ = const_cast< ::safe_browsing::ClientDownloadRequest_Digests*>(
-      ::safe_browsing::ClientDownloadRequest_Digests::internal_default_instance());
-  _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
-  _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
-  _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_._instance.get_mutable()->digest_ = const_cast< ::safe_browsing::ClientDownloadRequest_Digests*>(
-      ::safe_browsing::ClientDownloadRequest_Digests::internal_default_instance());
-  _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
-  _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
   _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->tracked_preference_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident*>(
       ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::internal_default_instance());
   _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->binary_integrity_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident*>(
       ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::internal_default_instance());
-  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->blacklist_load_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident*>(
-      ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::internal_default_instance());
-  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->variations_seed_signature_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*>(
-      ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::internal_default_instance());
   _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->resource_request_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident*>(
       ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::internal_default_instance());
-  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->suspicious_module_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident*>(
-      ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::internal_default_instance());
   _ClientIncidentReport_DownloadDetails_default_instance_._instance.get_mutable()->download_ = const_cast< ::safe_browsing::ClientDownloadRequest*>(
       ::safe_browsing::ClientDownloadRequest::internal_default_instance());
   _ClientIncidentReport_EnvironmentData_Process_Dll_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
       ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
   _ClientIncidentReport_EnvironmentData_default_instance_._instance.get_mutable()->os_ = const_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS*>(
       ::safe_browsing::ClientIncidentReport_EnvironmentData_OS::internal_default_instance());
   _ClientIncidentReport_EnvironmentData_default_instance_._instance.get_mutable()->machine_ = const_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine*>(
       ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine::internal_default_instance());
@@ -602,16 +660,24 @@ void TableStruct::InitDefaultsImpl() {
   _ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_._instance.get_mutable()->firstline_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine*>(
       ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::internal_default_instance());
   _ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_._instance.get_mutable()->firstline_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine*>(
       ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::internal_default_instance());
   _ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.get_mutable()->request_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest*>(
       ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest::internal_default_instance());
   _ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.get_mutable()->response_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse*>(
       ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse::internal_default_instance());
+  _ClientSafeBrowsingReportRequest_default_instance_._instance.get_mutable()->client_properties_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(
+      ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::internal_default_instance());
+  _ImageData_default_instance_._instance.get_mutable()->dimensions_ = const_cast< ::safe_browsing::ImageData_Dimensions*>(
+      ::safe_browsing::ImageData_Dimensions::internal_default_instance());
+  _ImageData_default_instance_._instance.get_mutable()->original_dimensions_ = const_cast< ::safe_browsing::ImageData_Dimensions*>(
+      ::safe_browsing::ImageData_Dimensions::internal_default_instance());
+  _NotificationImageReportRequest_default_instance_._instance.get_mutable()->image_ = const_cast< ::safe_browsing::ImageData*>(
+      ::safe_browsing::ImageData::internal_default_instance());
 }
 
 void InitDefaults() {
   static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
   ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
 }
 namespace {
 void AddDescriptorsImpl() {
@@ -640,40 +706,74 @@ bool ChromeUserPopulation_UserPopulation
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UNKNOWN_USER_POPULATION;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::SAFE_BROWSING;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::EXTENDED_REPORTING;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UserPopulation_MIN;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UserPopulation_MAX;
 const int ChromeUserPopulation::UserPopulation_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-bool ClientDownloadRequest_URLChainEntry_URLType_IsValid(int value) {
+bool LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(int value) {
   switch (value) {
+    case 0:
     case 1:
     case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
+      return true;
+    default:
+      return false;
+  }
+}
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::NOT_SIGNED_IN;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::GMAIL;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::GSUITE;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_MIN;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_MAX;
+const int LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_ARRAYSIZE;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+bool LoginReputationClientRequest_TriggerType_IsValid(int value) {
+  switch (value) {
+    case 0:
+    case 1:
+    case 2:
       return true;
     default:
       return false;
   }
 }
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::DOWNLOAD_URL;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::DOWNLOAD_REFERRER;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::LANDING_PAGE;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::LANDING_REFERRER;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::CLIENT_REDIRECT;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::SERVER_REDIRECT;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::URLType_MIN;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::URLType_MAX;
-const int ClientDownloadRequest_URLChainEntry::URLType_ARRAYSIZE;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TRIGGER_TYPE_UNSPECIFIED;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::UNFAMILIAR_LOGIN_PAGE;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::PASSWORD_REUSE_EVENT;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TriggerType_MIN;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TriggerType_MAX;
+const int LoginReputationClientRequest::TriggerType_ARRAYSIZE;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+bool LoginReputationClientResponse_VerdictType_IsValid(int value) {
+  switch (value) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+      return true;
+    default:
+      return false;
+  }
+}
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VERDICT_TYPE_UNSPECIFIED;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::SAFE;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::LOW_REPUTATION;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::PHISHING;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VerdictType_MIN;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VerdictType_MAX;
+const int LoginReputationClientResponse::VerdictType_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 bool ClientDownloadRequest_ResourceType_IsValid(int value) {
   switch (value) {
     case 0:
     case 1:
     case 2:
     case 3:
     case 4:
@@ -725,16 +825,39 @@ const ClientDownloadRequest_DownloadType
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::INVALID_ZIP;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::INVALID_MAC_ARCHIVE;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::PPAPI_SAVE_REQUEST;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::SAMPLED_UNSUPPORTED_FILE;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::DownloadType_MIN;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest::DownloadType_MAX;
 const int ClientDownloadRequest::DownloadType_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+bool ReferrerChainEntry_URLType_IsValid(int value) {
+  switch (value) {
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+      return true;
+    default:
+      return false;
+  }
+}
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const ReferrerChainEntry_URLType ReferrerChainEntry::EVENT_URL;
+const ReferrerChainEntry_URLType ReferrerChainEntry::LANDING_PAGE;
+const ReferrerChainEntry_URLType ReferrerChainEntry::LANDING_REFERRER;
+const ReferrerChainEntry_URLType ReferrerChainEntry::CLIENT_REDIRECT;
+const ReferrerChainEntry_URLType ReferrerChainEntry::DEPRECATED_SERVER_REDIRECT;
+const ReferrerChainEntry_URLType ReferrerChainEntry::URLType_MIN;
+const ReferrerChainEntry_URLType ReferrerChainEntry::URLType_MAX;
+const int ReferrerChainEntry::URLType_ARRAYSIZE;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 bool ClientDownloadResponse_Verdict_IsValid(int value) {
   switch (value) {
     case 0:
     case 1:
     case 2:
     case 3:
     case 4:
     case 5:
@@ -793,28 +916,32 @@ const int ClientUploadResponse::UploadSt
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(int value) {
   switch (value) {
     case 0:
     case 1:
     case 2:
     case 3:
     case 4:
+    case 5:
+    case 6:
       return true;
     default:
       return false;
   }
 }
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::UNKNOWN;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::CLEARED;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::WEAK_LEGACY_OBSOLETE;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::CHANGED;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::UNTRUSTED_UNKNOWN_VALUE;
+const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::BYPASS_CLEARED;
+const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::BYPASS_CHANGED;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_MIN;
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_MAX;
 const int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 bool ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(int value) {
   switch (value) {
     case 0:
     case 3:
@@ -923,64 +1050,100 @@ bool ClientSafeBrowsingReportRequest_Rep
     case 1:
     case 2:
     case 3:
     case 4:
     case 5:
     case 6:
     case 7:
     case 10:
+    case 12:
+    case 13:
+    case 14:
       return true;
     default:
       return false;
   }
 }
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::UNKNOWN;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_PHISHING;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_MALWARE;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_UNWANTED;
-const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::CLIENT_SIDE_PHISHING_URL;
-const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::CLIENT_SIDE_MALWARE_URL;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_CLIENT_SIDE_PHISHING;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_CLIENT_SIDE_MALWARE;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_RECOVERY;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_WARNING;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_BY_API;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_PASSWORD_PROTECTION_PHISHING;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_OPENED;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::AD_SAMPLE;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::ReportType_MIN;
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::ReportType_MAX;
 const int ClientSafeBrowsingReportRequest::ReportType_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+bool ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(int value) {
+  switch (value) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+      return true;
+    default:
+      return false;
+  }
+}
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::PVER3_NATIVE;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::PVER4_NATIVE;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::ANDROID_SAFETYNET;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::FLYWHEEL;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_MIN;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_MAX;
+const int ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_ARRAYSIZE;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ChromeUserPopulation::kUserPopulationFieldNumber;
+const int ChromeUserPopulation::kIsHistorySyncEnabledFieldNumber;
+const int ChromeUserPopulation::kFinchActiveGroupsFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ChromeUserPopulation::ChromeUserPopulation()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:safe_browsing.ChromeUserPopulation)
 }
 ChromeUserPopulation::ChromeUserPopulation(const ChromeUserPopulation& from)
   : ::google::protobuf::MessageLite(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  user_population_ = from.user_population_;
+      _cached_size_(0),
+      finch_active_groups_(from.finch_active_groups_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::memcpy(&user_population_, &from.user_population_,
+    static_cast<size_t>(reinterpret_cast<char*>(&is_history_sync_enabled_) -
+    reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ChromeUserPopulation)
 }
 
 void ChromeUserPopulation::SharedCtor() {
   _cached_size_ = 0;
-  user_population_ = 0;
+  ::memset(&user_population_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&is_history_sync_enabled_) -
+      reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
 }
 
 ChromeUserPopulation::~ChromeUserPopulation() {
   // @@protoc_insertion_point(destructor:safe_browsing.ChromeUserPopulation)
   SharedDtor();
 }
 
 void ChromeUserPopulation::SharedDtor() {
@@ -1005,17 +1168,23 @@ ChromeUserPopulation* ChromeUserPopulati
 }
 
 void ChromeUserPopulation::Clear() {
 // @@protoc_insertion_point(message_clear_start:safe_browsing.ChromeUserPopulation)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
-  user_population_ = 0;
+  finch_active_groups_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 3u) {
+    ::memset(&user_population_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&is_history_sync_enabled_) -
+        reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
+  }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ChromeUserPopulation::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
@@ -1047,16 +1216,42 @@ bool ChromeUserPopulation::MergePartialF
                 static_cast< ::google::protobuf::uint32>(value));
           }
         } else {
           goto handle_unusual;
         }
         break;
       }
 
+      // optional bool is_history_sync_enabled = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_is_history_sync_enabled();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &is_history_sync_enabled_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated string finch_active_groups = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->add_finch_active_groups()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
           goto success;
         }
         DO_(::google::protobuf::internal::WireFormatLite::SkipField(
             input, tag, &unknown_fields_stream));
         break;
@@ -1080,33 +1275,59 @@ void ChromeUserPopulation::SerializeWith
 
   cached_has_bits = _has_bits_[0];
   // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       1, this->user_population(), output);
   }
 
+  // optional bool is_history_sync_enabled = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_history_sync_enabled(), output);
+  }
+
+  // repeated string finch_active_groups = 4;
+  for (int i = 0, n = this->finch_active_groups_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteString(
+      4, this->finch_active_groups(i), output);
+  }
+
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ChromeUserPopulation)
 }
 
 size_t ChromeUserPopulation::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ChromeUserPopulation)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
-  // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
-  if (has_user_population()) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::EnumSize(this->user_population());
-  }
-
+  // repeated string finch_active_groups = 4;
+  total_size += 1 *
+      ::google::protobuf::internal::FromIntSize(this->finch_active_groups_size());
+  for (int i = 0, n = this->finch_active_groups_size(); i < n; i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
+      this->finch_active_groups(i));
+  }
+
+  if (_has_bits_[0 / 32] & 3u) {
+    // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
+    if (has_user_population()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->user_population());
+    }
+
+    // optional bool is_history_sync_enabled = 2;
+    if (has_is_history_sync_enabled()) {
+      total_size += 1 + 1;
+    }
+
+  }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = cached_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void ChromeUserPopulation::CheckTypeAndMergeFrom(
@@ -1116,18 +1337,26 @@ void ChromeUserPopulation::CheckTypeAndM
 
 void ChromeUserPopulation::MergeFrom(const ChromeUserPopulation& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ChromeUserPopulation)
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
-  if (from.has_user_population()) {
-    set_user_population(from.user_population());
+  finch_active_groups_.MergeFrom(from.finch_active_groups_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      user_population_ = from.user_population_;
+    }
+    if (cached_has_bits & 0x00000002u) {
+      is_history_sync_enabled_ = from.is_history_sync_enabled_;
+    }
+    _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ChromeUserPopulation::CopyFrom(const ChromeUserPopulation& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ChromeUserPopulation)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
@@ -1138,17 +1367,19 @@ bool ChromeUserPopulation::IsInitialized
 }
 
 void ChromeUserPopulation::Swap(ChromeUserPopulation* other) {
   if (other == this) return;
   InternalSwap(other);
 }
 void ChromeUserPopulation::InternalSwap(ChromeUserPopulation* other) {
   using std::swap;
+  finch_active_groups_.InternalSwap(&other->finch_active_groups_);
   swap(user_population_, other->user_population_);
+  swap(is_history_sync_enabled_, other->is_history_sync_enabled_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ChromeUserPopulation::GetTypeName() const {
   return "safe_browsing.ChromeUserPopulation";
 }
@@ -1176,16 +1407,109 @@ void ChromeUserPopulation::clear_user_po
 }
 void ChromeUserPopulation::set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value) {
   assert(::safe_browsing::ChromeUserPopulation_UserPopulation_IsValid(value));
   set_has_user_population();
   user_population_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.user_population)
 }
 
+// optional bool is_history_sync_enabled = 2;
+bool ChromeUserPopulation::has_is_history_sync_enabled() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void ChromeUserPopulation::set_has_is_history_sync_enabled() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void ChromeUserPopulation::clear_has_is_history_sync_enabled() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void ChromeUserPopulation::clear_is_history_sync_enabled() {
+  is_history_sync_enabled_ = false;
+  clear_has_is_history_sync_enabled();
+}
+bool ChromeUserPopulation::is_history_sync_enabled() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.is_history_sync_enabled)
+  return is_history_sync_enabled_;
+}
+void ChromeUserPopulation::set_is_history_sync_enabled(bool value) {
+  set_has_is_history_sync_enabled();
+  is_history_sync_enabled_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.is_history_sync_enabled)
+}
+
+// repeated string finch_active_groups = 4;
+int ChromeUserPopulation::finch_active_groups_size() const {
+  return finch_active_groups_.size();
+}
+void ChromeUserPopulation::clear_finch_active_groups() {
+  finch_active_groups_.Clear();
+}
+const ::std::string& ChromeUserPopulation::finch_active_groups(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Get(index);
+}
+::std::string* ChromeUserPopulation::mutable_finch_active_groups(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Mutable(index);
+}
+void ChromeUserPopulation::set_finch_active_groups(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  finch_active_groups_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+void ChromeUserPopulation::set_finch_active_groups(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  finch_active_groups_.Mutable(index)->assign(std::move(value));
+}
+#endif
+void ChromeUserPopulation::set_finch_active_groups(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  finch_active_groups_.Mutable(index)->assign(value);
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+void ChromeUserPopulation::set_finch_active_groups(int index, const char* value, size_t size) {
+  finch_active_groups_.Mutable(index)->assign(
+    reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+::std::string* ChromeUserPopulation::add_finch_active_groups() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Add();
+}
+void ChromeUserPopulation::add_finch_active_groups(const ::std::string& value) {
+  finch_active_groups_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+#if LANG_CXX11
+void ChromeUserPopulation::add_finch_active_groups(::std::string&& value) {
+  finch_active_groups_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+#endif
+void ChromeUserPopulation::add_finch_active_groups(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  finch_active_groups_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add_char:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+void ChromeUserPopulation::add_finch_active_groups(const char* value, size_t size) {
+  finch_active_groups_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+const ::google::protobuf::RepeatedPtrField< ::std::string>&
+ChromeUserPopulation::finch_active_groups() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_;
+}
+::google::protobuf::RepeatedPtrField< ::std::string>*
+ChromeUserPopulation::mutable_finch_active_groups() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return &finch_active_groups_;
+}
+
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientPhishingRequest_Feature::kNameFieldNumber;
 const int ClientPhishingRequest_Feature::kValueFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
@@ -4131,16 +4455,2657 @@ void ClientMalwareRequest::set_allocated
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.population)
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientRequest_Frame_Form::kActionUrlFieldNumber;
+const int LoginReputationClientRequest_Frame_Form::kHasPasswordFieldFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientRequest_Frame_Form::LoginReputationClientRequest_Frame_Form()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
+}
+LoginReputationClientRequest_Frame_Form::LoginReputationClientRequest_Frame_Form(const LoginReputationClientRequest_Frame_Form& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  action_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_action_url()) {
+    action_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.action_url_);
+  }
+  has_password_field_ = from.has_password_field_;
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
+}
+
+void LoginReputationClientRequest_Frame_Form::SharedCtor() {
+  _cached_size_ = 0;
+  action_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  has_password_field_ = false;
+}
+
+LoginReputationClientRequest_Frame_Form::~LoginReputationClientRequest_Frame_Form() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  SharedDtor();
+}
+
+void LoginReputationClientRequest_Frame_Form::SharedDtor() {
+  action_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void LoginReputationClientRequest_Frame_Form::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame_Form::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame_Form::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientRequest_Frame_Form* n = new LoginReputationClientRequest_Frame_Form;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientRequest_Frame_Form::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  if (has_action_url()) {
+    GOOGLE_DCHECK(!action_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*action_url_.UnsafeRawStringPointer())->clear();
+  }
+  has_password_field_ = false;
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientRequest_Frame_Form::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string action_url = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_action_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool has_password_field = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_has_password_field();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &has_password_field_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientRequest_Frame_Form::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string action_url = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->action_url(), output);
+  }
+
+  // optional bool has_password_field = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->has_password_field(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.Frame.Form)
+}
+
+size_t LoginReputationClientRequest_Frame_Form::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 3u) {
+    // optional string action_url = 1;
+    if (has_action_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->action_url());
+    }
+
+    // optional bool has_password_field = 2;
+    if (has_has_password_field()) {
+      total_size += 1 + 1;
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientRequest_Frame_Form::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_Frame_Form*>(&from));
+}
+
+void LoginReputationClientRequest_Frame_Form::MergeFrom(const LoginReputationClientRequest_Frame_Form& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_action_url();
+      action_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.action_url_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      has_password_field_ = from.has_password_field_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientRequest_Frame_Form::CopyFrom(const LoginReputationClientRequest_Frame_Form& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientRequest_Frame_Form::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientRequest_Frame_Form::Swap(LoginReputationClientRequest_Frame_Form* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientRequest_Frame_Form::InternalSwap(LoginReputationClientRequest_Frame_Form* other) {
+  using std::swap;
+  action_url_.Swap(&other->action_url_);
+  swap(has_password_field_, other->has_password_field_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientRequest_Frame_Form::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientRequest.Frame.Form";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientRequest_Frame_Form
+
+// optional string action_url = 1;
+bool LoginReputationClientRequest_Frame_Form::has_action_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientRequest_Frame_Form::set_has_action_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientRequest_Frame_Form::clear_has_action_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientRequest_Frame_Form::clear_action_url() {
+  action_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_action_url();
+}
+const ::std::string& LoginReputationClientRequest_Frame_Form::action_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  return action_url_.GetNoArena();
+}
+void LoginReputationClientRequest_Frame_Form::set_action_url(const ::std::string& value) {
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+#if LANG_CXX11
+void LoginReputationClientRequest_Frame_Form::set_action_url(::std::string&& value) {
+  set_has_action_url();
+  action_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+#endif
+void LoginReputationClientRequest_Frame_Form::set_action_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+void LoginReputationClientRequest_Frame_Form::set_action_url(const char* value, size_t size) {
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+::std::string* LoginReputationClientRequest_Frame_Form::mutable_action_url() {
+  set_has_action_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  return action_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientRequest_Frame_Form::release_action_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  clear_has_action_url();
+  return action_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientRequest_Frame_Form::set_allocated_action_url(::std::string* action_url) {
+  if (action_url != NULL) {
+    set_has_action_url();
+  } else {
+    clear_has_action_url();
+  }
+  action_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), action_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+
+// optional bool has_password_field = 2;
+bool LoginReputationClientRequest_Frame_Form::has_has_password_field() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientRequest_Frame_Form::set_has_has_password_field() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientRequest_Frame_Form::clear_has_has_password_field() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientRequest_Frame_Form::clear_has_password_field() {
+  has_password_field_ = false;
+  clear_has_has_password_field();
+}
+bool LoginReputationClientRequest_Frame_Form::has_password_field() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.has_password_field)
+  return has_password_field_;
+}
+void LoginReputationClientRequest_Frame_Form::set_has_password_field(bool value) {
+  set_has_has_password_field();
+  has_password_field_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.has_password_field)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientRequest_Frame::kFrameIndexFieldNumber;
+const int LoginReputationClientRequest_Frame::kParentFrameIndexFieldNumber;
+const int LoginReputationClientRequest_Frame::kUrlFieldNumber;
+const int LoginReputationClientRequest_Frame::kHasPasswordFieldFieldNumber;
+const int LoginReputationClientRequest_Frame::kReferrerChainFieldNumber;
+const int LoginReputationClientRequest_Frame::kFormsFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientRequest_Frame::LoginReputationClientRequest_Frame()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.Frame)
+}
+LoginReputationClientRequest_Frame::LoginReputationClientRequest_Frame(const LoginReputationClientRequest_Frame& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      referrer_chain_(from.referrer_chain_),
+      forms_(from.forms_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_url()) {
+    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+  }
+  ::memcpy(&frame_index_, &from.frame_index_,
+    static_cast<size_t>(reinterpret_cast<char*>(&has_password_field_) -
+    reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.Frame)
+}
+
+void LoginReputationClientRequest_Frame::SharedCtor() {
+  _cached_size_ = 0;
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&frame_index_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&has_password_field_) -
+      reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
+}
+
+LoginReputationClientRequest_Frame::~LoginReputationClientRequest_Frame() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.Frame)
+  SharedDtor();
+}
+
+void LoginReputationClientRequest_Frame::SharedDtor() {
+  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void LoginReputationClientRequest_Frame::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientRequest_Frame& LoginReputationClientRequest_Frame::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientRequest_Frame* LoginReputationClientRequest_Frame::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientRequest_Frame* n = new LoginReputationClientRequest_Frame;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientRequest_Frame::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.Frame)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  referrer_chain_.Clear();
+  forms_.Clear();
+  if (has_url()) {
+    GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*url_.UnsafeRawStringPointer())->clear();
+  }
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 14u) {
+    ::memset(&frame_index_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&has_password_field_) -
+        reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientRequest_Frame::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.Frame)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional int32 frame_index = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          set_has_frame_index();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &frame_index_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 parent_frame_index = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_parent_frame_index();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &parent_frame_index_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string url = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool has_password_field = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+          set_has_has_password_field();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &has_password_field_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_referrer_chain()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_forms()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.Frame)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.Frame)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientRequest_Frame::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.Frame)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional int32 frame_index = 1;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->frame_index(), output);
+  }
+
+  // optional int32 parent_frame_index = 2;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->parent_frame_index(), output);
+  }
+
+  // optional string url = 3;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      3, this->url(), output);
+  }
+
+  // optional bool has_password_field = 4;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->has_password_field(), output);
+  }
+
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->referrer_chain_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      5, this->referrer_chain(static_cast<int>(i)), output);
+  }
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->forms_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      6, this->forms(static_cast<int>(i)), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.Frame)
+}
+
+size_t LoginReputationClientRequest_Frame::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.Frame)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+  {
+    unsigned int count = static_cast<unsigned int>(this->referrer_chain_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->referrer_chain(static_cast<int>(i)));
+    }
+  }
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+  {
+    unsigned int count = static_cast<unsigned int>(this->forms_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->forms(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 15u) {
+    // optional string url = 3;
+    if (has_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->url());
+    }
+
+    // optional int32 frame_index = 1;
+    if (has_frame_index()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->frame_index());
+    }
+
+    // optional int32 parent_frame_index = 2;
+    if (has_parent_frame_index()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->parent_frame_index());
+    }
+
+    // optional bool has_password_field = 4;
+    if (has_has_password_field()) {
+      total_size += 1 + 1;
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientRequest_Frame::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_Frame*>(&from));
+}
+
+void LoginReputationClientRequest_Frame::MergeFrom(const LoginReputationClientRequest_Frame& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.Frame)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  referrer_chain_.MergeFrom(from.referrer_chain_);
+  forms_.MergeFrom(from.forms_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 15u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_url();
+      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      frame_index_ = from.frame_index_;
+    }
+    if (cached_has_bits & 0x00000004u) {
+      parent_frame_index_ = from.parent_frame_index_;
+    }
+    if (cached_has_bits & 0x00000008u) {
+      has_password_field_ = from.has_password_field_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientRequest_Frame::CopyFrom(const LoginReputationClientRequest_Frame& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.Frame)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientRequest_Frame::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientRequest_Frame::Swap(LoginReputationClientRequest_Frame* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientRequest_Frame::InternalSwap(LoginReputationClientRequest_Frame* other) {
+  using std::swap;
+  referrer_chain_.InternalSwap(&other->referrer_chain_);
+  forms_.InternalSwap(&other->forms_);
+  url_.Swap(&other->url_);
+  swap(frame_index_, other->frame_index_);
+  swap(parent_frame_index_, other->parent_frame_index_);
+  swap(has_password_field_, other->has_password_field_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientRequest_Frame::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientRequest.Frame";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientRequest_Frame
+
+// optional int32 frame_index = 1;
+bool LoginReputationClientRequest_Frame::has_frame_index() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientRequest_Frame::set_has_frame_index() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientRequest_Frame::clear_has_frame_index() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientRequest_Frame::clear_frame_index() {
+  frame_index_ = 0;
+  clear_has_frame_index();
+}
+::google::protobuf::int32 LoginReputationClientRequest_Frame::frame_index() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
+  return frame_index_;
+}
+void LoginReputationClientRequest_Frame::set_frame_index(::google::protobuf::int32 value) {
+  set_has_frame_index();
+  frame_index_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
+}
+
+// optional int32 parent_frame_index = 2;
+bool LoginReputationClientRequest_Frame::has_parent_frame_index() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void LoginReputationClientRequest_Frame::set_has_parent_frame_index() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void LoginReputationClientRequest_Frame::clear_has_parent_frame_index() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void LoginReputationClientRequest_Frame::clear_parent_frame_index() {
+  parent_frame_index_ = 0;
+  clear_has_parent_frame_index();
+}
+::google::protobuf::int32 LoginReputationClientRequest_Frame::parent_frame_index() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
+  return parent_frame_index_;
+}
+void LoginReputationClientRequest_Frame::set_parent_frame_index(::google::protobuf::int32 value) {
+  set_has_parent_frame_index();
+  parent_frame_index_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
+}
+
+// optional string url = 3;
+bool LoginReputationClientRequest_Frame::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientRequest_Frame::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientRequest_Frame::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientRequest_Frame::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+const ::std::string& LoginReputationClientRequest_Frame::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.url)
+  return url_.GetNoArena();
+}
+void LoginReputationClientRequest_Frame::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+#if LANG_CXX11
+void LoginReputationClientRequest_Frame::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+#endif
+void LoginReputationClientRequest_Frame::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+void LoginReputationClientRequest_Frame::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+::std::string* LoginReputationClientRequest_Frame::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientRequest_Frame::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientRequest_Frame::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+
+// optional bool has_password_field = 4;
+bool LoginReputationClientRequest_Frame::has_has_password_field() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void LoginReputationClientRequest_Frame::set_has_has_password_field() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void LoginReputationClientRequest_Frame::clear_has_has_password_field() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void LoginReputationClientRequest_Frame::clear_has_password_field() {
+  has_password_field_ = false;
+  clear_has_has_password_field();
+}
+bool LoginReputationClientRequest_Frame::has_password_field() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
+  return has_password_field_;
+}
+void LoginReputationClientRequest_Frame::set_has_password_field(bool value) {
+  set_has_has_password_field();
+  has_password_field_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
+}
+
+// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+int LoginReputationClientRequest_Frame::referrer_chain_size() const {
+  return referrer_chain_.size();
+}
+void LoginReputationClientRequest_Frame::clear_referrer_chain() {
+  referrer_chain_.Clear();
+}
+const ::safe_browsing::ReferrerChainEntry& LoginReputationClientRequest_Frame::referrer_chain(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Get(index);
+}
+::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::mutable_referrer_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Mutable(index);
+}
+::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::add_referrer_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
+LoginReputationClientRequest_Frame::mutable_referrer_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return &referrer_chain_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
+LoginReputationClientRequest_Frame::referrer_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_;
+}
+
+// repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+int LoginReputationClientRequest_Frame::forms_size() const {
+  return forms_.size();
+}
+void LoginReputationClientRequest_Frame::clear_forms() {
+  forms_.Clear();
+}
+const ::safe_browsing::LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame::forms(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Get(index);
+}
+::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::mutable_forms(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Mutable(index);
+}
+::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::add_forms() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >*
+LoginReputationClientRequest_Frame::mutable_forms() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return &forms_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >&
+LoginReputationClientRequest_Frame::forms() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_;
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientRequest_PasswordReuseEvent::kDomainsMatchingPasswordFieldNumber;
+const int LoginReputationClientRequest_PasswordReuseEvent::kFrameIdFieldNumber;
+const int LoginReputationClientRequest_PasswordReuseEvent::kIsChromeSigninPasswordFieldNumber;
+const int LoginReputationClientRequest_PasswordReuseEvent::kSyncAccountTypeFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientRequest_PasswordReuseEvent::LoginReputationClientRequest_PasswordReuseEvent()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+}
+LoginReputationClientRequest_PasswordReuseEvent::LoginReputationClientRequest_PasswordReuseEvent(const LoginReputationClientRequest_PasswordReuseEvent& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      domains_matching_password_(from.domains_matching_password_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::memcpy(&frame_id_, &from.frame_id_,
+    static_cast<size_t>(reinterpret_cast<char*>(&sync_account_type_) -
+    reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::SharedCtor() {
+  _cached_size_ = 0;
+  ::memset(&frame_id_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&sync_account_type_) -
+      reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
+}
+
+LoginReputationClientRequest_PasswordReuseEvent::~LoginReputationClientRequest_PasswordReuseEvent() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  SharedDtor();
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::SharedDtor() {
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest_PasswordReuseEvent::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest_PasswordReuseEvent::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientRequest_PasswordReuseEvent* n = new LoginReputationClientRequest_PasswordReuseEvent;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  domains_matching_password_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 7u) {
+    ::memset(&frame_id_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&sync_account_type_) -
+        reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientRequest_PasswordReuseEvent::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated string domains_matching_password = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->add_domains_matching_password()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 frame_id = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_frame_id();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &frame_id_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool is_chrome_signin_password = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
+          set_has_is_chrome_signin_password();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &is_chrome_signin_password_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value)) {
+            set_sync_account_type(static_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(32u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated string domains_matching_password = 1;
+  for (int i = 0, n = this->domains_matching_password_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteString(
+      1, this->domains_matching_password(i), output);
+  }
+
+  cached_has_bits = _has_bits_[0];
+  // optional int32 frame_id = 2;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->frame_id(), output);
+  }
+
+  // optional bool is_chrome_signin_password = 3;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->is_chrome_signin_password(), output);
+  }
+
+  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      4, this->sync_account_type(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+}
+
+size_t LoginReputationClientRequest_PasswordReuseEvent::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated string domains_matching_password = 1;
+  total_size += 1 *
+      ::google::protobuf::internal::FromIntSize(this->domains_matching_password_size());
+  for (int i = 0, n = this->domains_matching_password_size(); i < n; i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
+      this->domains_matching_password(i));
+  }
+
+  if (_has_bits_[0 / 32] & 7u) {
+    // optional int32 frame_id = 2;
+    if (has_frame_id()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->frame_id());
+    }
+
+    // optional bool is_chrome_signin_password = 3;
+    if (has_is_chrome_signin_password()) {
+      total_size += 1 + 1;
+    }
+
+    // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
+    if (has_sync_account_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->sync_account_type());
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_PasswordReuseEvent*>(&from));
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::MergeFrom(const LoginReputationClientRequest_PasswordReuseEvent& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  domains_matching_password_.MergeFrom(from.domains_matching_password_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 7u) {
+    if (cached_has_bits & 0x00000001u) {
+      frame_id_ = from.frame_id_;
+    }
+    if (cached_has_bits & 0x00000002u) {
+      is_chrome_signin_password_ = from.is_chrome_signin_password_;
+    }
+    if (cached_has_bits & 0x00000004u) {
+      sync_account_type_ = from.sync_account_type_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::CopyFrom(const LoginReputationClientRequest_PasswordReuseEvent& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientRequest_PasswordReuseEvent::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientRequest_PasswordReuseEvent::Swap(LoginReputationClientRequest_PasswordReuseEvent* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientRequest_PasswordReuseEvent::InternalSwap(LoginReputationClientRequest_PasswordReuseEvent* other) {
+  using std::swap;
+  domains_matching_password_.InternalSwap(&other->domains_matching_password_);
+  swap(frame_id_, other->frame_id_);
+  swap(is_chrome_signin_password_, other->is_chrome_signin_password_);
+  swap(sync_account_type_, other->sync_account_type_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientRequest_PasswordReuseEvent::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientRequest.PasswordReuseEvent";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientRequest_PasswordReuseEvent
+
+// repeated string domains_matching_password = 1;
+int LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password_size() const {
+  return domains_matching_password_.size();
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_domains_matching_password() {
+  domains_matching_password_.Clear();
+}
+const ::std::string& LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_.Get(index);
+}
+::std::string* LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_.Mutable(index);
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  domains_matching_password_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  domains_matching_password_.Mutable(index)->assign(std::move(value));
+}
+#endif
+void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  domains_matching_password_.Mutable(index)->assign(value);
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value, size_t size) {
+  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)
+}
+::std::string* LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_.Add();
+}
+void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const ::std::string& value) {
+  domains_matching_password_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+#if LANG_CXX11
+void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(::std::string&& value) {
+  domains_matching_password_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+#endif
+void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  domains_matching_password_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add_char:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value, size_t size) {
+  domains_matching_password_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+const ::google::protobuf::RepeatedPtrField< ::std::string>&
+LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_;
+}
+::google::protobuf::RepeatedPtrField< ::std::string>*
+LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return &domains_matching_password_;
+}
+
+// optional int32 frame_id = 2;
+bool LoginReputationClientRequest_PasswordReuseEvent::has_frame_id() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_has_frame_id() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_has_frame_id() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_frame_id() {
+  frame_id_ = 0;
+  clear_has_frame_id();
+}
+::google::protobuf::int32 LoginReputationClientRequest_PasswordReuseEvent::frame_id() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
+  return frame_id_;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_frame_id(::google::protobuf::int32 value) {
+  set_has_frame_id();
+  frame_id_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
+}
+
+// optional bool is_chrome_signin_password = 3;
+bool LoginReputationClientRequest_PasswordReuseEvent::has_is_chrome_signin_password() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_has_is_chrome_signin_password() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_has_is_chrome_signin_password() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_is_chrome_signin_password() {
+  is_chrome_signin_password_ = false;
+  clear_has_is_chrome_signin_password();
+}
+bool LoginReputationClientRequest_PasswordReuseEvent::is_chrome_signin_password() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.is_chrome_signin_password)
+  return is_chrome_signin_password_;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_is_chrome_signin_password(bool value) {
+  set_has_is_chrome_signin_password();
+  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;
+bool LoginReputationClientRequest_PasswordReuseEvent::has_sync_account_type() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_has_sync_account_type() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_has_sync_account_type() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void LoginReputationClientRequest_PasswordReuseEvent::clear_sync_account_type() {
+  sync_account_type_ = 0;
+  clear_has_sync_account_type();
+}
+::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::sync_account_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.sync_account_type)
+  return static_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType >(sync_account_type_);
+}
+void LoginReputationClientRequest_PasswordReuseEvent::set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value) {
+  assert(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value));
+  set_has_sync_account_type();
+  sync_account_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.sync_account_type)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientRequest::kPageUrlFieldNumber;
+const int LoginReputationClientRequest::kTriggerTypeFieldNumber;
+const int LoginReputationClientRequest::kFramesFieldNumber;
+const int LoginReputationClientRequest::kPasswordReuseEventFieldNumber;
+const int LoginReputationClientRequest::kStoredVerdictCntFieldNumber;
+const int LoginReputationClientRequest::kPopulationFieldNumber;
+const int LoginReputationClientRequest::kClickedThroughInterstitialFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientRequest::LoginReputationClientRequest()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest)
+}
+LoginReputationClientRequest::LoginReputationClientRequest(const LoginReputationClientRequest& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      frames_(from.frames_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_page_url()) {
+    page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
+  }
+  if (from.has_password_reuse_event()) {
+    password_reuse_event_ = new ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent(*from.password_reuse_event_);
+  } else {
+    password_reuse_event_ = NULL;
+  }
+  if (from.has_population()) {
+    population_ = new ::safe_browsing::ChromeUserPopulation(*from.population_);
+  } else {
+    population_ = NULL;
+  }
+  ::memcpy(&trigger_type_, &from.trigger_type_,
+    static_cast<size_t>(reinterpret_cast<char*>(&clicked_through_interstitial_) -
+    reinterpret_cast<char*>(&trigger_type_)) + sizeof(clicked_through_interstitial_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest)
+}
+
+void LoginReputationClientRequest::SharedCtor() {
+  _cached_size_ = 0;
+  page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&password_reuse_event_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&clicked_through_interstitial_) -
+      reinterpret_cast<char*>(&password_reuse_event_)) + sizeof(clicked_through_interstitial_));
+}
+
+LoginReputationClientRequest::~LoginReputationClientRequest() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest)
+  SharedDtor();
+}
+
+void LoginReputationClientRequest::SharedDtor() {
+  page_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete password_reuse_event_;
+  if (this != internal_default_instance()) delete population_;
+}
+
+void LoginReputationClientRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientRequest& LoginReputationClientRequest::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientRequest* LoginReputationClientRequest::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientRequest* n = new LoginReputationClientRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  frames_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 7u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!page_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*page_url_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(password_reuse_event_ != NULL);
+      password_reuse_event_->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::Clear();
+    }
+    if (cached_has_bits & 0x00000004u) {
+      GOOGLE_DCHECK(population_ != NULL);
+      population_->::safe_browsing::ChromeUserPopulation::Clear();
+    }
+  }
+  if (cached_has_bits & 56u) {
+    ::memset(&trigger_type_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&clicked_through_interstitial_) -
+        reinterpret_cast<char*>(&trigger_type_)) + sizeof(clicked_through_interstitial_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string page_url = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_page_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::LoginReputationClientRequest_TriggerType_IsValid(value)) {
+            set_trigger_type(static_cast< ::safe_browsing::LoginReputationClientRequest_TriggerType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(16u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_frames()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+               input, mutable_password_reuse_event()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 stored_verdict_cnt = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
+          set_has_stored_verdict_cnt();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &stored_verdict_cnt_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ChromeUserPopulation population = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+               input, mutable_population()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool clicked_through_interstitial = 7;
+      case 7: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
+          set_has_clicked_through_interstitial();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &clicked_through_interstitial_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string page_url = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->page_url(), output);
+  }
+
+  // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      2, this->trigger_type(), output);
+  }
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->frames_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      3, this->frames(static_cast<int>(i)), output);
+  }
+
+  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      4, *this->password_reuse_event_, output);
+  }
+
+  // optional int32 stored_verdict_cnt = 5;
+  if (cached_has_bits & 0x00000010u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->stored_verdict_cnt(), output);
+  }
+
+  // optional .safe_browsing.ChromeUserPopulation population = 6;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      6, *this->population_, output);
+  }
+
+  // optional bool clicked_through_interstitial = 7;
+  if (cached_has_bits & 0x00000020u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->clicked_through_interstitial(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest)
+}
+
+size_t LoginReputationClientRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+  {
+    unsigned int count = static_cast<unsigned int>(this->frames_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->frames(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 63u) {
+    // optional string page_url = 1;
+    if (has_page_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->page_url());
+    }
+
+    // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+    if (has_password_reuse_event()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          *this->password_reuse_event_);
+    }
+
+    // optional .safe_browsing.ChromeUserPopulation population = 6;
+    if (has_population()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          *this->population_);
+    }
+
+    // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+    if (has_trigger_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->trigger_type());
+    }
+
+    // optional int32 stored_verdict_cnt = 5;
+    if (has_stored_verdict_cnt()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->stored_verdict_cnt());
+    }
+
+    // optional bool clicked_through_interstitial = 7;
+    if (has_clicked_through_interstitial()) {
+      total_size += 1 + 1;
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientRequest::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest*>(&from));
+}
+
+void LoginReputationClientRequest::MergeFrom(const LoginReputationClientRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  frames_.MergeFrom(from.frames_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 63u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_page_url();
+      page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      mutable_password_reuse_event()->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::MergeFrom(from.password_reuse_event());
+    }
+    if (cached_has_bits & 0x00000004u) {
+      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
+    }
+    if (cached_has_bits & 0x00000008u) {
+      trigger_type_ = from.trigger_type_;
+    }
+    if (cached_has_bits & 0x00000010u) {
+      stored_verdict_cnt_ = from.stored_verdict_cnt_;
+    }
+    if (cached_has_bits & 0x00000020u) {
+      clicked_through_interstitial_ = from.clicked_through_interstitial_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientRequest::CopyFrom(const LoginReputationClientRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientRequest::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientRequest::Swap(LoginReputationClientRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientRequest::InternalSwap(LoginReputationClientRequest* other) {
+  using std::swap;
+  frames_.InternalSwap(&other->frames_);
+  page_url_.Swap(&other->page_url_);
+  swap(password_reuse_event_, other->password_reuse_event_);
+  swap(population_, other->population_);
+  swap(trigger_type_, other->trigger_type_);
+  swap(stored_verdict_cnt_, other->stored_verdict_cnt_);
+  swap(clicked_through_interstitial_, other->clicked_through_interstitial_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientRequest::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientRequest";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientRequest
+
+// optional string page_url = 1;
+bool LoginReputationClientRequest::has_page_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientRequest::set_has_page_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientRequest::clear_has_page_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientRequest::clear_page_url() {
+  page_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_page_url();
+}
+const ::std::string& LoginReputationClientRequest::page_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.page_url)
+  return page_url_.GetNoArena();
+}
+void LoginReputationClientRequest::set_page_url(const ::std::string& value) {
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.page_url)
+}
+#if LANG_CXX11
+void LoginReputationClientRequest::set_page_url(::std::string&& value) {
+  set_has_page_url();
+  page_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.page_url)
+}
+#endif
+void LoginReputationClientRequest::set_page_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.page_url)
+}
+void LoginReputationClientRequest::set_page_url(const char* value, size_t size) {
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.page_url)
+}
+::std::string* LoginReputationClientRequest::mutable_page_url() {
+  set_has_page_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.page_url)
+  return page_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientRequest::release_page_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.page_url)
+  clear_has_page_url();
+  return page_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientRequest::set_allocated_page_url(::std::string* page_url) {
+  if (page_url != NULL) {
+    set_has_page_url();
+  } else {
+    clear_has_page_url();
+  }
+  page_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), page_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.page_url)
+}
+
+// optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+bool LoginReputationClientRequest::has_trigger_type() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void LoginReputationClientRequest::set_has_trigger_type() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void LoginReputationClientRequest::clear_has_trigger_type() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void LoginReputationClientRequest::clear_trigger_type() {
+  trigger_type_ = 0;
+  clear_has_trigger_type();
+}
+::safe_browsing::LoginReputationClientRequest_TriggerType LoginReputationClientRequest::trigger_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.trigger_type)
+  return static_cast< ::safe_browsing::LoginReputationClientRequest_TriggerType >(trigger_type_);
+}
+void LoginReputationClientRequest::set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value) {
+  assert(::safe_browsing::LoginReputationClientRequest_TriggerType_IsValid(value));
+  set_has_trigger_type();
+  trigger_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.trigger_type)
+}
+
+// repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+int LoginReputationClientRequest::frames_size() const {
+  return frames_.size();
+}
+void LoginReputationClientRequest::clear_frames() {
+  frames_.Clear();
+}
+const ::safe_browsing::LoginReputationClientRequest_Frame& LoginReputationClientRequest::frames(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Get(index);
+}
+::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::mutable_frames(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Mutable(index);
+}
+::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::add_frames() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >*
+LoginReputationClientRequest::mutable_frames() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.frames)
+  return &frames_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >&
+LoginReputationClientRequest::frames() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_;
+}
+
+// optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+bool LoginReputationClientRequest::has_password_reuse_event() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientRequest::set_has_password_reuse_event() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientRequest::clear_has_password_reuse_event() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientRequest::clear_password_reuse_event() {
+  if (password_reuse_event_ != NULL) password_reuse_event_->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::Clear();
+  clear_has_password_reuse_event();
+}
+const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest::password_reuse_event() const {
+  const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* p = password_reuse_event_;
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent*>(
+      &::safe_browsing::_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);
+}
+::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::mutable_password_reuse_event() {
+  set_has_password_reuse_event();
+  if (password_reuse_event_ == NULL) {
+    password_reuse_event_ = new ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  return password_reuse_event_;
+}
+::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::release_password_reuse_event() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  clear_has_password_reuse_event();
+  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* temp = password_reuse_event_;
+  password_reuse_event_ = NULL;
+  return temp;
+}
+void LoginReputationClientRequest::set_allocated_password_reuse_event(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event) {
+  delete password_reuse_event_;
+  password_reuse_event_ = password_reuse_event;
+  if (password_reuse_event) {
+    set_has_password_reuse_event();
+  } else {
+    clear_has_password_reuse_event();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+}
+
+// optional int32 stored_verdict_cnt = 5;
+bool LoginReputationClientRequest::has_stored_verdict_cnt() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+void LoginReputationClientRequest::set_has_stored_verdict_cnt() {
+  _has_bits_[0] |= 0x00000010u;
+}
+void LoginReputationClientRequest::clear_has_stored_verdict_cnt() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+void LoginReputationClientRequest::clear_stored_verdict_cnt() {
+  stored_verdict_cnt_ = 0;
+  clear_has_stored_verdict_cnt();
+}
+::google::protobuf::int32 LoginReputationClientRequest::stored_verdict_cnt() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
+  return stored_verdict_cnt_;
+}
+void LoginReputationClientRequest::set_stored_verdict_cnt(::google::protobuf::int32 value) {
+  set_has_stored_verdict_cnt();
+  stored_verdict_cnt_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
+}
+
+// optional .safe_browsing.ChromeUserPopulation population = 6;
+bool LoginReputationClientRequest::has_population() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void LoginReputationClientRequest::set_has_population() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void LoginReputationClientRequest::clear_has_population() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void LoginReputationClientRequest::clear_population() {
+  if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
+  clear_has_population();
+}
+const ::safe_browsing::ChromeUserPopulation& LoginReputationClientRequest::population() const {
+  const ::safe_browsing::ChromeUserPopulation* p = population_;
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.population)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ChromeUserPopulation*>(
+      &::safe_browsing::_ChromeUserPopulation_default_instance_);
+}
+::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::mutable_population() {
+  set_has_population();
+  if (population_ == NULL) {
+    population_ = new ::safe_browsing::ChromeUserPopulation;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.population)
+  return population_;
+}
+::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::release_population() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.population)
+  clear_has_population();
+  ::safe_browsing::ChromeUserPopulation* temp = population_;
+  population_ = NULL;
+  return temp;
+}
+void LoginReputationClientRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
+  delete population_;
+  population_ = population;
+  if (population) {
+    set_has_population();
+  } else {
+    clear_has_population();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.population)
+}
+
+// optional bool clicked_through_interstitial = 7;
+bool LoginReputationClientRequest::has_clicked_through_interstitial() const {
+  return (_has_bits_[0] & 0x00000020u) != 0;
+}
+void LoginReputationClientRequest::set_has_clicked_through_interstitial() {
+  _has_bits_[0] |= 0x00000020u;
+}
+void LoginReputationClientRequest::clear_has_clicked_through_interstitial() {
+  _has_bits_[0] &= ~0x00000020u;
+}
+void LoginReputationClientRequest::clear_clicked_through_interstitial() {
+  clicked_through_interstitial_ = false;
+  clear_has_clicked_through_interstitial();
+}
+bool LoginReputationClientRequest::clicked_through_interstitial() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
+  return clicked_through_interstitial_;
+}
+void LoginReputationClientRequest::set_clicked_through_interstitial(bool value) {
+  set_has_clicked_through_interstitial();
+  clicked_through_interstitial_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LoginReputationClientResponse::kVerdictTypeFieldNumber;
+const int LoginReputationClientResponse::kCacheDurationSecFieldNumber;
+const int LoginReputationClientResponse::kCacheExpressionFieldNumber;
+const int LoginReputationClientResponse::kDEPRECATEDCacheExpressionExactMatchFieldNumber;
+const int LoginReputationClientResponse::kVerdictTokenFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LoginReputationClientResponse::LoginReputationClientResponse()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientResponse)
+}
+LoginReputationClientResponse::LoginReputationClientResponse(const LoginReputationClientResponse& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  cache_expression_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_cache_expression()) {
+    cache_expression_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cache_expression_);
+  }
+  verdict_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_verdict_token()) {
+    verdict_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verdict_token_);
+  }
+  ::memcpy(&cache_duration_sec_, &from.cache_duration_sec_,
+    static_cast<size_t>(reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
+    reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientResponse)
+}
+
+void LoginReputationClientResponse::SharedCtor() {
+  _cached_size_ = 0;
+  cache_expression_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  verdict_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&cache_duration_sec_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
+      reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
+}
+
+LoginReputationClientResponse::~LoginReputationClientResponse() {
+  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientResponse)
+  SharedDtor();
+}
+
+void LoginReputationClientResponse::SharedDtor() {
+  cache_expression_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  verdict_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void LoginReputationClientResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const LoginReputationClientResponse& LoginReputationClientResponse::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+LoginReputationClientResponse* LoginReputationClientResponse::New(::google::protobuf::Arena* arena) const {
+  LoginReputationClientResponse* n = new LoginReputationClientResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LoginReputationClientResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!cache_expression_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*cache_expression_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(!verdict_token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*verdict_token_.UnsafeRawStringPointer())->clear();
+    }
+  }
+  if (cached_has_bits & 28u) {
+    ::memset(&cache_duration_sec_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
+        reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool LoginReputationClientResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::LoginReputationClientResponse_VerdictType_IsValid(value)) {
+            set_verdict_type(static_cast< ::safe_browsing::LoginReputationClientResponse_VerdictType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(8u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int64 cache_duration_sec = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_cache_duration_sec();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
+                 input, &cache_duration_sec_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string cache_expression = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_cache_expression()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+          set_has_deprecated_cache_expression_exact_match();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &deprecated_cache_expression_exact_match_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bytes verdict_token = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_verdict_token()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientResponse)
+  return false;
+#undef DO_
+}
+
+void LoginReputationClientResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      1, this->verdict_type(), output);
+  }
+
+  // optional int64 cache_duration_sec = 2;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->cache_duration_sec(), output);
+  }
+
+  // optional string cache_expression = 3;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      3, this->cache_expression(), output);
+  }
+
+  // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+  if (cached_has_bits & 0x00000010u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->deprecated_cache_expression_exact_match(), output);
+  }
+
+  // optional bytes verdict_token = 5;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      5, this->verdict_token(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientResponse)
+}
+
+size_t LoginReputationClientResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientResponse)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 31u) {
+    // optional string cache_expression = 3;
+    if (has_cache_expression()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->cache_expression());
+    }
+
+    // optional bytes verdict_token = 5;
+    if (has_verdict_token()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->verdict_token());
+    }
+
+    // optional int64 cache_duration_sec = 2;
+    if (has_cache_duration_sec()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int64Size(
+          this->cache_duration_sec());
+    }
+
+    // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+    if (has_verdict_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->verdict_type());
+    }
+
+    // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+    if (has_deprecated_cache_expression_exact_match()) {
+      total_size += 1 + 1;
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LoginReputationClientResponse::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientResponse*>(&from));
+}
+
+void LoginReputationClientResponse::MergeFrom(const LoginReputationClientResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 31u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_cache_expression();
+      cache_expression_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cache_expression_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      set_has_verdict_token();
+      verdict_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verdict_token_);
+    }
+    if (cached_has_bits & 0x00000004u) {
+      cache_duration_sec_ = from.cache_duration_sec_;
+    }
+    if (cached_has_bits & 0x00000008u) {
+      verdict_type_ = from.verdict_type_;
+    }
+    if (cached_has_bits & 0x00000010u) {
+      deprecated_cache_expression_exact_match_ = from.deprecated_cache_expression_exact_match_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void LoginReputationClientResponse::CopyFrom(const LoginReputationClientResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LoginReputationClientResponse::IsInitialized() const {
+  return true;
+}
+
+void LoginReputationClientResponse::Swap(LoginReputationClientResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LoginReputationClientResponse::InternalSwap(LoginReputationClientResponse* other) {
+  using std::swap;
+  cache_expression_.Swap(&other->cache_expression_);
+  verdict_token_.Swap(&other->verdict_token_);
+  swap(cache_duration_sec_, other->cache_duration_sec_);
+  swap(verdict_type_, other->verdict_type_);
+  swap(deprecated_cache_expression_exact_match_, other->deprecated_cache_expression_exact_match_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string LoginReputationClientResponse::GetTypeName() const {
+  return "safe_browsing.LoginReputationClientResponse";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// LoginReputationClientResponse
+
+// optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+bool LoginReputationClientResponse::has_verdict_type() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void LoginReputationClientResponse::set_has_verdict_type() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void LoginReputationClientResponse::clear_has_verdict_type() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void LoginReputationClientResponse::clear_verdict_type() {
+  verdict_type_ = 0;
+  clear_has_verdict_type();
+}
+::safe_browsing::LoginReputationClientResponse_VerdictType LoginReputationClientResponse::verdict_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_type)
+  return static_cast< ::safe_browsing::LoginReputationClientResponse_VerdictType >(verdict_type_);
+}
+void LoginReputationClientResponse::set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value) {
+  assert(::safe_browsing::LoginReputationClientResponse_VerdictType_IsValid(value));
+  set_has_verdict_type();
+  verdict_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_type)
+}
+
+// optional int64 cache_duration_sec = 2;
+bool LoginReputationClientResponse::has_cache_duration_sec() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void LoginReputationClientResponse::set_has_cache_duration_sec() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void LoginReputationClientResponse::clear_has_cache_duration_sec() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void LoginReputationClientResponse::clear_cache_duration_sec() {
+  cache_duration_sec_ = GOOGLE_LONGLONG(0);
+  clear_has_cache_duration_sec();
+}
+::google::protobuf::int64 LoginReputationClientResponse::cache_duration_sec() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
+  return cache_duration_sec_;
+}
+void LoginReputationClientResponse::set_cache_duration_sec(::google::protobuf::int64 value) {
+  set_has_cache_duration_sec();
+  cache_duration_sec_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
+}
+
+// optional string cache_expression = 3;
+bool LoginReputationClientResponse::has_cache_expression() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void LoginReputationClientResponse::set_has_cache_expression() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void LoginReputationClientResponse::clear_has_cache_expression() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void LoginReputationClientResponse::clear_cache_expression() {
+  cache_expression_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_cache_expression();
+}
+const ::std::string& LoginReputationClientResponse::cache_expression() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_expression)
+  return cache_expression_.GetNoArena();
+}
+void LoginReputationClientResponse::set_cache_expression(const ::std::string& value) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+#if LANG_CXX11
+void LoginReputationClientResponse::set_cache_expression(::std::string&& value) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+#endif
+void LoginReputationClientResponse::set_cache_expression(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+void LoginReputationClientResponse::set_cache_expression(const char* value, size_t size) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+::std::string* LoginReputationClientResponse::mutable_cache_expression() {
+  set_has_cache_expression();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.cache_expression)
+  return cache_expression_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientResponse::release_cache_expression() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.cache_expression)
+  clear_has_cache_expression();
+  return cache_expression_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientResponse::set_allocated_cache_expression(::std::string* cache_expression) {
+  if (cache_expression != NULL) {
+    set_has_cache_expression();
+  } else {
+    clear_has_cache_expression();
+  }
+  cache_expression_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), cache_expression);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+
+// optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+bool LoginReputationClientResponse::has_deprecated_cache_expression_exact_match() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+void LoginReputationClientResponse::set_has_deprecated_cache_expression_exact_match() {
+  _has_bits_[0] |= 0x00000010u;
+}
+void LoginReputationClientResponse::clear_has_deprecated_cache_expression_exact_match() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+void LoginReputationClientResponse::clear_deprecated_cache_expression_exact_match() {
+  deprecated_cache_expression_exact_match_ = false;
+  clear_has_deprecated_cache_expression_exact_match();
+}
+bool LoginReputationClientResponse::deprecated_cache_expression_exact_match() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.DEPRECATED_cache_expression_exact_match)
+  return deprecated_cache_expression_exact_match_;
+}
+void LoginReputationClientResponse::set_deprecated_cache_expression_exact_match(bool value) {
+  set_has_deprecated_cache_expression_exact_match();
+  deprecated_cache_expression_exact_match_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.DEPRECATED_cache_expression_exact_match)
+}
+
+// optional bytes verdict_token = 5;
+bool LoginReputationClientResponse::has_verdict_token() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void LoginReputationClientResponse::set_has_verdict_token() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void LoginReputationClientResponse::clear_has_verdict_token() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void LoginReputationClientResponse::clear_verdict_token() {
+  verdict_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_verdict_token();
+}
+const ::std::string& LoginReputationClientResponse::verdict_token() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_token)
+  return verdict_token_.GetNoArena();
+}
+void LoginReputationClientResponse::set_verdict_token(const ::std::string& value) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+#if LANG_CXX11
+void LoginReputationClientResponse::set_verdict_token(::std::string&& value) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+#endif
+void LoginReputationClientResponse::set_verdict_token(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+void LoginReputationClientResponse::set_verdict_token(const void* value, size_t size) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+::std::string* LoginReputationClientResponse::mutable_verdict_token() {
+  set_has_verdict_token();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.verdict_token)
+  return verdict_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* LoginReputationClientResponse::release_verdict_token() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.verdict_token)
+  clear_has_verdict_token();
+  return verdict_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void LoginReputationClientResponse::set_allocated_verdict_token(::std::string* verdict_token) {
+  if (verdict_token != NULL) {
+    set_has_verdict_token();
+  } else {
+    clear_has_verdict_token();
+  }
+  verdict_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), verdict_token);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientMalwareResponse::kBlacklistFieldNumber;
 const int ClientMalwareResponse::kBadIpFieldNumber;
 const int ClientMalwareResponse::kBadUrlFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientMalwareResponse::ClientMalwareResponse()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
@@ -9909,861 +12874,35 @@ void ClientDownloadRequest_ArchivedBinar
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int ClientDownloadRequest_URLChainEntry::kUrlFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kTypeFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kIpAddressFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kReferrerFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kMainFrameReferrerFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kIsRetargetingFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kIsUserInitiatedFieldNumber;
-const int ClientDownloadRequest_URLChainEntry::kTimestampInMillisecFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-ClientDownloadRequest_URLChainEntry::ClientDownloadRequest_URLChainEntry()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    protobuf_csd_2eproto::InitDefaults();
-  }
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.URLChainEntry)
-}
-ClientDownloadRequest_URLChainEntry::ClientDownloadRequest_URLChainEntry(const ClientDownloadRequest_URLChainEntry& from)
-  : ::google::protobuf::MessageLite(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_url()) {
-    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
-  }
-  ip_address_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_ip_address()) {
-    ip_address_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ip_address_);
-  }
-  referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_referrer()) {
-    referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_);
-  }
-  main_frame_referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_main_frame_referrer()) {
-    main_frame_referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_referrer_);
-  }
-  ::memcpy(&timestamp_in_millisec_, &from.timestamp_in_millisec_,
-    static_cast<size_t>(reinterpret_cast<char*>(&type_) -
-    reinterpret_cast<char*>(&timestamp_in_millisec_)) + sizeof(type_));
-  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.URLChainEntry)
-}
-
-void ClientDownloadRequest_URLChainEntry::SharedCtor() {
-  _cached_size_ = 0;
-  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ip_address_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  main_frame_referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&timestamp_in_millisec_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&is_user_initiated_) -
-      reinterpret_cast<char*>(&timestamp_in_millisec_)) + sizeof(is_user_initiated_));
-  type_ = 1;
-}
-
-ClientDownloadRequest_URLChainEntry::~ClientDownloadRequest_URLChainEntry() {
-  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  SharedDtor();
-}
-
-void ClientDownloadRequest_URLChainEntry::SharedDtor() {
-  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ip_address_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  referrer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  main_frame_referrer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-void ClientDownloadRequest_URLChainEntry::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ClientDownloadRequest_URLChainEntry& ClientDownloadRequest_URLChainEntry::default_instance() {
-  protobuf_csd_2eproto::InitDefaults();
-  return *internal_default_instance();
-}
-
-ClientDownloadRequest_URLChainEntry* ClientDownloadRequest_URLChainEntry::New(::google::protobuf::Arena* arena) const {
-  ClientDownloadRequest_URLChainEntry* n = new ClientDownloadRequest_URLChainEntry;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
-
-void ClientDownloadRequest_URLChainEntry::Clear() {
-// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 15u) {
-    if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*url_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(!ip_address_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*ip_address_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(!referrer_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*referrer_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(!main_frame_referrer_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*main_frame_referrer_.UnsafeRawStringPointer())->clear();
-    }
-  }
-  if (cached_has_bits & 240u) {
-    ::memset(&timestamp_in_millisec_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&is_user_initiated_) -
-        reinterpret_cast<char*>(&timestamp_in_millisec_)) + sizeof(is_user_initiated_));
-    type_ = 1;
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool ClientDownloadRequest_URLChainEntry::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
-      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
-          &::google::protobuf::internal::InternalMetadataWithArenaLite::
-              mutable_unknown_fields));
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string, false);
-  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string url = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_url()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType_IsValid(value)) {
-            set_type(static_cast< ::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType >(value));
-          } else {
-            unknown_fields_stream.WriteVarint32(16u);
-            unknown_fields_stream.WriteVarint32(
-                static_cast< ::google::protobuf::uint32>(value));
-          }
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string ip_address = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_ip_address()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string referrer = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_referrer()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string main_frame_referrer = 5;
-      case 5: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_main_frame_referrer()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional bool is_retargeting = 6;
-      case 6: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
-          set_has_is_retargeting();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_retargeting_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional bool is_user_initiated = 7;
-      case 7: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
-          set_has_is_user_initiated();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_user_initiated_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional double timestamp_in_millisec = 8;
-      case 8: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(65u /* 65 & 0xFF */)) {
-          set_has_timestamp_in_millisec();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
-                 input, &timestamp_in_millisec_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  return false;
-#undef DO_
-}
-
-void ClientDownloadRequest_URLChainEntry::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional string url = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->url(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-  if (cached_has_bits & 0x00000080u) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      2, this->type(), output);
-  }
-
-  // optional string ip_address = 3;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      3, this->ip_address(), output);
-  }
-
-  // optional string referrer = 4;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      4, this->referrer(), output);
-  }
-
-  // optional string main_frame_referrer = 5;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      5, this->main_frame_referrer(), output);
-  }
-
-  // optional bool is_retargeting = 6;
-  if (cached_has_bits & 0x00000020u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->is_retargeting(), output);
-  }
-
-  // optional bool is_user_initiated = 7;
-  if (cached_has_bits & 0x00000040u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->is_user_initiated(), output);
-  }
-
-  // optional double timestamp_in_millisec = 8;
-  if (cached_has_bits & 0x00000010u) {
-    ::google::protobuf::internal::WireFormatLite::WriteDouble(8, this->timestamp_in_millisec(), output);
-  }
-
-  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
-                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
-  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.URLChainEntry)
-}
-
-size_t ClientDownloadRequest_URLChainEntry::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  size_t total_size = 0;
-
-  total_size += _internal_metadata_.unknown_fields().size();
-
-  if (_has_bits_[0 / 32] & 255u) {
-    // optional string url = 1;
-    if (has_url()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->url());
-    }
-
-    // optional string ip_address = 3;
-    if (has_ip_address()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->ip_address());
-    }
-
-    // optional string referrer = 4;
-    if (has_referrer()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->referrer());
-    }
-
-    // optional string main_frame_referrer = 5;
-    if (has_main_frame_referrer()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->main_frame_referrer());
-    }
-
-    // optional double timestamp_in_millisec = 8;
-    if (has_timestamp_in_millisec()) {
-      total_size += 1 + 8;
-    }
-
-    // optional bool is_retargeting = 6;
-    if (has_is_retargeting()) {
-      total_size += 1 + 1;
-    }
-
-    // optional bool is_user_initiated = 7;
-    if (has_is_user_initiated()) {
-      total_size += 1 + 1;
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-    if (has_type()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
-    }
-
-  }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ClientDownloadRequest_URLChainEntry::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_URLChainEntry*>(&from));
-}
-
-void ClientDownloadRequest_URLChainEntry::MergeFrom(const ClientDownloadRequest_URLChainEntry& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 255u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_url();
-      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
-    }
-    if (cached_has_bits & 0x00000002u) {
-      set_has_ip_address();
-      ip_address_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ip_address_);
-    }
-    if (cached_has_bits & 0x00000004u) {
-      set_has_referrer();
-      referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_);
-    }
-    if (cached_has_bits & 0x00000008u) {
-      set_has_main_frame_referrer();
-      main_frame_referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_referrer_);
-    }
-    if (cached_has_bits & 0x00000010u) {
-      timestamp_in_millisec_ = from.timestamp_in_millisec_;
-    }
-    if (cached_has_bits & 0x00000020u) {
-      is_retargeting_ = from.is_retargeting_;
-    }
-    if (cached_has_bits & 0x00000040u) {
-      is_user_initiated_ = from.is_user_initiated_;
-    }
-    if (cached_has_bits & 0x00000080u) {
-      type_ = from.type_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
-}
-
-void ClientDownloadRequest_URLChainEntry::CopyFrom(const ClientDownloadRequest_URLChainEntry& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.URLChainEntry)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ClientDownloadRequest_URLChainEntry::IsInitialized() const {
-  return true;
-}
-
-void ClientDownloadRequest_URLChainEntry::Swap(ClientDownloadRequest_URLChainEntry* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void ClientDownloadRequest_URLChainEntry::InternalSwap(ClientDownloadRequest_URLChainEntry* other) {
-  using std::swap;
-  url_.Swap(&other->url_);
-  ip_address_.Swap(&other->ip_address_);
-  referrer_.Swap(&other->referrer_);
-  main_frame_referrer_.Swap(&other->main_frame_referrer_);
-  swap(timestamp_in_millisec_, other->timestamp_in_millisec_);
-  swap(is_retargeting_, other->is_retargeting_);
-  swap(is_user_initiated_, other->is_user_initiated_);
-  swap(type_, other->type_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
-}
-
-::std::string ClientDownloadRequest_URLChainEntry::GetTypeName() const {
-  return "safe_browsing.ClientDownloadRequest.URLChainEntry";
-}
-
-#if PROTOBUF_INLINE_NOT_IN_HEADERS
-// ClientDownloadRequest_URLChainEntry
-
-// optional string url = 1;
-bool ClientDownloadRequest_URLChainEntry::has_url() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_url() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_url() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_url() {
-  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_url();
-}
-const ::std::string& ClientDownloadRequest_URLChainEntry::url() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  return url_.GetNoArena();
-}
-void ClientDownloadRequest_URLChainEntry::set_url(const ::std::string& value) {
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-#if LANG_CXX11
-void ClientDownloadRequest_URLChainEntry::set_url(::std::string&& value) {
-  set_has_url();
-  url_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-#endif
-void ClientDownloadRequest_URLChainEntry::set_url(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-void ClientDownloadRequest_URLChainEntry::set_url(const char* value, size_t size) {
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-::std::string* ClientDownloadRequest_URLChainEntry::mutable_url() {
-  set_has_url();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientDownloadRequest_URLChainEntry::release_url() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  clear_has_url();
-  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientDownloadRequest_URLChainEntry::set_allocated_url(::std::string* url) {
-  if (url != NULL) {
-    set_has_url();
-  } else {
-    clear_has_url();
-  }
-  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-bool ClientDownloadRequest_URLChainEntry::has_type() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_type() {
-  _has_bits_[0] |= 0x00000080u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_type() {
-  _has_bits_[0] &= ~0x00000080u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_type() {
-  type_ = 1;
-  clear_has_type();
-}
-::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::type() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.type)
-  return static_cast< ::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType >(type_);
-}
-void ClientDownloadRequest_URLChainEntry::set_type(::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType value) {
-  assert(::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType_IsValid(value));
-  set_has_type();
-  type_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.type)
-}
-
-// optional string ip_address = 3;
-bool ClientDownloadRequest_URLChainEntry::has_ip_address() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_ip_address() {
-  _has_bits_[0] |= 0x00000002u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_ip_address() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_ip_address() {
-  ip_address_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_ip_address();
-}
-const ::std::string& ClientDownloadRequest_URLChainEntry::ip_address() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  return ip_address_.GetNoArena();
-}
-void ClientDownloadRequest_URLChainEntry::set_ip_address(const ::std::string& value) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-#if LANG_CXX11
-void ClientDownloadRequest_URLChainEntry::set_ip_address(::std::string&& value) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-#endif
-void ClientDownloadRequest_URLChainEntry::set_ip_address(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-void ClientDownloadRequest_URLChainEntry::set_ip_address(const char* value, size_t size) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-::std::string* ClientDownloadRequest_URLChainEntry::mutable_ip_address() {
-  set_has_ip_address();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  return ip_address_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientDownloadRequest_URLChainEntry::release_ip_address() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  clear_has_ip_address();
-  return ip_address_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientDownloadRequest_URLChainEntry::set_allocated_ip_address(::std::string* ip_address) {
-  if (ip_address != NULL) {
-    set_has_ip_address();
-  } else {
-    clear_has_ip_address();
-  }
-  ip_address_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ip_address);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-
-// optional string referrer = 4;
-bool ClientDownloadRequest_URLChainEntry::has_referrer() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_referrer() {
-  _has_bits_[0] |= 0x00000004u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_referrer() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_referrer() {
-  referrer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_referrer();
-}
-const ::std::string& ClientDownloadRequest_URLChainEntry::referrer() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  return referrer_.GetNoArena();
-}
-void ClientDownloadRequest_URLChainEntry::set_referrer(const ::std::string& value) {
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-#if LANG_CXX11
-void ClientDownloadRequest_URLChainEntry::set_referrer(::std::string&& value) {
-  set_has_referrer();
-  referrer_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-#endif
-void ClientDownloadRequest_URLChainEntry::set_referrer(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-void ClientDownloadRequest_URLChainEntry::set_referrer(const char* value, size_t size) {
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-::std::string* ClientDownloadRequest_URLChainEntry::mutable_referrer() {
-  set_has_referrer();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  return referrer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientDownloadRequest_URLChainEntry::release_referrer() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  clear_has_referrer();
-  return referrer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientDownloadRequest_URLChainEntry::set_allocated_referrer(::std::string* referrer) {
-  if (referrer != NULL) {
-    set_has_referrer();
-  } else {
-    clear_has_referrer();
-  }
-  referrer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-
-// optional string main_frame_referrer = 5;
-bool ClientDownloadRequest_URLChainEntry::has_main_frame_referrer() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_main_frame_referrer() {
-  _has_bits_[0] |= 0x00000008u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_main_frame_referrer() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_main_frame_referrer() {
-  main_frame_referrer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_main_frame_referrer();
-}
-const ::std::string& ClientDownloadRequest_URLChainEntry::main_frame_referrer() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  return main_frame_referrer_.GetNoArena();
-}
-void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const ::std::string& value) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-#if LANG_CXX11
-void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(::std::string&& value) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-#endif
-void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const char* value, size_t size) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-::std::string* ClientDownloadRequest_URLChainEntry::mutable_main_frame_referrer() {
-  set_has_main_frame_referrer();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  return main_frame_referrer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientDownloadRequest_URLChainEntry::release_main_frame_referrer() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  clear_has_main_frame_referrer();
-  return main_frame_referrer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientDownloadRequest_URLChainEntry::set_allocated_main_frame_referrer(::std::string* main_frame_referrer) {
-  if (main_frame_referrer != NULL) {
-    set_has_main_frame_referrer();
-  } else {
-    clear_has_main_frame_referrer();
-  }
-  main_frame_referrer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), main_frame_referrer);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-
-// optional bool is_retargeting = 6;
-bool ClientDownloadRequest_URLChainEntry::has_is_retargeting() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_is_retargeting() {
-  _has_bits_[0] |= 0x00000020u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_is_retargeting() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_is_retargeting() {
-  is_retargeting_ = false;
-  clear_has_is_retargeting();
-}
-bool ClientDownloadRequest_URLChainEntry::is_retargeting() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.is_retargeting)
-  return is_retargeting_;
-}
-void ClientDownloadRequest_URLChainEntry::set_is_retargeting(bool value) {
-  set_has_is_retargeting();
-  is_retargeting_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.is_retargeting)
-}
-
-// optional bool is_user_initiated = 7;
-bool ClientDownloadRequest_URLChainEntry::has_is_user_initiated() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_is_user_initiated() {
-  _has_bits_[0] |= 0x00000040u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_is_user_initiated() {
-  _has_bits_[0] &= ~0x00000040u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_is_user_initiated() {
-  is_user_initiated_ = false;
-  clear_has_is_user_initiated();
-}
-bool ClientDownloadRequest_URLChainEntry::is_user_initiated() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.is_user_initiated)
-  return is_user_initiated_;
-}
-void ClientDownloadRequest_URLChainEntry::set_is_user_initiated(bool value) {
-  set_has_is_user_initiated();
-  is_user_initiated_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.is_user_initiated)
-}
-
-// optional double timestamp_in_millisec = 8;
-bool ClientDownloadRequest_URLChainEntry::has_timestamp_in_millisec() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-void ClientDownloadRequest_URLChainEntry::set_has_timestamp_in_millisec() {
-  _has_bits_[0] |= 0x00000010u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_has_timestamp_in_millisec() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-void ClientDownloadRequest_URLChainEntry::clear_timestamp_in_millisec() {
-  timestamp_in_millisec_ = 0;
-  clear_has_timestamp_in_millisec();
-}
-double ClientDownloadRequest_URLChainEntry::timestamp_in_millisec() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.timestamp_in_millisec)
-  return timestamp_in_millisec_;
-}
-void ClientDownloadRequest_URLChainEntry::set_timestamp_in_millisec(double value) {
-  set_has_timestamp_in_millisec();
-  timestamp_in_millisec_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.timestamp_in_millisec)
-}
-
-#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
-
-// ===================================================================
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientDownloadRequest::kUrlFieldNumber;
 const int ClientDownloadRequest::kDigestsFieldNumber;
 const int ClientDownloadRequest::kLengthFieldNumber;
 const int ClientDownloadRequest::kResourcesFieldNumber;
 const int ClientDownloadRequest::kSignatureFieldNumber;
 const int ClientDownloadRequest::kUserInitiatedFieldNumber;
 const int ClientDownloadRequest::kFileBasenameFieldNumber;
 const int ClientDownloadRequest::kDownloadTypeFieldNumber;
 const int ClientDownloadRequest::kLocaleFieldNumber;
 const int ClientDownloadRequest::kImageHeadersFieldNumber;
 const int ClientDownloadRequest::kArchivedBinaryFieldNumber;
 const int ClientDownloadRequest::kPopulationFieldNumber;
 const int ClientDownloadRequest::kArchiveValidFieldNumber;
 const int ClientDownloadRequest::kSkippedUrlWhitelistFieldNumber;
 const int ClientDownloadRequest::kSkippedCertificateWhitelistFieldNumber;
 const int ClientDownloadRequest::kAlternateExtensionsFieldNumber;
-const int ClientDownloadRequest::kUrlChainFieldNumber;
+const int ClientDownloadRequest::kReferrerChainFieldNumber;
+const int ClientDownloadRequest::kDEPRECATEDDownloadAttributionFinchEnabledFieldNumber;
+const int ClientDownloadRequest::kUdifCodeSignatureFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientDownloadRequest::ClientDownloadRequest()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
@@ -10772,30 +12911,34 @@ ClientDownloadRequest::ClientDownloadReq
 ClientDownloadRequest::ClientDownloadRequest(const ClientDownloadRequest& from)
   : ::google::protobuf::MessageLite(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
       _cached_size_(0),
       resources_(from.resources_),
       archived_binary_(from.archived_binary_),
       alternate_extensions_(from.alternate_extensions_),
-      url_chain_(from.url_chain_) {
+      referrer_chain_(from.referrer_chain_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_url()) {
     url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
   }
   file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_file_basename()) {
     file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
   }
   locale_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_locale()) {
     locale_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.locale_);
   }
+  udif_code_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_udif_code_signature()) {
+    udif_code_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.udif_code_signature_);
+  }
   if (from.has_digests()) {
     digests_ = new ::safe_browsing::ClientDownloadRequest_Digests(*from.digests_);
   } else {
     digests_ = NULL;
   }
   if (from.has_signature()) {
     signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
   } else {
@@ -10817,30 +12960,32 @@ ClientDownloadRequest::ClientDownloadReq
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest)
 }
 
 void ClientDownloadRequest::SharedCtor() {
   _cached_size_ = 0;
   url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   locale_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  udif_code_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&digests_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&skipped_certificate_whitelist_) -
       reinterpret_cast<char*>(&digests_)) + sizeof(skipped_certificate_whitelist_));
 }
 
 ClientDownloadRequest::~ClientDownloadRequest() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest)
   SharedDtor();
 }
 
 void ClientDownloadRequest::SharedDtor() {
   url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   file_basename_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   locale_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  udif_code_signature_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (this != internal_default_instance()) delete digests_;
   if (this != internal_default_instance()) delete signature_;
   if (this != internal_default_instance()) delete image_headers_;
   if (this != internal_default_instance()) delete population_;
 }
 
 void ClientDownloadRequest::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
@@ -10864,53 +13009,56 @@ void ClientDownloadRequest::Clear() {
 // @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   resources_.Clear();
   archived_binary_.Clear();
   alternate_extensions_.Clear();
-  url_chain_.Clear();
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 127u) {
+  referrer_chain_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 255u) {
     if (cached_has_bits & 0x00000001u) {
       GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*url_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(!file_basename_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*file_basename_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000004u) {
       GOOGLE_DCHECK(!locale_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*locale_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(digests_ != NULL);
-      digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
+      GOOGLE_DCHECK(!udif_code_signature_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*udif_code_signature_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000010u) {
+      GOOGLE_DCHECK(digests_ != NULL);
+      digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
+    }
+    if (cached_has_bits & 0x00000020u) {
       GOOGLE_DCHECK(signature_ != NULL);
       signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
     }
-    if (cached_has_bits & 0x00000020u) {
+    if (cached_has_bits & 0x00000040u) {
       GOOGLE_DCHECK(image_headers_ != NULL);
       image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
     }
-    if (cached_has_bits & 0x00000040u) {
+    if (cached_has_bits & 0x00000080u) {
       GOOGLE_DCHECK(population_ != NULL);
       population_->::safe_browsing::ChromeUserPopulation::Clear();
     }
   }
-  length_ = GOOGLE_LONGLONG(0);
-  if (cached_has_bits & 7936u) {
-    ::memset(&download_type_, 0, static_cast<size_t>(
+  if (cached_has_bits & 32512u) {
+    ::memset(&length_, 0, static_cast<size_t>(
         reinterpret_cast<char*>(&skipped_certificate_whitelist_) -
-        reinterpret_cast<char*>(&download_type_)) + sizeof(skipped_certificate_whitelist_));
+        reinterpret_cast<char*>(&length_)) + sizeof(skipped_certificate_whitelist_));
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ClientDownloadRequest::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
@@ -11133,22 +13281,48 @@ bool ClientDownloadRequest::MergePartial
           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                 input, this->add_alternate_extensions()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
+      // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
       case 36: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(34u /* 290 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_url_chain()));
+                input, add_referrer_chain()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+      case 39: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(56u /* 312 & 0xFF */)) {
+          set_has_deprecated_download_attribution_finch_enabled();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &deprecated_download_attribution_finch_enabled_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bytes udif_code_signature = 40;
+      case 40: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(66u /* 322 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_udif_code_signature()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
       default: {
       handle_unusual:
@@ -11179,107 +13353,118 @@ void ClientDownloadRequest::SerializeWit
   cached_has_bits = _has_bits_[0];
   // required string url = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
       1, this->url(), output);
   }
 
   // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
-  if (cached_has_bits & 0x00000008u) {
+  if (cached_has_bits & 0x00000010u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       2, *this->digests_, output);
   }
 
   // required int64 length = 3;
-  if (cached_has_bits & 0x00000080u) {
+  if (cached_has_bits & 0x00000100u) {
     ::google::protobuf::internal::WireFormatLite::WriteInt64(3, this->length(), output);
   }
 
   // repeated .safe_browsing.ClientDownloadRequest.Resource resources = 4;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->resources_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       4, this->resources(static_cast<int>(i)), output);
   }
 
   // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-  if (cached_has_bits & 0x00000010u) {
+  if (cached_has_bits & 0x00000020u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       5, *this->signature_, output);
   }
 
   // optional bool user_initiated = 6;
-  if (cached_has_bits & 0x00000200u) {
+  if (cached_has_bits & 0x00000800u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->user_initiated(), output);
   }
 
   // optional string file_basename = 9;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
       9, this->file_basename(), output);
   }
 
   // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
-  if (cached_has_bits & 0x00000100u) {
+  if (cached_has_bits & 0x00000400u) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       10, this->download_type(), output);
   }
 
   // optional string locale = 11;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
       11, this->locale(), output);
   }
 
   // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
-  if (cached_has_bits & 0x00000020u) {
+  if (cached_has_bits & 0x00000040u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       18, *this->image_headers_, output);
   }
 
   // repeated .safe_browsing.ClientDownloadRequest.ArchivedBinary archived_binary = 22;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->archived_binary_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       22, this->archived_binary(static_cast<int>(i)), output);
   }
 
   // optional .safe_browsing.ChromeUserPopulation population = 24;
-  if (cached_has_bits & 0x00000040u) {
+  if (cached_has_bits & 0x00000080u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       24, *this->population_, output);
   }
 
   // optional bool archive_valid = 26;
-  if (cached_has_bits & 0x00000400u) {
+  if (cached_has_bits & 0x00001000u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(26, this->archive_valid(), output);
   }
 
   // optional bool skipped_url_whitelist = 28;
-  if (cached_has_bits & 0x00000800u) {
+  if (cached_has_bits & 0x00002000u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(28, this->skipped_url_whitelist(), output);
   }
 
   // optional bool skipped_certificate_whitelist = 31;
-  if (cached_has_bits & 0x00001000u) {
+  if (cached_has_bits & 0x00004000u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(31, this->skipped_certificate_whitelist(), output);
   }
 
   // repeated string alternate_extensions = 35;
   for (int i = 0, n = this->alternate_extensions_size(); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteString(
       35, this->alternate_extensions(i), output);
   }
 
-  // repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
   for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->url_chain_size()); i < n; i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      36, this->url_chain(static_cast<int>(i)), output);
+      n = static_cast<unsigned int>(this->referrer_chain_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      36, this->referrer_chain(static_cast<int>(i)), output);
+  }
+
+  // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+  if (cached_has_bits & 0x00000200u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(39, this->deprecated_download_attribution_finch_enabled(), output);
+  }
+
+  // optional bytes udif_code_signature = 40;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      40, this->udif_code_signature(), output);
   }
 
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest)
 }
 
 size_t ClientDownloadRequest::RequiredFieldsByteSizeFallback() const {
@@ -11310,17 +13495,17 @@ size_t ClientDownloadRequest::RequiredFi
   return total_size;
 }
 size_t ClientDownloadRequest::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
-  if (((_has_bits_[0] & 0x00000089) ^ 0x00000089) == 0) {  // All required fields are present.
+  if (((_has_bits_[0] & 0x00000111) ^ 0x00000111) == 0) {  // All required fields are present.
     // required string url = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::StringSize(
         this->url());
 
     // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
@@ -11359,44 +13544,51 @@ size_t ClientDownloadRequest::ByteSizeLo
   // repeated string alternate_extensions = 35;
   total_size += 2 *
       ::google::protobuf::internal::FromIntSize(this->alternate_extensions_size());
   for (int i = 0, n = this->alternate_extensions_size(); i < n; i++) {
     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
       this->alternate_extensions(i));
   }
 
-  // repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
   {
-    unsigned int count = static_cast<unsigned int>(this->url_chain_size());
+    unsigned int count = static_cast<unsigned int>(this->referrer_chain_size());
     total_size += 2UL * count;
     for (unsigned int i = 0; i < count; i++) {
       total_size +=
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->url_chain(static_cast<int>(i)));
-    }
-  }
-
-  if (_has_bits_[0 / 32] & 6u) {
+          this->referrer_chain(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 14u) {
     // optional string file_basename = 9;
     if (has_file_basename()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::StringSize(
           this->file_basename());
     }
 
     // optional string locale = 11;
     if (has_locale()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::StringSize(
           this->locale());
     }
 
-  }
-  if (_has_bits_[0 / 32] & 112u) {
+    // optional bytes udif_code_signature = 40;
+    if (has_udif_code_signature()) {
+      total_size += 2 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->udif_code_signature());
+    }
+
+  }
+  if (_has_bits_[0 / 32] & 224u) {
     // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
     if (has_signature()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->signature_);
     }
 
     // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
@@ -11409,17 +13601,22 @@ size_t ClientDownloadRequest::ByteSizeLo
     // optional .safe_browsing.ChromeUserPopulation population = 24;
     if (has_population()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->population_);
     }
 
   }
-  if (_has_bits_[8 / 32] & 7936u) {
+  if (_has_bits_[8 / 32] & 32256u) {
+    // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+    if (has_deprecated_download_attribution_finch_enabled()) {
+      total_size += 2 + 1;
+    }
+
     // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
     if (has_download_type()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->download_type());
     }
 
     // optional bool user_initiated = 6;
     if (has_user_initiated()) {
@@ -11459,77 +13656,83 @@ void ClientDownloadRequest::MergeFrom(co
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   resources_.MergeFrom(from.resources_);
   archived_binary_.MergeFrom(from.archived_binary_);
   alternate_extensions_.MergeFrom(from.alternate_extensions_);
-  url_chain_.MergeFrom(from.url_chain_);
+  referrer_chain_.MergeFrom(from.referrer_chain_);
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 255u) {
     if (cached_has_bits & 0x00000001u) {
       set_has_url();
       url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
     }
     if (cached_has_bits & 0x00000002u) {
       set_has_file_basename();
       file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
     }
     if (cached_has_bits & 0x00000004u) {
       set_has_locale();
       locale_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.locale_);
     }
     if (cached_has_bits & 0x00000008u) {
-      mutable_digests()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digests());
+      set_has_udif_code_signature();
+      udif_code_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.udif_code_signature_);
     }
     if (cached_has_bits & 0x00000010u) {
-      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
+      mutable_digests()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digests());
     }
     if (cached_has_bits & 0x00000020u) {
-      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
+      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
     }
     if (cached_has_bits & 0x00000040u) {
-      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
+      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
     }
     if (cached_has_bits & 0x00000080u) {
+      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
+    }
+  }
+  if (cached_has_bits & 32512u) {
+    if (cached_has_bits & 0x00000100u) {
       length_ = from.length_;
     }
-    _has_bits_[0] |= cached_has_bits;
-  }
-  if (cached_has_bits & 7936u) {
-    if (cached_has_bits & 0x00000100u) {
-      download_type_ = from.download_type_;
-    }
     if (cached_has_bits & 0x00000200u) {
-      user_initiated_ = from.user_initiated_;
+      deprecated_download_attribution_finch_enabled_ = from.deprecated_download_attribution_finch_enabled_;
     }
     if (cached_has_bits & 0x00000400u) {
-      archive_valid_ = from.archive_valid_;
+      download_type_ = from.download_type_;
     }
     if (cached_has_bits & 0x00000800u) {
-      skipped_url_whitelist_ = from.skipped_url_whitelist_;
+      user_initiated_ = from.user_initiated_;
     }
     if (cached_has_bits & 0x00001000u) {
+      archive_valid_ = from.archive_valid_;
+    }
+    if (cached_has_bits & 0x00002000u) {
+      skipped_url_whitelist_ = from.skipped_url_whitelist_;
+    }
+    if (cached_has_bits & 0x00004000u) {
       skipped_certificate_whitelist_ = from.skipped_certificate_whitelist_;
     }
     _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ClientDownloadRequest::CopyFrom(const ClientDownloadRequest& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest)
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool ClientDownloadRequest::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000089) != 0x00000089) return false;
+  if ((_has_bits_[0] & 0x00000111) != 0x00000111) return false;
   if (!::google::protobuf::internal::AllAreInitialized(this->resources())) return false;
   if (!::google::protobuf::internal::AllAreInitialized(this->archived_binary())) return false;
   if (has_signature()) {
     if (!this->signature_->IsInitialized()) return false;
   }
   if (has_image_headers()) {
     if (!this->image_headers_->IsInitialized()) return false;
   }
@@ -11540,25 +13743,27 @@ void ClientDownloadRequest::Swap(ClientD
   if (other == this) return;
   InternalSwap(other);
 }
 void ClientDownloadRequest::InternalSwap(ClientDownloadRequest* other) {
   using std::swap;
   resources_.InternalSwap(&other->resources_);
   archived_binary_.InternalSwap(&other->archived_binary_);
   alternate_extensions_.InternalSwap(&other->alternate_extensions_);
-  url_chain_.InternalSwap(&other->url_chain_);
+  referrer_chain_.InternalSwap(&other->referrer_chain_);
   url_.Swap(&other->url_);
   file_basename_.Swap(&other->file_basename_);
   locale_.Swap(&other->locale_);
+  udif_code_signature_.Swap(&other->udif_code_signature_);
   swap(digests_, other->digests_);
   swap(signature_, other->signature_);
   swap(image_headers_, other->image_headers_);
   swap(population_, other->population_);
   swap(length_, other->length_);
+  swap(deprecated_download_attribution_finch_enabled_, other->deprecated_download_attribution_finch_enabled_);
   swap(download_type_, other->download_type_);
   swap(user_initiated_, other->user_initiated_);
   swap(archive_valid_, other->archive_valid_);
   swap(skipped_url_whitelist_, other->skipped_url_whitelist_);
   swap(skipped_certificate_whitelist_, other->skipped_certificate_whitelist_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
@@ -11631,23 +13836,23 @@ void ClientDownloadRequest::set_allocate
     clear_has_url();
   }
   url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.url)
 }
 
 // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
 bool ClientDownloadRequest::has_digests() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
+  return (_has_bits_[0] & 0x00000010u) != 0;
 }
 void ClientDownloadRequest::set_has_digests() {
-  _has_bits_[0] |= 0x00000008u;
+  _has_bits_[0] |= 0x00000010u;
 }
 void ClientDownloadRequest::clear_has_digests() {
-  _has_bits_[0] &= ~0x00000008u;
+  _has_bits_[0] &= ~0x00000010u;
 }
 void ClientDownloadRequest::clear_digests() {
   if (digests_ != NULL) digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
   clear_has_digests();
 }
 const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest::digests() const {
   const ::safe_browsing::ClientDownloadRequest_Digests* p = digests_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.digests)
@@ -11677,23 +13882,23 @@ void ClientDownloadRequest::set_allocate
   } else {
     clear_has_digests();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.digests)
 }
 
 // required int64 length = 3;
 bool ClientDownloadRequest::has_length() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
+  return (_has_bits_[0] & 0x00000100u) != 0;
 }
 void ClientDownloadRequest::set_has_length() {
-  _has_bits_[0] |= 0x00000080u;
+  _has_bits_[0] |= 0x00000100u;
 }
 void ClientDownloadRequest::clear_has_length() {
-  _has_bits_[0] &= ~0x00000080u;
+  _has_bits_[0] &= ~0x00000100u;
 }
 void ClientDownloadRequest::clear_length() {
   length_ = GOOGLE_LONGLONG(0);
   clear_has_length();
 }
 ::google::protobuf::int64 ClientDownloadRequest::length() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.length)
   return length_;
@@ -11731,23 +13936,23 @@ ClientDownloadRequest::mutable_resources
 const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >&
 ClientDownloadRequest::resources() const {
   // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.resources)
   return resources_;
 }
 
 // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
 bool ClientDownloadRequest::has_signature() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
+  return (_has_bits_[0] & 0x00000020u) != 0;
 }
 void ClientDownloadRequest::set_has_signature() {
-  _has_bits_[0] |= 0x00000010u;
+  _has_bits_[0] |= 0x00000020u;
 }
 void ClientDownloadRequest::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000010u;
+  _has_bits_[0] &= ~0x00000020u;
 }
 void ClientDownloadRequest::clear_signature() {
   if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
   clear_has_signature();
 }
 const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest::signature() const {
   const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.signature)
@@ -11777,23 +13982,23 @@ void ClientDownloadRequest::set_allocate
   } else {
     clear_has_signature();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.signature)
 }
 
 // optional bool user_initiated = 6;
 bool ClientDownloadRequest::has_user_initiated() const {
-  return (_has_bits_[0] & 0x00000200u) != 0;
+  return (_has_bits_[0] & 0x00000800u) != 0;
 }
 void ClientDownloadRequest::set_has_user_initiated() {
-  _has_bits_[0] |= 0x00000200u;
+  _has_bits_[0] |= 0x00000800u;
 }
 void ClientDownloadRequest::clear_has_user_initiated() {
-  _has_bits_[0] &= ~0x00000200u;
+  _has_bits_[0] &= ~0x00000800u;
 }
 void ClientDownloadRequest::clear_user_initiated() {
   user_initiated_ = false;
   clear_has_user_initiated();
 }
 bool ClientDownloadRequest::user_initiated() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.user_initiated)
   return user_initiated_;
@@ -11864,23 +14069,23 @@ void ClientDownloadRequest::set_allocate
     clear_has_file_basename();
   }
   file_basename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_basename);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.file_basename)
 }
 
 // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
 bool ClientDownloadRequest::has_download_type() const {
-  return (_has_bits_[0] & 0x00000100u) != 0;
+  return (_has_bits_[0] & 0x00000400u) != 0;
 }
 void ClientDownloadRequest::set_has_download_type() {
-  _has_bits_[0] |= 0x00000100u;
+  _has_bits_[0] |= 0x00000400u;
 }
 void ClientDownloadRequest::clear_has_download_type() {
-  _has_bits_[0] &= ~0x00000100u;
+  _has_bits_[0] &= ~0x00000400u;
 }
 void ClientDownloadRequest::clear_download_type() {
   download_type_ = 0;
   clear_has_download_type();
 }
 ::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest::download_type() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.download_type)
   return static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(download_type_);
@@ -11952,23 +14157,23 @@ void ClientDownloadRequest::set_allocate
     clear_has_locale();
   }
   locale_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), locale);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.locale)
 }
 
 // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
 bool ClientDownloadRequest::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
+  return (_has_bits_[0] & 0x00000040u) != 0;
 }
 void ClientDownloadRequest::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000020u;
+  _has_bits_[0] |= 0x00000040u;
 }
 void ClientDownloadRequest::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000020u;
+  _has_bits_[0] &= ~0x00000040u;
 }
 void ClientDownloadRequest::clear_image_headers() {
   if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
   clear_has_image_headers();
 }
 const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest::image_headers() const {
   const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.image_headers)
@@ -12028,23 +14233,23 @@ ClientDownloadRequest::mutable_archived_
 const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >&
 ClientDownloadRequest::archived_binary() const {
   // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.archived_binary)
   return archived_binary_;
 }
 
 // optional .safe_browsing.ChromeUserPopulation population = 24;
 bool ClientDownloadRequest::has_population() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
+  return (_has_bits_[0] & 0x00000080u) != 0;
 }
 void ClientDownloadRequest::set_has_population() {
-  _has_bits_[0] |= 0x00000040u;
+  _has_bits_[0] |= 0x00000080u;
 }
 void ClientDownloadRequest::clear_has_population() {
-  _has_bits_[0] &= ~0x00000040u;
+  _has_bits_[0] &= ~0x00000080u;
 }
 void ClientDownloadRequest::clear_population() {
   if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
   clear_has_population();
 }
 const ::safe_browsing::ChromeUserPopulation& ClientDownloadRequest::population() const {
   const ::safe_browsing::ChromeUserPopulation* p = population_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.population)
@@ -12074,23 +14279,23 @@ void ClientDownloadRequest::set_allocate
   } else {
     clear_has_population();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.population)
 }
 
 // optional bool archive_valid = 26;
 bool ClientDownloadRequest::has_archive_valid() const {
-  return (_has_bits_[0] & 0x00000400u) != 0;
+  return (_has_bits_[0] & 0x00001000u) != 0;
 }
 void ClientDownloadRequest::set_has_archive_valid() {
-  _has_bits_[0] |= 0x00000400u;
+  _has_bits_[0] |= 0x00001000u;
 }
 void ClientDownloadRequest::clear_has_archive_valid() {
-  _has_bits_[0] &= ~0x00000400u;
+  _has_bits_[0] &= ~0x00001000u;
 }
 void ClientDownloadRequest::clear_archive_valid() {
   archive_valid_ = false;
   clear_has_archive_valid();
 }
 bool ClientDownloadRequest::archive_valid() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.archive_valid)
   return archive_valid_;
@@ -12098,23 +14303,23 @@ bool ClientDownloadRequest::archive_vali
 void ClientDownloadRequest::set_archive_valid(bool value) {
   set_has_archive_valid();
   archive_valid_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.archive_valid)
 }
 
 // optional bool skipped_url_whitelist = 28;
 bool ClientDownloadRequest::has_skipped_url_whitelist() const {
-  return (_has_bits_[0] & 0x00000800u) != 0;
+  return (_has_bits_[0] & 0x00002000u) != 0;
 }
 void ClientDownloadRequest::set_has_skipped_url_whitelist() {
-  _has_bits_[0] |= 0x00000800u;
+  _has_bits_[0] |= 0x00002000u;
 }
 void ClientDownloadRequest::clear_has_skipped_url_whitelist() {
-  _has_bits_[0] &= ~0x00000800u;
+  _has_bits_[0] &= ~0x00002000u;
 }
 void ClientDownloadRequest::clear_skipped_url_whitelist() {
   skipped_url_whitelist_ = false;
   clear_has_skipped_url_whitelist();
 }
 bool ClientDownloadRequest::skipped_url_whitelist() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
   return skipped_url_whitelist_;
@@ -12122,23 +14327,23 @@ bool ClientDownloadRequest::skipped_url_
 void ClientDownloadRequest::set_skipped_url_whitelist(bool value) {
   set_has_skipped_url_whitelist();
   skipped_url_whitelist_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
 }
 
 // optional bool skipped_certificate_whitelist = 31;
 bool ClientDownloadRequest::has_skipped_certificate_whitelist() const {
-  return (_has_bits_[0] & 0x00001000u) != 0;
+  return (_has_bits_[0] & 0x00004000u) != 0;
 }
 void ClientDownloadRequest::set_has_skipped_certificate_whitelist() {
-  _has_bits_[0] |= 0x00001000u;
+  _has_bits_[0] |= 0x00004000u;
 }
 void ClientDownloadRequest::clear_has_skipped_certificate_whitelist() {
-  _has_bits_[0] &= ~0x00001000u;
+  _has_bits_[0] &= ~0x00004000u;
 }
 void ClientDownloadRequest::clear_skipped_certificate_whitelist() {
   skipped_certificate_whitelist_ = false;
   clear_has_skipped_certificate_whitelist();
 }
 bool ClientDownloadRequest::skipped_certificate_whitelist() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_certificate_whitelist)
   return skipped_certificate_whitelist_;
@@ -12213,44 +14418,1343 @@ ClientDownloadRequest::alternate_extensi
   return alternate_extensions_;
 }
 ::google::protobuf::RepeatedPtrField< ::std::string>*
 ClientDownloadRequest::mutable_alternate_extensions() {
   // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.alternate_extensions)
   return &alternate_extensions_;
 }
 
-// repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
-int ClientDownloadRequest::url_chain_size() const {
-  return url_chain_.size();
-}
-void ClientDownloadRequest::clear_url_chain() {
-  url_chain_.Clear();
-}
-const ::safe_browsing::ClientDownloadRequest_URLChainEntry& ClientDownloadRequest::url_chain(int index) const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Get(index);
-}
-::safe_browsing::ClientDownloadRequest_URLChainEntry* ClientDownloadRequest::mutable_url_chain(int index) {
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Mutable(index);
-}
-::safe_browsing::ClientDownloadRequest_URLChainEntry* ClientDownloadRequest::add_url_chain() {
-  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Add();
-}
-::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry >*
-ClientDownloadRequest::mutable_url_chain() {
-  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.url_chain)
-  return &url_chain_;
-}
-const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry >&
-ClientDownloadRequest::url_chain() const {
-  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_;
+// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
+int ClientDownloadRequest::referrer_chain_size() const {
+  return referrer_chain_.size();
+}
+void ClientDownloadRequest::clear_referrer_chain() {
+  referrer_chain_.Clear();
+}
+const ::safe_browsing::ReferrerChainEntry& ClientDownloadRequest::referrer_chain(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Get(index);
+}
+::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::mutable_referrer_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Mutable(index);
+}
+::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::add_referrer_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
+ClientDownloadRequest::mutable_referrer_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return &referrer_chain_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
+ClientDownloadRequest::referrer_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_;
+}
+
+// optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+bool ClientDownloadRequest::has_deprecated_download_attribution_finch_enabled() const {
+  return (_has_bits_[0] & 0x00000200u) != 0;
+}
+void ClientDownloadRequest::set_has_deprecated_download_attribution_finch_enabled() {
+  _has_bits_[0] |= 0x00000200u;
+}
+void ClientDownloadRequest::clear_has_deprecated_download_attribution_finch_enabled() {
+  _has_bits_[0] &= ~0x00000200u;
+}
+void ClientDownloadRequest::clear_deprecated_download_attribution_finch_enabled() {
+  deprecated_download_attribution_finch_enabled_ = false;
+  clear_has_deprecated_download_attribution_finch_enabled();
+}
+bool ClientDownloadRequest::deprecated_download_attribution_finch_enabled() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.DEPRECATED_download_attribution_finch_enabled)
+  return deprecated_download_attribution_finch_enabled_;
+}
+void ClientDownloadRequest::set_deprecated_download_attribution_finch_enabled(bool value) {
+  set_has_deprecated_download_attribution_finch_enabled();
+  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;
+bool ClientDownloadRequest::has_udif_code_signature() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void ClientDownloadRequest::set_has_udif_code_signature() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void ClientDownloadRequest::clear_has_udif_code_signature() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void ClientDownloadRequest::clear_udif_code_signature() {
+  udif_code_signature_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_udif_code_signature();
+}
+const ::std::string& ClientDownloadRequest::udif_code_signature() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  return udif_code_signature_.GetNoArena();
+}
+void ClientDownloadRequest::set_udif_code_signature(const ::std::string& value) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+#if LANG_CXX11
+void ClientDownloadRequest::set_udif_code_signature(::std::string&& value) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+#endif
+void ClientDownloadRequest::set_udif_code_signature(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+void ClientDownloadRequest::set_udif_code_signature(const void* value, size_t size) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+::std::string* ClientDownloadRequest::mutable_udif_code_signature() {
+  set_has_udif_code_signature();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  return udif_code_signature_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ClientDownloadRequest::release_udif_code_signature() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  clear_has_udif_code_signature();
+  return udif_code_signature_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ClientDownloadRequest::set_allocated_udif_code_signature(::std::string* udif_code_signature) {
+  if (udif_code_signature != NULL) {
+    set_has_udif_code_signature();
+  } else {
+    clear_has_udif_code_signature();
+  }
+  udif_code_signature_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), udif_code_signature);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ReferrerChainEntry_ServerRedirect::kUrlFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ReferrerChainEntry_ServerRedirect::ReferrerChainEntry_ServerRedirect()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
+}
+ReferrerChainEntry_ServerRedirect::ReferrerChainEntry_ServerRedirect(const ReferrerChainEntry_ServerRedirect& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_url()) {
+    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+  }
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
+}
+
+void ReferrerChainEntry_ServerRedirect::SharedCtor() {
+  _cached_size_ = 0;
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+ReferrerChainEntry_ServerRedirect::~ReferrerChainEntry_ServerRedirect() {
+  // @@protoc_insertion_point(destructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  SharedDtor();
+}
+
+void ReferrerChainEntry_ServerRedirect::SharedDtor() {
+  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ReferrerChainEntry_ServerRedirect::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ReferrerChainEntry_ServerRedirect& ReferrerChainEntry_ServerRedirect::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+ReferrerChainEntry_ServerRedirect* ReferrerChainEntry_ServerRedirect::New(::google::protobuf::Arena* arena) const {
+  ReferrerChainEntry_ServerRedirect* n = new ReferrerChainEntry_ServerRedirect;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void ReferrerChainEntry_ServerRedirect::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  if (has_url()) {
+    GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*url_.UnsafeRawStringPointer())->clear();
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool ReferrerChainEntry_ServerRedirect::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string url = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  return false;
+#undef DO_
+}
+
+void ReferrerChainEntry_ServerRedirect::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string url = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->url(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.ReferrerChainEntry.ServerRedirect)
+}
+
+size_t ReferrerChainEntry_ServerRedirect::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // optional string url = 1;
+  if (has_url()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->url());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void ReferrerChainEntry_ServerRedirect::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const ReferrerChainEntry_ServerRedirect*>(&from));
+}
+
+void ReferrerChainEntry_ServerRedirect::MergeFrom(const ReferrerChainEntry_ServerRedirect& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.has_url()) {
+    set_has_url();
+    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+  }
+}
+
+void ReferrerChainEntry_ServerRedirect::CopyFrom(const ReferrerChainEntry_ServerRedirect& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ReferrerChainEntry_ServerRedirect::IsInitialized() const {
+  return true;
+}
+
+void ReferrerChainEntry_ServerRedirect::Swap(ReferrerChainEntry_ServerRedirect* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void ReferrerChainEntry_ServerRedirect::InternalSwap(ReferrerChainEntry_ServerRedirect* other) {
+  using std::swap;
+  url_.Swap(&other->url_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string ReferrerChainEntry_ServerRedirect::GetTypeName() const {
+  return "safe_browsing.ReferrerChainEntry.ServerRedirect";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ReferrerChainEntry_ServerRedirect
+
+// optional string url = 1;
+bool ReferrerChainEntry_ServerRedirect::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void ReferrerChainEntry_ServerRedirect::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void ReferrerChainEntry_ServerRedirect::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void ReferrerChainEntry_ServerRedirect::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+const ::std::string& ReferrerChainEntry_ServerRedirect::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  return url_.GetNoArena();
+}
+void ReferrerChainEntry_ServerRedirect::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry_ServerRedirect::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+#endif
+void ReferrerChainEntry_ServerRedirect::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+void ReferrerChainEntry_ServerRedirect::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+::std::string* ReferrerChainEntry_ServerRedirect::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry_ServerRedirect::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry_ServerRedirect::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ReferrerChainEntry::kUrlFieldNumber;
+const int ReferrerChainEntry::kMainFrameUrlFieldNumber;
+const int ReferrerChainEntry::kTypeFieldNumber;
+const int ReferrerChainEntry::kIpAddressesFieldNumber;
+const int ReferrerChainEntry::kReferrerUrlFieldNumber;
+const int ReferrerChainEntry::kReferrerMainFrameUrlFieldNumber;
+const int ReferrerChainEntry::kIsRetargetingFieldNumber;
+const int ReferrerChainEntry::kNavigationTimeMsecFieldNumber;
+const int ReferrerChainEntry::kServerRedirectChainFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ReferrerChainEntry::ReferrerChainEntry()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.ReferrerChainEntry)
+}
+ReferrerChainEntry::ReferrerChainEntry(const ReferrerChainEntry& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      ip_addresses_(from.ip_addresses_),
+      server_redirect_chain_(from.server_redirect_chain_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_url()) {
+    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+  }
+  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_referrer_url()) {
+    referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
+  }
+  referrer_main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_referrer_main_frame_url()) {
+    referrer_main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_main_frame_url_);
+  }
+  main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_main_frame_url()) {
+    main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_url_);
+  }
+  ::memcpy(&navigation_time_msec_, &from.navigation_time_msec_,
+    static_cast<size_t>(reinterpret_cast<char*>(&type_) -
+    reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(type_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.ReferrerChainEntry)
+}
+
+void ReferrerChainEntry::SharedCtor() {
+  _cached_size_ = 0;
+  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  referrer_main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&navigation_time_msec_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&is_retargeting_) -
+      reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(is_retargeting_));
+  type_ = 4;
+}
+
+ReferrerChainEntry::~ReferrerChainEntry() {
+  // @@protoc_insertion_point(destructor:safe_browsing.ReferrerChainEntry)
+  SharedDtor();
+}
+
+void ReferrerChainEntry::SharedDtor() {
+  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  referrer_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  referrer_main_frame_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  main_frame_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ReferrerChainEntry::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ReferrerChainEntry& ReferrerChainEntry::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+ReferrerChainEntry* ReferrerChainEntry::New(::google::protobuf::Arena* arena) const {
+  ReferrerChainEntry* n = new ReferrerChainEntry;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void ReferrerChainEntry::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.ReferrerChainEntry)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  ip_addresses_.Clear();
+  server_redirect_chain_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 15u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*url_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(!referrer_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*referrer_url_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000004u) {
+      GOOGLE_DCHECK(!referrer_main_frame_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*referrer_main_frame_url_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000008u) {
+      GOOGLE_DCHECK(!main_frame_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*main_frame_url_.UnsafeRawStringPointer())->clear();
+    }
+  }
+  if (cached_has_bits & 112u) {
+    ::memset(&navigation_time_msec_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&is_retargeting_) -
+        reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(is_retargeting_));
+    type_ = 4;
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool ReferrerChainEntry::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.ReferrerChainEntry)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string url = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::ReferrerChainEntry_URLType_IsValid(value)) {
+            set_type(static_cast< ::safe_browsing::ReferrerChainEntry_URLType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(16u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated string ip_addresses = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->add_ip_addresses()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string referrer_url = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_referrer_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string referrer_main_frame_url = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_referrer_main_frame_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool is_retargeting = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
+          set_has_is_retargeting();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &is_retargeting_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional double navigation_time_msec = 7;
+      case 7: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(57u /* 57 & 0xFF */)) {
+          set_has_navigation_time_msec();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+                 input, &navigation_time_msec_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+      case 8: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_server_redirect_chain()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string main_frame_url = 9;
+      case 9: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_main_frame_url()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.ReferrerChainEntry)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.ReferrerChainEntry)
+  return false;
+#undef DO_
+}
+
+void ReferrerChainEntry::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.ReferrerChainEntry)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string url = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->url(), output);
+  }
+
+  // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+  if (cached_has_bits & 0x00000040u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      2, this->type(), output);
+  }
+
+  // repeated string ip_addresses = 3;
+  for (int i = 0, n = this->ip_addresses_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteString(
+      3, this->ip_addresses(i), output);
+  }
+
+  // optional string referrer_url = 4;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      4, this->referrer_url(), output);
+  }
+
+  // optional string referrer_main_frame_url = 5;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      5, this->referrer_main_frame_url(), output);
+  }
+
+  // optional bool is_retargeting = 6;
+  if (cached_has_bits & 0x00000020u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->is_retargeting(), output);
+  }
+
+  // optional double navigation_time_msec = 7;
+  if (cached_has_bits & 0x00000010u) {
+    ::google::protobuf::internal::WireFormatLite::WriteDouble(7, this->navigation_time_msec(), output);
+  }
+
+  // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->server_redirect_chain_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      8, this->server_redirect_chain(static_cast<int>(i)), output);
+  }
+
+  // optional string main_frame_url = 9;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      9, this->main_frame_url(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.ReferrerChainEntry)
+}
+
+size_t ReferrerChainEntry::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ReferrerChainEntry)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated string ip_addresses = 3;
+  total_size += 1 *
+      ::google::protobuf::internal::FromIntSize(this->ip_addresses_size());
+  for (int i = 0, n = this->ip_addresses_size(); i < n; i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
+      this->ip_addresses(i));
+  }
+
+  // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+  {
+    unsigned int count = static_cast<unsigned int>(this->server_redirect_chain_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->server_redirect_chain(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 127u) {
+    // optional string url = 1;
+    if (has_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->url());
+    }
+
+    // optional string referrer_url = 4;
+    if (has_referrer_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->referrer_url());
+    }
+
+    // optional string referrer_main_frame_url = 5;
+    if (has_referrer_main_frame_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->referrer_main_frame_url());
+    }
+
+    // optional string main_frame_url = 9;
+    if (has_main_frame_url()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->main_frame_url());
+    }
+
+    // optional double navigation_time_msec = 7;
+    if (has_navigation_time_msec()) {
+      total_size += 1 + 8;
+    }
+
+    // optional bool is_retargeting = 6;
+    if (has_is_retargeting()) {
+      total_size += 1 + 1;
+    }
+
+    // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+    if (has_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void ReferrerChainEntry::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const ReferrerChainEntry*>(&from));
+}
+
+void ReferrerChainEntry::MergeFrom(const ReferrerChainEntry& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ReferrerChainEntry)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  ip_addresses_.MergeFrom(from.ip_addresses_);
+  server_redirect_chain_.MergeFrom(from.server_redirect_chain_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 127u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_url();
+      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      set_has_referrer_url();
+      referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
+    }
+    if (cached_has_bits & 0x00000004u) {
+      set_has_referrer_main_frame_url();
+      referrer_main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_main_frame_url_);
+    }
+    if (cached_has_bits & 0x00000008u) {
+      set_has_main_frame_url();
+      main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_url_);
+    }
+    if (cached_has_bits & 0x00000010u) {
+      navigation_time_msec_ = from.navigation_time_msec_;
+    }
+    if (cached_has_bits & 0x00000020u) {
+      is_retargeting_ = from.is_retargeting_;
+    }
+    if (cached_has_bits & 0x00000040u) {
+      type_ = from.type_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void ReferrerChainEntry::CopyFrom(const ReferrerChainEntry& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ReferrerChainEntry)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ReferrerChainEntry::IsInitialized() const {
+  return true;
+}
+
+void ReferrerChainEntry::Swap(ReferrerChainEntry* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void ReferrerChainEntry::InternalSwap(ReferrerChainEntry* other) {
+  using std::swap;
+  ip_addresses_.InternalSwap(&other->ip_addresses_);
+  server_redirect_chain_.InternalSwap(&other->server_redirect_chain_);
+  url_.Swap(&other->url_);
+  referrer_url_.Swap(&other->referrer_url_);
+  referrer_main_frame_url_.Swap(&other->referrer_main_frame_url_);
+  main_frame_url_.Swap(&other->main_frame_url_);
+  swap(navigation_time_msec_, other->navigation_time_msec_);
+  swap(is_retargeting_, other->is_retargeting_);
+  swap(type_, other->type_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string ReferrerChainEntry::GetTypeName() const {
+  return "safe_browsing.ReferrerChainEntry";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ReferrerChainEntry
+
+// optional string url = 1;
+bool ReferrerChainEntry::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void ReferrerChainEntry::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void ReferrerChainEntry::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void ReferrerChainEntry::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+const ::std::string& ReferrerChainEntry::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.url)
+  return url_.GetNoArena();
+}
+void ReferrerChainEntry::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.url)
+}
+#endif
+void ReferrerChainEntry::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.url)
+}
+void ReferrerChainEntry::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.url)
+}
+::std::string* ReferrerChainEntry::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.url)
+}
+
+// optional string main_frame_url = 9;
+bool ReferrerChainEntry::has_main_frame_url() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void ReferrerChainEntry::set_has_main_frame_url() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void ReferrerChainEntry::clear_has_main_frame_url() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void ReferrerChainEntry::clear_main_frame_url() {
+  main_frame_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_main_frame_url();
+}
+const ::std::string& ReferrerChainEntry::main_frame_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.main_frame_url)
+  return main_frame_url_.GetNoArena();
+}
+void ReferrerChainEntry::set_main_frame_url(const ::std::string& value) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_main_frame_url(::std::string&& value) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+#endif
+void ReferrerChainEntry::set_main_frame_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+void ReferrerChainEntry::set_main_frame_url(const char* value, size_t size) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+::std::string* ReferrerChainEntry::mutable_main_frame_url() {
+  set_has_main_frame_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.main_frame_url)
+  return main_frame_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry::release_main_frame_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.main_frame_url)
+  clear_has_main_frame_url();
+  return main_frame_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry::set_allocated_main_frame_url(::std::string* main_frame_url) {
+  if (main_frame_url != NULL) {
+    set_has_main_frame_url();
+  } else {
+    clear_has_main_frame_url();
+  }
+  main_frame_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), main_frame_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+
+// optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+bool ReferrerChainEntry::has_type() const {
+  return (_has_bits_[0] & 0x00000040u) != 0;
+}
+void ReferrerChainEntry::set_has_type() {
+  _has_bits_[0] |= 0x00000040u;
+}
+void ReferrerChainEntry::clear_has_type() {
+  _has_bits_[0] &= ~0x00000040u;
+}
+void ReferrerChainEntry::clear_type() {
+  type_ = 4;
+  clear_has_type();
+}
+::safe_browsing::ReferrerChainEntry_URLType ReferrerChainEntry::type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.type)
+  return static_cast< ::safe_browsing::ReferrerChainEntry_URLType >(type_);
+}
+void ReferrerChainEntry::set_type(::safe_browsing::ReferrerChainEntry_URLType value) {
+  assert(::safe_browsing::ReferrerChainEntry_URLType_IsValid(value));
+  set_has_type();
+  type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.type)
+}
+
+// repeated string ip_addresses = 3;
+int ReferrerChainEntry::ip_addresses_size() const {
+  return ip_addresses_.size();
+}
+void ReferrerChainEntry::clear_ip_addresses() {
+  ip_addresses_.Clear();
+}
+const ::std::string& ReferrerChainEntry::ip_addresses(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Get(index);
+}
+::std::string* ReferrerChainEntry::mutable_ip_addresses(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Mutable(index);
+}
+void ReferrerChainEntry::set_ip_addresses(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
+  ip_addresses_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_ip_addresses(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
+  ip_addresses_.Mutable(index)->assign(std::move(value));
+}
+#endif
+void ReferrerChainEntry::set_ip_addresses(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  ip_addresses_.Mutable(index)->assign(value);
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+void ReferrerChainEntry::set_ip_addresses(int index, const char* value, size_t size) {
+  ip_addresses_.Mutable(index)->assign(
+    reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+::std::string* ReferrerChainEntry::add_ip_addresses() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Add();
+}
+void ReferrerChainEntry::add_ip_addresses(const ::std::string& value) {
+  ip_addresses_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::add_ip_addresses(::std::string&& value) {
+  ip_addresses_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+#endif
+void ReferrerChainEntry::add_ip_addresses(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  ip_addresses_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add_char:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+void ReferrerChainEntry::add_ip_addresses(const char* value, size_t size) {
+  ip_addresses_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+const ::google::protobuf::RepeatedPtrField< ::std::string>&
+ReferrerChainEntry::ip_addresses() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_;
+}
+::google::protobuf::RepeatedPtrField< ::std::string>*
+ReferrerChainEntry::mutable_ip_addresses() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return &ip_addresses_;
+}
+
+// optional string referrer_url = 4;
+bool ReferrerChainEntry::has_referrer_url() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void ReferrerChainEntry::set_has_referrer_url() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void ReferrerChainEntry::clear_has_referrer_url() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void ReferrerChainEntry::clear_referrer_url() {
+  referrer_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_referrer_url();
+}
+const ::std::string& ReferrerChainEntry::referrer_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_url)
+  return referrer_url_.GetNoArena();
+}
+void ReferrerChainEntry::set_referrer_url(const ::std::string& value) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_referrer_url(::std::string&& value) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+#endif
+void ReferrerChainEntry::set_referrer_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+void ReferrerChainEntry::set_referrer_url(const char* value, size_t size) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+::std::string* ReferrerChainEntry::mutable_referrer_url() {
+  set_has_referrer_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_url)
+  return referrer_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry::release_referrer_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_url)
+  clear_has_referrer_url();
+  return referrer_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry::set_allocated_referrer_url(::std::string* referrer_url) {
+  if (referrer_url != NULL) {
+    set_has_referrer_url();
+  } else {
+    clear_has_referrer_url();
+  }
+  referrer_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+
+// optional string referrer_main_frame_url = 5;
+bool ReferrerChainEntry::has_referrer_main_frame_url() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void ReferrerChainEntry::set_has_referrer_main_frame_url() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void ReferrerChainEntry::clear_has_referrer_main_frame_url() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void ReferrerChainEntry::clear_referrer_main_frame_url() {
+  referrer_main_frame_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_referrer_main_frame_url();
+}
+const ::std::string& ReferrerChainEntry::referrer_main_frame_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  return referrer_main_frame_url_.GetNoArena();
+}
+void ReferrerChainEntry::set_referrer_main_frame_url(const ::std::string& value) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+#if LANG_CXX11
+void ReferrerChainEntry::set_referrer_main_frame_url(::std::string&& value) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+#endif
+void ReferrerChainEntry::set_referrer_main_frame_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+void ReferrerChainEntry::set_referrer_main_frame_url(const char* value, size_t size) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+::std::string* ReferrerChainEntry::mutable_referrer_main_frame_url() {
+  set_has_referrer_main_frame_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  return referrer_main_frame_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ReferrerChainEntry::release_referrer_main_frame_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  clear_has_referrer_main_frame_url();
+  return referrer_main_frame_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ReferrerChainEntry::set_allocated_referrer_main_frame_url(::std::string* referrer_main_frame_url) {
+  if (referrer_main_frame_url != NULL) {
+    set_has_referrer_main_frame_url();
+  } else {
+    clear_has_referrer_main_frame_url();
+  }
+  referrer_main_frame_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_main_frame_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+
+// optional bool is_retargeting = 6;
+bool ReferrerChainEntry::has_is_retargeting() const {
+  return (_has_bits_[0] & 0x00000020u) != 0;
+}
+void ReferrerChainEntry::set_has_is_retargeting() {
+  _has_bits_[0] |= 0x00000020u;
+}
+void ReferrerChainEntry::clear_has_is_retargeting() {
+  _has_bits_[0] &= ~0x00000020u;
+}
+void ReferrerChainEntry::clear_is_retargeting() {
+  is_retargeting_ = false;
+  clear_has_is_retargeting();
+}
+bool ReferrerChainEntry::is_retargeting() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.is_retargeting)
+  return is_retargeting_;
+}
+void ReferrerChainEntry::set_is_retargeting(bool value) {
+  set_has_is_retargeting();
+  is_retargeting_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.is_retargeting)
+}
+
+// optional double navigation_time_msec = 7;
+bool ReferrerChainEntry::has_navigation_time_msec() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+void ReferrerChainEntry::set_has_navigation_time_msec() {
+  _has_bits_[0] |= 0x00000010u;
+}
+void ReferrerChainEntry::clear_has_navigation_time_msec() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+void ReferrerChainEntry::clear_navigation_time_msec() {
+  navigation_time_msec_ = 0;
+  clear_has_navigation_time_msec();
+}
+double ReferrerChainEntry::navigation_time_msec() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.navigation_time_msec)
+  return navigation_time_msec_;
+}
+void ReferrerChainEntry::set_navigation_time_msec(double value) {
+  set_has_navigation_time_msec();
+  navigation_time_msec_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.navigation_time_msec)
+}
+
+// repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+int ReferrerChainEntry::server_redirect_chain_size() const {
+  return server_redirect_chain_.size();
+}
+void ReferrerChainEntry::clear_server_redirect_chain() {
+  server_redirect_chain_.Clear();
+}
+const ::safe_browsing::ReferrerChainEntry_ServerRedirect& ReferrerChainEntry::server_redirect_chain(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_.Get(index);
+}
+::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::mutable_server_redirect_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_.Mutable(index);
+}
+::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::add_server_redirect_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >*
+ReferrerChainEntry::mutable_server_redirect_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return &server_redirect_chain_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >&
+ReferrerChainEntry::server_redirect_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_;
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientDownloadResponse_MoreInfo::kDescriptionFieldNumber;
@@ -12635,16 +16139,17 @@ void ClientDownloadResponse_MoreInfo::se
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientDownloadResponse::kVerdictFieldNumber;
 const int ClientDownloadResponse::kMoreInfoFieldNumber;
 const int ClientDownloadResponse::kTokenFieldNumber;
+const int ClientDownloadResponse::kUploadFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientDownloadResponse::ClientDownloadResponse()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
@@ -12660,26 +16165,28 @@ ClientDownloadResponse::ClientDownloadRe
   if (from.has_token()) {
     token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
   }
   if (from.has_more_info()) {
     more_info_ = new ::safe_browsing::ClientDownloadResponse_MoreInfo(*from.more_info_);
   } else {
     more_info_ = NULL;
   }
-  verdict_ = from.verdict_;
+  ::memcpy(&verdict_, &from.verdict_,
+    static_cast<size_t>(reinterpret_cast<char*>(&upload_) -
+    reinterpret_cast<char*>(&verdict_)) + sizeof(upload_));
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadResponse)
 }
 
 void ClientDownloadResponse::SharedCtor() {
   _cached_size_ = 0;
   token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&more_info_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&verdict_) -
-      reinterpret_cast<char*>(&more_info_)) + sizeof(verdict_));
+      reinterpret_cast<char*>(&upload_) -
+      reinterpret_cast<char*>(&more_info_)) + sizeof(upload_));
 }
 
 ClientDownloadResponse::~ClientDownloadResponse() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadResponse)
   SharedDtor();
 }
 
 void ClientDownloadResponse::SharedDtor() {
@@ -12717,17 +16224,21 @@ void ClientDownloadResponse::Clear() {
       GOOGLE_DCHECK(!token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*token_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(more_info_ != NULL);
       more_info_->::safe_browsing::ClientDownloadResponse_MoreInfo::Clear();
     }
   }
-  verdict_ = 0;
+  if (cached_has_bits & 12u) {
+    ::memset(&verdict_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&upload_) -
+        reinterpret_cast<char*>(&verdict_)) + sizeof(upload_));
+  }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ClientDownloadResponse::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
@@ -12783,16 +16294,30 @@ bool ClientDownloadResponse::MergePartia
           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                 input, this->mutable_token()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
+      // optional bool upload = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
+          set_has_upload();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &upload_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
           goto success;
         }
         DO_(::google::protobuf::internal::WireFormatLite::SkipField(
             input, tag, &unknown_fields_stream));
         break;
@@ -12828,28 +16353,33 @@ void ClientDownloadResponse::SerializeWi
   }
 
   // optional bytes token = 3;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
       3, this->token(), output);
   }
 
+  // optional bool upload = 5;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->upload(), output);
+  }
+
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadResponse)
 }
 
 size_t ClientDownloadResponse::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadResponse)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
-  if (_has_bits_[0 / 32] & 7u) {
+  if (_has_bits_[0 / 32] & 15u) {
     // optional bytes token = 3;
     if (has_token()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::BytesSize(
           this->token());
     }
 
     // optional .safe_browsing.ClientDownloadResponse.MoreInfo more_info = 2;
@@ -12860,16 +16390,21 @@ size_t ClientDownloadResponse::ByteSizeL
     }
 
     // optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
     if (has_verdict()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->verdict());
     }
 
+    // optional bool upload = 5;
+    if (has_upload()) {
+      total_size += 1 + 1;
+    }
+
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = cached_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
@@ -12881,27 +16416,30 @@ void ClientDownloadResponse::CheckTypeAn
 void ClientDownloadResponse::MergeFrom(const ClientDownloadResponse& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadResponse)
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 7u) {
+  if (cached_has_bits & 15u) {
     if (cached_has_bits & 0x00000001u) {
       set_has_token();
       token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
     }
     if (cached_has_bits & 0x00000002u) {
       mutable_more_info()->::safe_browsing::ClientDownloadResponse_MoreInfo::MergeFrom(from.more_info());
     }
     if (cached_has_bits & 0x00000004u) {
       verdict_ = from.verdict_;
     }
+    if (cached_has_bits & 0x00000008u) {
+      upload_ = from.upload_;
+    }
     _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ClientDownloadResponse::CopyFrom(const ClientDownloadResponse& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadResponse)
   if (&from == this) return;
   Clear();
@@ -12916,16 +16454,17 @@ void ClientDownloadResponse::Swap(Client
   if (other == this) return;
   InternalSwap(other);
 }
 void ClientDownloadResponse::InternalSwap(ClientDownloadResponse* other) {
   using std::swap;
   token_.Swap(&other->token_);
   swap(more_info_, other->more_info_);
   swap(verdict_, other->verdict_);
+  swap(upload_, other->upload_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ClientDownloadResponse::GetTypeName() const {
   return "safe_browsing.ClientDownloadResponse";
 }
@@ -13062,16 +16601,40 @@ void ClientDownloadResponse::set_allocat
     set_has_token();
   } else {
     clear_has_token();
   }
   token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.token)
 }
 
+// optional bool upload = 5;
+bool ClientDownloadResponse::has_upload() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void ClientDownloadResponse::set_has_upload() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void ClientDownloadResponse::clear_has_upload() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void ClientDownloadResponse::clear_upload() {
+  upload_ = false;
+  clear_has_upload();
+}
+bool ClientDownloadResponse::upload() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.upload)
+  return upload_;
+}
+void ClientDownloadResponse::set_upload(bool value) {
+  set_has_upload();
+  upload_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.upload)
+}
+
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientDownloadReport_UserInformation::kEmailFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
@@ -15890,995 +19453,16 @@ ClientIncidentReport_IncidentData_Binary
   return contained_file_;
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kPathFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kDigestFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kVersionFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kBlacklistInitializedFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kSignatureFieldNumber;
-const int ClientIncidentReport_IncidentData_BlacklistLoadIncident::kImageHeadersFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-ClientIncidentReport_IncidentData_BlacklistLoadIncident::ClientIncidentReport_IncidentData_BlacklistLoadIncident()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    protobuf_csd_2eproto::InitDefaults();
-  }
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-}
-ClientIncidentReport_IncidentData_BlacklistLoadIncident::ClientIncidentReport_IncidentData_BlacklistLoadIncident(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from)
-  : ::google::protobuf::MessageLite(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_path()) {
-    path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
-  }
-  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_version()) {
-    version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
-  }
-  if (from.has_digest()) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests(*from.digest_);
-  } else {
-    digest_ = NULL;
-  }
-  if (from.has_signature()) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
-  } else {
-    signature_ = NULL;
-  }
-  if (from.has_image_headers()) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
-  } else {
-    image_headers_ = NULL;
-  }
-  blacklist_initialized_ = from.blacklist_initialized_;
-  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::SharedCtor() {
-  _cached_size_ = 0;
-  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&digest_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&blacklist_initialized_) -
-      reinterpret_cast<char*>(&digest_)) + sizeof(blacklist_initialized_));
-}
-
-ClientIncidentReport_IncidentData_BlacklistLoadIncident::~ClientIncidentReport_IncidentData_BlacklistLoadIncident() {
-  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  SharedDtor();
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::SharedDtor() {
-  path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete digest_;
-  if (this != internal_default_instance()) delete signature_;
-  if (this != internal_default_instance()) delete image_headers_;
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ClientIncidentReport_IncidentData_BlacklistLoadIncident& ClientIncidentReport_IncidentData_BlacklistLoadIncident::default_instance() {
-  protobuf_csd_2eproto::InitDefaults();
-  return *internal_default_instance();
-}
-
-ClientIncidentReport_IncidentData_BlacklistLoadIncident* ClientIncidentReport_IncidentData_BlacklistLoadIncident::New(::google::protobuf::Arena* arena) const {
-  ClientIncidentReport_IncidentData_BlacklistLoadIncident* n = new ClientIncidentReport_IncidentData_BlacklistLoadIncident;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::Clear() {
-// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 31u) {
-    if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!path_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*path_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*version_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(digest_ != NULL);
-      digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(signature_ != NULL);
-      signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-    }
-    if (cached_has_bits & 0x00000010u) {
-      GOOGLE_DCHECK(image_headers_ != NULL);
-      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-    }
-  }
-  blacklist_initialized_ = false;
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
-      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
-          &::google::protobuf::internal::InternalMetadataWithArenaLite::
-              mutable_unknown_fields));
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string, false);
-  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string path = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_path()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_digest()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string version = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_version()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional bool blacklist_initialized = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
-          set_has_blacklist_initialized();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &blacklist_initialized_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-      case 5: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_signature()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-      case 6: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_image_headers()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  return false;
-#undef DO_
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional string path = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->path(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      2, *this->digest_, output);
-  }
-
-  // optional string version = 3;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      3, this->version(), output);
-  }
-
-  // optional bool blacklist_initialized = 4;
-  if (cached_has_bits & 0x00000020u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->blacklist_initialized(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      5, *this->signature_, output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-  if (cached_has_bits & 0x00000010u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      6, *this->image_headers_, output);
-  }
-
-  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
-                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
-  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-}
-
-size_t ClientIncidentReport_IncidentData_BlacklistLoadIncident::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  size_t total_size = 0;
-
-  total_size += _internal_metadata_.unknown_fields().size();
-
-  if (_has_bits_[0 / 32] & 63u) {
-    // optional string path = 1;
-    if (has_path()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->path());
-    }
-
-    // optional string version = 3;
-    if (has_version()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->version());
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-    if (has_digest()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->digest_);
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-    if (has_signature()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->signature_);
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-    if (has_image_headers()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->image_headers_);
-    }
-
-    // optional bool blacklist_initialized = 4;
-    if (has_blacklist_initialized()) {
-      total_size += 1 + 1;
-    }
-
-  }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_BlacklistLoadIncident*>(&from));
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::MergeFrom(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 63u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_path();
-      path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
-    }
-    if (cached_has_bits & 0x00000002u) {
-      set_has_version();
-      version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
-    }
-    if (cached_has_bits & 0x00000004u) {
-      mutable_digest()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digest());
-    }
-    if (cached_has_bits & 0x00000008u) {
-      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
-    }
-    if (cached_has_bits & 0x00000010u) {
-      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
-    }
-    if (cached_has_bits & 0x00000020u) {
-      blacklist_initialized_ = from.blacklist_initialized_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::CopyFrom(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::IsInitialized() const {
-  if (has_signature()) {
-    if (!this->signature_->IsInitialized()) return false;
-  }
-  if (has_image_headers()) {
-    if (!this->image_headers_->IsInitialized()) return false;
-  }
-  return true;
-}
-
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::Swap(ClientIncidentReport_IncidentData_BlacklistLoadIncident* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::InternalSwap(ClientIncidentReport_IncidentData_BlacklistLoadIncident* other) {
-  using std::swap;
-  path_.Swap(&other->path_);
-  version_.Swap(&other->version_);
-  swap(digest_, other->digest_);
-  swap(signature_, other->signature_);
-  swap(image_headers_, other->image_headers_);
-  swap(blacklist_initialized_, other->blacklist_initialized_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
-}
-
-::std::string ClientIncidentReport_IncidentData_BlacklistLoadIncident::GetTypeName() const {
-  return "safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident";
-}
-
-#if PROTOBUF_INLINE_NOT_IN_HEADERS
-// ClientIncidentReport_IncidentData_BlacklistLoadIncident
-
-// optional string path = 1;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_path() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_path() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_path() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_path() {
-  path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_path();
-}
-const ::std::string& ClientIncidentReport_IncidentData_BlacklistLoadIncident::path() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  return path_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const ::std::string& value) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(::std::string&& value) {
-  set_has_path();
-  path_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-#endif
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const char* value, size_t size) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_path() {
-  set_has_path();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_path() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  clear_has_path();
-  return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_path(::std::string* path) {
-  if (path != NULL) {
-    set_has_path();
-  } else {
-    clear_has_path();
-  }
-  path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_digest() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_digest() {
-  _has_bits_[0] |= 0x00000004u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_digest() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_digest() {
-  if (digest_ != NULL) digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-  clear_has_digest();
-}
-const ::safe_browsing::ClientDownloadRequest_Digests& ClientIncidentReport_IncidentData_BlacklistLoadIncident::digest() const {
-  const ::safe_browsing::ClientDownloadRequest_Digests* p = digest_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests*>(
-      &::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_digest() {
-  set_has_digest();
-  if (digest_ == NULL) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  return digest_;
-}
-::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_digest() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  clear_has_digest();
-  ::safe_browsing::ClientDownloadRequest_Digests* temp = digest_;
-  digest_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_digest(::safe_browsing::ClientDownloadRequest_Digests* digest) {
-  delete digest_;
-  digest_ = digest;
-  if (digest) {
-    set_has_digest();
-  } else {
-    clear_has_digest();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-}
-
-// optional string version = 3;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_version() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_version() {
-  _has_bits_[0] |= 0x00000002u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_version() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_version() {
-  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_version();
-}
-const ::std::string& ClientIncidentReport_IncidentData_BlacklistLoadIncident::version() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  return version_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const ::std::string& value) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(::std::string&& value) {
-  set_has_version();
-  version_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-#endif
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const char* value, size_t size) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_version() {
-  set_has_version();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_version() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  clear_has_version();
-  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_version(::std::string* version) {
-  if (version != NULL) {
-    set_has_version();
-  } else {
-    clear_has_version();
-  }
-  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-
-// optional bool blacklist_initialized = 4;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_blacklist_initialized() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_blacklist_initialized() {
-  _has_bits_[0] |= 0x00000020u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_blacklist_initialized() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_blacklist_initialized() {
-  blacklist_initialized_ = false;
-  clear_has_blacklist_initialized();
-}
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::blacklist_initialized() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.blacklist_initialized)
-  return blacklist_initialized_;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_blacklist_initialized(bool value) {
-  set_has_blacklist_initialized();
-  blacklist_initialized_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.blacklist_initialized)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_signature() {
-  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-  clear_has_signature();
-}
-const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BlacklistLoadIncident::signature() const {
-  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_signature() {
-  set_has_signature();
-  if (signature_ == NULL) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  return signature_;
-}
-::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  clear_has_signature();
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
-  signature_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
-  delete signature_;
-  signature_ = signature;
-  if (signature) {
-    set_has_signature();
-  } else {
-    clear_has_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000010u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_image_headers() {
-  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-  clear_has_image_headers();
-}
-const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BlacklistLoadIncident::image_headers() const {
-  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_image_headers() {
-  set_has_image_headers();
-  if (image_headers_ == NULL) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  return image_headers_;
-}
-::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_image_headers() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  clear_has_image_headers();
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
-  image_headers_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
-  delete image_headers_;
-  image_headers_ = image_headers;
-  if (image_headers) {
-    set_has_image_headers();
-  } else {
-    clear_has_image_headers();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-}
-
-#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
-
-// ===================================================================
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::kVariationsSeedSignatureFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    protobuf_csd_2eproto::InitDefaults();
-  }
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-}
-ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from)
-  : ::google::protobuf::MessageLite(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  variations_seed_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_variations_seed_signature()) {
-    variations_seed_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.variations_seed_signature_);
-  }
-  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::SharedCtor() {
-  _cached_size_ = 0;
-  variations_seed_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::~ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident() {
-  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  SharedDtor();
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::SharedDtor() {
-  variations_seed_signature_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::default_instance() {
-  protobuf_csd_2eproto::InitDefaults();
-  return *internal_default_instance();
-}
-
-ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::New(::google::protobuf::Arena* arena) const {
-  ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* n = new ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Clear() {
-// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  if (has_variations_seed_signature()) {
-    GOOGLE_DCHECK(!variations_seed_signature_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-    (*variations_seed_signature_.UnsafeRawStringPointer())->clear();
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
-      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
-          &::google::protobuf::internal::InternalMetadataWithArenaLite::
-              mutable_unknown_fields));
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string, false);
-  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string variations_seed_signature = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_variations_seed_signature()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  return false;
-#undef DO_
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional string variations_seed_signature = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->variations_seed_signature(), output);
-  }
-
-  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
-                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
-  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-}
-
-size_t ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  size_t total_size = 0;
-
-  total_size += _internal_metadata_.unknown_fields().size();
-
-  // optional string variations_seed_signature = 1;
-  if (has_variations_seed_signature()) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->variations_seed_signature());
-  }
-
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*>(&from));
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::MergeFrom(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.has_variations_seed_signature()) {
-    set_has_variations_seed_signature();
-    variations_seed_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.variations_seed_signature_);
-  }
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::CopyFrom(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::IsInitialized() const {
-  return true;
-}
-
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Swap(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::InternalSwap(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* other) {
-  using std::swap;
-  variations_seed_signature_.Swap(&other->variations_seed_signature_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
-}
-
-::std::string ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::GetTypeName() const {
-  return "safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident";
-}
-
-#if PROTOBUF_INLINE_NOT_IN_HEADERS
-// ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident
-
-// optional string variations_seed_signature = 1;
-bool ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::has_variations_seed_signature() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_has_variations_seed_signature() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::clear_has_variations_seed_signature() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::clear_variations_seed_signature() {
-  variations_seed_signature_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_variations_seed_signature();
-}
-const ::std::string& ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::variations_seed_signature() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  return variations_seed_signature_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const ::std::string& value) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(::std::string&& value) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-#endif
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const char* value, size_t size) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-::std::string* ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::mutable_variations_seed_signature() {
-  set_has_variations_seed_signature();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  return variations_seed_signature_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::release_variations_seed_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  clear_has_variations_seed_signature();
-  return variations_seed_signature_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_allocated_variations_seed_signature(::std::string* variations_seed_signature) {
-  if (variations_seed_signature != NULL) {
-    set_has_variations_seed_signature();
-  } else {
-    clear_has_variations_seed_signature();
-  }
-  variations_seed_signature_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), variations_seed_signature);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-
-#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
-
-// ===================================================================
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kDigestFieldNumber;
 const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kOriginFieldNumber;
 const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kTypeFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientIncidentReport_IncidentData_ResourceRequestIncident::ClientIncidentReport_IncidentData_ResourceRequestIncident()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
@@ -17320,674 +19904,20 @@ void ClientIncidentReport_IncidentData_R
   // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.type)
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kPathFieldNumber;
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kDigestFieldNumber;
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kVersionFieldNumber;
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kSignatureFieldNumber;
-const int ClientIncidentReport_IncidentData_SuspiciousModuleIncident::kImageHeadersFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-ClientIncidentReport_IncidentData_SuspiciousModuleIncident::ClientIncidentReport_IncidentData_SuspiciousModuleIncident()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    protobuf_csd_2eproto::InitDefaults();
-  }
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-}
-ClientIncidentReport_IncidentData_SuspiciousModuleIncident::ClientIncidentReport_IncidentData_SuspiciousModuleIncident(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from)
-  : ::google::protobuf::MessageLite(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_path()) {
-    path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
-  }
-  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_version()) {
-    version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
-  }
-  if (from.has_digest()) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests(*from.digest_);
-  } else {
-    digest_ = NULL;
-  }
-  if (from.has_signature()) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
-  } else {
-    signature_ = NULL;
-  }
-  if (from.has_image_headers()) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
-  } else {
-    image_headers_ = NULL;
-  }
-  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::SharedCtor() {
-  _cached_size_ = 0;
-  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&digest_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&image_headers_) -
-      reinterpret_cast<char*>(&digest_)) + sizeof(image_headers_));
-}
-
-ClientIncidentReport_IncidentData_SuspiciousModuleIncident::~ClientIncidentReport_IncidentData_SuspiciousModuleIncident() {
-  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  SharedDtor();
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::SharedDtor() {
-  path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete digest_;
-  if (this != internal_default_instance()) delete signature_;
-  if (this != internal_default_instance()) delete image_headers_;
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::default_instance() {
-  protobuf_csd_2eproto::InitDefaults();
-  return *internal_default_instance();
-}
-
-ClientIncidentReport_IncidentData_SuspiciousModuleIncident* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::New(::google::protobuf::Arena* arena) const {
-  ClientIncidentReport_IncidentData_SuspiciousModuleIncident* n = new ClientIncidentReport_IncidentData_SuspiciousModuleIncident;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Clear() {
-// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 31u) {
-    if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!path_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*path_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*version_.UnsafeRawStringPointer())->clear();
-    }
-    if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(digest_ != NULL);
-      digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(signature_ != NULL);
-      signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-    }
-    if (cached_has_bits & 0x00000010u) {
-      GOOGLE_DCHECK(image_headers_ != NULL);
-      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-    }
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
-      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
-          &::google::protobuf::internal::InternalMetadataWithArenaLite::
-              mutable_unknown_fields));
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string, false);
-  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string path = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_path()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_digest()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional string version = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_version()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_signature()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-      case 5: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_image_headers()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  return false;
-#undef DO_
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional string path = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->path(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      2, *this->digest_, output);
-  }
-
-  // optional string version = 3;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      3, this->version(), output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      4, *this->signature_, output);
-  }
-
-  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-  if (cached_has_bits & 0x00000010u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      5, *this->image_headers_, output);
-  }
-
-  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
-                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
-  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-}
-
-size_t ClientIncidentReport_IncidentData_SuspiciousModuleIncident::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  size_t total_size = 0;
-
-  total_size += _internal_metadata_.unknown_fields().size();
-
-  if (_has_bits_[0 / 32] & 31u) {
-    // optional string path = 1;
-    if (has_path()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->path());
-    }
-
-    // optional string version = 3;
-    if (has_version()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->version());
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-    if (has_digest()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->digest_);
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-    if (has_signature()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->signature_);
-    }
-
-    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-    if (has_image_headers()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->image_headers_);
-    }
-
-  }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_SuspiciousModuleIncident*>(&from));
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::MergeFrom(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 31u) {
-    if (cached_has_bits & 0x00000001u) {
-      set_has_path();
-      path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
-    }
-    if (cached_has_bits & 0x00000002u) {
-      set_has_version();
-      version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
-    }
-    if (cached_has_bits & 0x00000004u) {
-      mutable_digest()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digest());
-    }
-    if (cached_has_bits & 0x00000008u) {
-      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
-    }
-    if (cached_has_bits & 0x00000010u) {
-      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
-    }
-  }
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::CopyFrom(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::IsInitialized() const {
-  if (has_signature()) {
-    if (!this->signature_->IsInitialized()) return false;
-  }
-  if (has_image_headers()) {
-    if (!this->image_headers_->IsInitialized()) return false;
-  }
-  return true;
-}
-
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Swap(ClientIncidentReport_IncidentData_SuspiciousModuleIncident* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::InternalSwap(ClientIncidentReport_IncidentData_SuspiciousModuleIncident* other) {
-  using std::swap;
-  path_.Swap(&other->path_);
-  version_.Swap(&other->version_);
-  swap(digest_, other->digest_);
-  swap(signature_, other->signature_);
-  swap(image_headers_, other->image_headers_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
-}
-
-::std::string ClientIncidentReport_IncidentData_SuspiciousModuleIncident::GetTypeName() const {
-  return "safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident";
-}
-
-#if PROTOBUF_INLINE_NOT_IN_HEADERS
-// ClientIncidentReport_IncidentData_SuspiciousModuleIncident
-
-// optional string path = 1;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_path() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_path() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_path() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_path() {
-  path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_path();
-}
-const ::std::string& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::path() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  return path_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const ::std::string& value) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(::std::string&& value) {
-  set_has_path();
-  path_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-#endif
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const char* value, size_t size) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_path() {
-  set_has_path();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_path() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  clear_has_path();
-  return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_path(::std::string* path) {
-  if (path != NULL) {
-    set_has_path();
-  } else {
-    clear_has_path();
-  }
-  path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_digest() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_digest() {
-  _has_bits_[0] |= 0x00000004u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_digest() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_digest() {
-  if (digest_ != NULL) digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-  clear_has_digest();
-}
-const ::safe_browsing::ClientDownloadRequest_Digests& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::digest() const {
-  const ::safe_browsing::ClientDownloadRequest_Digests* p = digest_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests*>(
-      &::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_digest() {
-  set_has_digest();
-  if (digest_ == NULL) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  return digest_;
-}
-::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_digest() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  clear_has_digest();
-  ::safe_browsing::ClientDownloadRequest_Digests* temp = digest_;
-  digest_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_digest(::safe_browsing::ClientDownloadRequest_Digests* digest) {
-  delete digest_;
-  digest_ = digest;
-  if (digest) {
-    set_has_digest();
-  } else {
-    clear_has_digest();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-}
-
-// optional string version = 3;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_version() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_version() {
-  _has_bits_[0] |= 0x00000002u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_version() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_version() {
-  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_version();
-}
-const ::std::string& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::version() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  return version_.GetNoArena();
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const ::std::string& value) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-#if LANG_CXX11
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(::std::string&& value) {
-  set_has_version();
-  version_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-#endif
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const char* value, size_t size) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_version() {
-  set_has_version();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_version() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  clear_has_version();
-  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_version(::std::string* version) {
-  if (version != NULL) {
-    set_has_version();
-  } else {
-    clear_has_version();
-  }
-  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_signature() {
-  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-  clear_has_signature();
-}
-const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::signature() const {
-  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_signature() {
-  set_has_signature();
-  if (signature_ == NULL) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  return signature_;
-}
-::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  clear_has_signature();
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
-  signature_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
-  delete signature_;
-  signature_ = signature;
-  if (signature) {
-    set_has_signature();
-  } else {
-    clear_has_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000010u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_image_headers() {
-  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-  clear_has_image_headers();
-}
-const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::image_headers() const {
-  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
-}
-::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_image_headers() {
-  set_has_image_headers();
-  if (image_headers_ == NULL) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  return image_headers_;
-}
-::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_image_headers() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  clear_has_image_headers();
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
-  image_headers_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
-  delete image_headers_;
-  image_headers_ = image_headers;
-  if (image_headers) {
-    set_has_image_headers();
-  } else {
-    clear_has_image_headers();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-}
-
-#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
-
-// ===================================================================
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientIncidentReport_IncidentData::kIncidentTimeMsecFieldNumber;
 const int ClientIncidentReport_IncidentData::kTrackedPreferenceFieldNumber;
 const int ClientIncidentReport_IncidentData::kBinaryIntegrityFieldNumber;
-const int ClientIncidentReport_IncidentData::kBlacklistLoadFieldNumber;
-const int ClientIncidentReport_IncidentData::kVariationsSeedSignatureFieldNumber;
 const int ClientIncidentReport_IncidentData::kResourceRequestFieldNumber;
-const int ClientIncidentReport_IncidentData::kSuspiciousModuleFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientIncidentReport_IncidentData::ClientIncidentReport_IncidentData()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
@@ -18004,36 +19934,21 @@ ClientIncidentReport_IncidentData::Clien
   } else {
     tracked_preference_ = NULL;
   }
   if (from.has_binary_integrity()) {
     binary_integrity_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident(*from.binary_integrity_);
   } else {
     binary_integrity_ = NULL;
   }
-  if (from.has_blacklist_load()) {
-    blacklist_load_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident(*from.blacklist_load_);
-  } else {
-    blacklist_load_ = NULL;
-  }
-  if (from.has_variations_seed_signature()) {
-    variations_seed_signature_ = new ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident(*from.variations_seed_signature_);
-  } else {
-    variations_seed_signature_ = NULL;
-  }
   if (from.has_resource_request()) {
     resource_request_ = new ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident(*from.resource_request_);
   } else {
     resource_request_ = NULL;
   }
-  if (from.has_suspicious_module()) {
-    suspicious_module_ = new ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident(*from.suspicious_module_);
-  } else {
-    suspicious_module_ = NULL;
-  }
   incident_time_msec_ = from.incident_time_msec_;
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData)
 }
 
 void ClientIncidentReport_IncidentData::SharedCtor() {
   _cached_size_ = 0;
   ::memset(&tracked_preference_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&incident_time_msec_) -
@@ -18043,20 +19958,17 @@ void ClientIncidentReport_IncidentData::
 ClientIncidentReport_IncidentData::~ClientIncidentReport_IncidentData() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData)
   SharedDtor();
 }
 
 void ClientIncidentReport_IncidentData::SharedDtor() {
   if (this != internal_default_instance()) delete tracked_preference_;
   if (this != internal_default_instance()) delete binary_integrity_;
-  if (this != internal_default_instance()) delete blacklist_load_;
-  if (this != internal_default_instance()) delete variations_seed_signature_;
   if (this != internal_default_instance()) delete resource_request_;
-  if (this != internal_default_instance()) delete suspicious_module_;
 }
 
 void ClientIncidentReport_IncidentData::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ClientIncidentReport_IncidentData& ClientIncidentReport_IncidentData::default_instance() {
@@ -18074,41 +19986,29 @@ ClientIncidentReport_IncidentData* Clien
 
 void ClientIncidentReport_IncidentData::Clear() {
 // @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 63u) {
+  if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
       GOOGLE_DCHECK(tracked_preference_ != NULL);
       tracked_preference_->::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::Clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(binary_integrity_ != NULL);
       binary_integrity_->::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::Clear();
     }
     if (cached_has_bits & 0x00000004u) {
-      GOOGLE_DCHECK(blacklist_load_ != NULL);
-      blacklist_load_->::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::Clear();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      GOOGLE_DCHECK(variations_seed_signature_ != NULL);
-      variations_seed_signature_->::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Clear();
-    }
-    if (cached_has_bits & 0x00000010u) {
       GOOGLE_DCHECK(resource_request_ != NULL);
       resource_request_->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::Clear();
     }
-    if (cached_has_bits & 0x00000020u) {
-      GOOGLE_DCHECK(suspicious_module_ != NULL);
-      suspicious_module_->::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Clear();
-    }
   }
   incident_time_msec_ = GOOGLE_LONGLONG(0);
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ClientIncidentReport_IncidentData::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
@@ -18159,64 +20059,28 @@ bool ClientIncidentReport_IncidentData::
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_binary_integrity()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_blacklist_load()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-      case 6: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_variations_seed_signature()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
       // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
       case 7: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_resource_request()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-      case 8: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_suspicious_module()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
       default: {
       handle_unusual:
         if (tag == 0) {
           goto success;
         }
         DO_(::google::protobuf::internal::WireFormatLite::SkipField(
             input, tag, &unknown_fields_stream));
         break;
@@ -18235,110 +20099,71 @@ failure:
 void ClientIncidentReport_IncidentData::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
   // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData)
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   // optional int64 incident_time_msec = 1;
-  if (cached_has_bits & 0x00000040u) {
+  if (cached_has_bits & 0x00000008u) {
     ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->incident_time_msec(), output);
   }
 
   // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       2, *this->tracked_preference_, output);
   }
 
   // optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       3, *this->binary_integrity_, output);
   }
 
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      4, *this->blacklist_load_, output);
-  }
-
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      6, *this->variations_seed_signature_, output);
-  }
-
   // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
-  if (cached_has_bits & 0x00000010u) {
+  if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       7, *this->resource_request_, output);
   }
 
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-  if (cached_has_bits & 0x00000020u) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      8, *this->suspicious_module_, output);
-  }
-
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData)
 }
 
 size_t ClientIncidentReport_IncidentData::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
-  if (_has_bits_[0 / 32] & 127u) {
+  if (_has_bits_[0 / 32] & 15u) {
     // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
     if (has_tracked_preference()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->tracked_preference_);
     }
 
     // optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
     if (has_binary_integrity()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->binary_integrity_);
     }
 
-    // optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-    if (has_blacklist_load()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->blacklist_load_);
-    }
-
-    // optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-    if (has_variations_seed_signature()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->variations_seed_signature_);
-    }
-
     // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
     if (has_resource_request()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           *this->resource_request_);
     }
 
-    // optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-    if (has_suspicious_module()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          *this->suspicious_module_);
-    }
-
     // optional int64 incident_time_msec = 1;
     if (has_incident_time_msec()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::Int64Size(
           this->incident_time_msec());
     }
 
   }
@@ -18357,36 +20182,27 @@ void ClientIncidentReport_IncidentData::
 void ClientIncidentReport_IncidentData::MergeFrom(const ClientIncidentReport_IncidentData& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData)
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 127u) {
+  if (cached_has_bits & 15u) {
     if (cached_has_bits & 0x00000001u) {
       mutable_tracked_preference()->::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::MergeFrom(from.tracked_preference());
     }
     if (cached_has_bits & 0x00000002u) {
       mutable_binary_integrity()->::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::MergeFrom(from.binary_integrity());
     }
     if (cached_has_bits & 0x00000004u) {
-      mutable_blacklist_load()->::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::MergeFrom(from.blacklist_load());
-    }
-    if (cached_has_bits & 0x00000008u) {
-      mutable_variations_seed_signature()->::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::MergeFrom(from.variations_seed_signature());
-    }
-    if (cached_has_bits & 0x00000010u) {
       mutable_resource_request()->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::MergeFrom(from.resource_request());
     }
-    if (cached_has_bits & 0x00000020u) {
-      mutable_suspicious_module()->::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::MergeFrom(from.suspicious_module());
-    }
-    if (cached_has_bits & 0x00000040u) {
+    if (cached_has_bits & 0x00000008u) {
       incident_time_msec_ = from.incident_time_msec_;
     }
     _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ClientIncidentReport_IncidentData::CopyFrom(const ClientIncidentReport_IncidentData& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData)
@@ -18394,59 +20210,50 @@ void ClientIncidentReport_IncidentData::
   Clear();
   MergeFrom(from);
 }
 
 bool ClientIncidentReport_IncidentData::IsInitialized() const {
   if (has_binary_integrity()) {
     if (!this->binary_integrity_->IsInitialized()) return false;
   }
-  if (has_blacklist_load()) {
-    if (!this->blacklist_load_->IsInitialized()) return false;
-  }
-  if (has_suspicious_module()) {
-    if (!this->suspicious_module_->IsInitialized()) return false;
-  }
   return true;
 }
 
 void ClientIncidentReport_IncidentData::Swap(ClientIncidentReport_IncidentData* other) {
   if (other == this) return;
   InternalSwap(other);
 }
 void ClientIncidentReport_IncidentData::InternalSwap(ClientIncidentReport_IncidentData* other) {
   using std::swap;
   swap(tracked_preference_, other->tracked_preference_);
   swap(binary_integrity_, other->binary_integrity_);
-  swap(blacklist_load_, other->blacklist_load_);
-  swap(variations_seed_signature_, other->variations_seed_signature_);
   swap(resource_request_, other->resource_request_);
-  swap(suspicious_module_, other->suspicious_module_);
   swap(incident_time_msec_, other->incident_time_msec_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ClientIncidentReport_IncidentData::GetTypeName() const {
   return "safe_browsing.ClientIncidentReport.IncidentData";
 }
 
 #if PROTOBUF_INLINE_NOT_IN_HEADERS
 // ClientIncidentReport_IncidentData
 
 // optional int64 incident_time_msec = 1;
 bool ClientIncidentReport_IncidentData::has_incident_time_msec() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
+  return (_has_bits_[0] & 0x00000008u) != 0;
 }
 void ClientIncidentReport_IncidentData::set_has_incident_time_msec() {
-  _has_bits_[0] |= 0x00000040u;
+  _has_bits_[0] |= 0x00000008u;
 }
 void ClientIncidentReport_IncidentData::clear_has_incident_time_msec() {
-  _has_bits_[0] &= ~0x00000040u;
+  _has_bits_[0] &= ~0x00000008u;
 }
 void ClientIncidentReport_IncidentData::clear_incident_time_msec() {
   incident_time_msec_ = GOOGLE_LONGLONG(0);
   clear_has_incident_time_msec();
 }
 ::google::protobuf::int64 ClientIncidentReport_IncidentData::incident_time_msec() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.incident_time_msec)
   return incident_time_msec_;
@@ -18544,117 +20351,25 @@ void ClientIncidentReport_IncidentData::
   if (binary_integrity) {
     set_has_binary_integrity();
   } else {
     clear_has_binary_integrity();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
 }
 
-// optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-bool ClientIncidentReport_IncidentData::has_blacklist_load() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-void ClientIncidentReport_IncidentData::set_has_blacklist_load() {
-  _has_bits_[0] |= 0x00000004u;
-}
-void ClientIncidentReport_IncidentData::clear_has_blacklist_load() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-void ClientIncidentReport_IncidentData::clear_blacklist_load() {
-  if (blacklist_load_ != NULL) blacklist_load_->::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::Clear();
-  clear_has_blacklist_load();
-}
-const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident& ClientIncidentReport_IncidentData::blacklist_load() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* p = blacklist_load_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_);
-}
-::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* ClientIncidentReport_IncidentData::mutable_blacklist_load() {
-  set_has_blacklist_load();
-  if (blacklist_load_ == NULL) {
-    blacklist_load_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  return blacklist_load_;
-}
-::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* ClientIncidentReport_IncidentData::release_blacklist_load() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  clear_has_blacklist_load();
-  ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* temp = blacklist_load_;
-  blacklist_load_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData::set_allocated_blacklist_load(::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* blacklist_load) {
-  delete blacklist_load_;
-  blacklist_load_ = blacklist_load;
-  if (blacklist_load) {
-    set_has_blacklist_load();
-  } else {
-    clear_has_blacklist_load();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-}
-
-// optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-bool ClientIncidentReport_IncidentData::has_variations_seed_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-void ClientIncidentReport_IncidentData::set_has_variations_seed_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-void ClientIncidentReport_IncidentData::clear_has_variations_seed_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-void ClientIncidentReport_IncidentData::clear_variations_seed_signature() {
-  if (variations_seed_signature_ != NULL) variations_seed_signature_->::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Clear();
-  clear_has_variations_seed_signature();
-}
-const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& ClientIncidentReport_IncidentData::variations_seed_signature() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* p = variations_seed_signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_);
-}
-::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* ClientIncidentReport_IncidentData::mutable_variations_seed_signature() {
-  set_has_variations_seed_signature();
-  if (variations_seed_signature_ == NULL) {
-    variations_seed_signature_ = new ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  return variations_seed_signature_;
-}
-::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* ClientIncidentReport_IncidentData::release_variations_seed_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  clear_has_variations_seed_signature();
-  ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* temp = variations_seed_signature_;
-  variations_seed_signature_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData::set_allocated_variations_seed_signature(::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* variations_seed_signature) {
-  delete variations_seed_signature_;
-  variations_seed_signature_ = variations_seed_signature;
-  if (variations_seed_signature) {
-    set_has_variations_seed_signature();
-  } else {
-    clear_has_variations_seed_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-}
-
 // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
 bool ClientIncidentReport_IncidentData::has_resource_request() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
+  return (_has_bits_[0] & 0x00000004u) != 0;
 }
 void ClientIncidentReport_IncidentData::set_has_resource_request() {
-  _has_bits_[0] |= 0x00000010u;
+  _has_bits_[0] |= 0x00000004u;
 }
 void ClientIncidentReport_IncidentData::clear_has_resource_request() {
-  _has_bits_[0] &= ~0x00000010u;
+  _has_bits_[0] &= ~0x00000004u;
 }
 void ClientIncidentReport_IncidentData::clear_resource_request() {
   if (resource_request_ != NULL) resource_request_->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::Clear();
   clear_has_resource_request();
 }
 const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& ClientIncidentReport_IncidentData::resource_request() const {
   const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* p = resource_request_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
@@ -18682,62 +20397,16 @@ void ClientIncidentReport_IncidentData::
   if (resource_request) {
     set_has_resource_request();
   } else {
     clear_has_resource_request();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
 }
 
-// optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-bool ClientIncidentReport_IncidentData::has_suspicious_module() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-void ClientIncidentReport_IncidentData::set_has_suspicious_module() {
-  _has_bits_[0] |= 0x00000020u;
-}
-void ClientIncidentReport_IncidentData::clear_has_suspicious_module() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-void ClientIncidentReport_IncidentData::clear_suspicious_module() {
-  if (suspicious_module_ != NULL) suspicious_module_->::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Clear();
-  clear_has_suspicious_module();
-}
-const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident& ClientIncidentReport_IncidentData::suspicious_module() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* p = suspicious_module_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_);
-}
-::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* ClientIncidentReport_IncidentData::mutable_suspicious_module() {
-  set_has_suspicious_module();
-  if (suspicious_module_ == NULL) {
-    suspicious_module_ = new ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  return suspicious_module_;
-}
-::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* ClientIncidentReport_IncidentData::release_suspicious_module() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  clear_has_suspicious_module();
-  ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* temp = suspicious_module_;
-  suspicious_module_ = NULL;
-  return temp;
-}
-void ClientIncidentReport_IncidentData::set_allocated_suspicious_module(::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* suspicious_module) {
-  delete suspicious_module_;
-  suspicious_module_ = suspicious_module;
-  if (suspicious_module) {
-    set_has_suspicious_module();
-  } else {
-    clear_has_suspicious_module();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-}
-
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientIncidentReport_DownloadDetails::kTokenFieldNumber;
 const int ClientIncidentReport_DownloadDetails::kDownloadFieldNumber;
 const int ClientIncidentReport_DownloadDetails::kDownloadTimeMsecFieldNumber;
@@ -23160,21 +24829,21 @@ ClientIncidentReport_EnvironmentData_Pro
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientIncidentReport_EnvironmentData_Process::kVersionFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kOBSOLETEDllsFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kPatchesFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kNetworkProvidersFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kChromeUpdateChannelFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kUptimeMsecFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kMetricsConsentFieldNumber;
-const int ClientIncidentReport_EnvironmentData_Process::kExtendedConsentFieldNumber;
+const int ClientIncidentReport_EnvironmentData_Process::kOBSOLETEExtendedConsentFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kDllFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kBlacklistedDllFieldNumber;
 const int ClientIncidentReport_EnvironmentData_Process::kModuleStateFieldNumber;
-const int ClientIncidentReport_EnvironmentData_Process::kFieldTrialParticipantFieldNumber;
+const int ClientIncidentReport_EnvironmentData_Process::kOBSOLETEFieldTrialParticipantFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientIncidentReport_EnvironmentData_Process::ClientIncidentReport_EnvironmentData_Process()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
@@ -23192,27 +24861,27 @@ ClientIncidentReport_EnvironmentData_Pro
       blacklisted_dll_(from.blacklisted_dll_),
       module_state_(from.module_state_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_version()) {
     version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
   }
   ::memcpy(&uptime_msec_, &from.uptime_msec_,
-    static_cast<size_t>(reinterpret_cast<char*>(&field_trial_participant_) -
-    reinterpret_cast<char*>(&uptime_msec_)) + sizeof(field_trial_participant_));
+    static_cast<size_t>(reinterpret_cast<char*>(&obsolete_field_trial_participant_) -
+    reinterpret_cast<char*>(&uptime_msec_)) + sizeof(obsolete_field_trial_participant_));
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
 }
 
 void ClientIncidentReport_EnvironmentData_Process::SharedCtor() {
   _cached_size_ = 0;
   version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(&uptime_msec_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&field_trial_participant_) -
-      reinterpret_cast<char*>(&uptime_msec_)) + sizeof(field_trial_participant_));
+      reinterpret_cast<char*>(&obsolete_field_trial_participant_) -
+      reinterpret_cast<char*>(&uptime_msec_)) + sizeof(obsolete_field_trial_participant_));
 }
 
 ClientIncidentReport_EnvironmentData_Process::~ClientIncidentReport_EnvironmentData_Process() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
   SharedDtor();
 }
 
 void ClientIncidentReport_EnvironmentData_Process::SharedDtor() {
@@ -23251,18 +24920,18 @@ void ClientIncidentReport_EnvironmentDat
   module_state_.Clear();
   if (has_version()) {
     GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
     (*version_.UnsafeRawStringPointer())->clear();
   }
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 62u) {
     ::memset(&uptime_msec_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&field_trial_participant_) -
-        reinterpret_cast<char*>(&uptime_msec_)) + sizeof(field_trial_participant_));
+        reinterpret_cast<char*>(&obsolete_field_trial_participant_) -
+        reinterpret_cast<char*>(&uptime_msec_)) + sizeof(obsolete_field_trial_participant_));
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ClientIncidentReport_EnvironmentData_Process::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
@@ -23371,24 +25040,24 @@ bool ClientIncidentReport_EnvironmentDat
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &metrics_consent_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional bool extended_consent = 8;
+      // optional bool OBSOLETE_extended_consent = 8;
       case 8: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(64u /* 64 & 0xFF */)) {
-          set_has_extended_consent();
+          set_has_obsolete_extended_consent();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &extended_consent_)));
+                 input, &obsolete_extended_consent_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
       // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll dll = 9;
       case 9: {
@@ -23421,24 +25090,24 @@ bool ClientIncidentReport_EnvironmentDat
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_module_state()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional bool field_trial_participant = 12;
+      // optional bool OBSOLETE_field_trial_participant = 12;
       case 12: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(96u /* 96 & 0xFF */)) {
-          set_has_field_trial_participant();
+          set_has_obsolete_field_trial_participant();
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &field_trial_participant_)));
+                 input, &obsolete_field_trial_participant_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
       default: {
       handle_unusual:
@@ -23504,19 +25173,19 @@ void ClientIncidentReport_EnvironmentDat
     ::google::protobuf::internal::WireFormatLite::WriteInt64(6, this->uptime_msec(), output);
   }
 
   // optional bool metrics_consent = 7;
   if (cached_has_bits & 0x00000008u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->metrics_consent(), output);
   }
 
-  // optional bool extended_consent = 8;
+  // optional bool OBSOLETE_extended_consent = 8;
   if (cached_has_bits & 0x00000010u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->extended_consent(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->obsolete_extended_consent(), output);
   }
 
   // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll dll = 9;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->dll_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       9, this->dll(static_cast<int>(i)), output);
   }
@@ -23529,19 +25198,19 @@ void ClientIncidentReport_EnvironmentDat
 
   // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState module_state = 11;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->module_state_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       11, this->module_state(static_cast<int>(i)), output);
   }
 
-  // optional bool field_trial_participant = 12;
+  // optional bool OBSOLETE_field_trial_participant = 12;
   if (cached_has_bits & 0x00000020u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->field_trial_participant(), output);
+    ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->obsolete_field_trial_participant(), output);
   }
 
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
 }
 
 size_t ClientIncidentReport_EnvironmentData_Process::ByteSizeLong() const {
@@ -23631,23 +25300,23 @@ size_t ClientIncidentReport_EnvironmentD
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->chrome_update_channel());
     }
 
     // optional bool metrics_consent = 7;
     if (has_metrics_consent()) {
       total_size += 1 + 1;
     }
 
-    // optional bool extended_consent = 8;
-    if (has_extended_consent()) {
+    // optional bool OBSOLETE_extended_consent = 8;
+    if (has_obsolete_extended_consent()) {
       total_size += 1 + 1;
     }
 
-    // optional bool field_trial_participant = 12;
-    if (has_field_trial_participant()) {
+    // optional bool OBSOLETE_field_trial_participant = 12;
+    if (has_obsolete_field_trial_participant()) {
       total_size += 1 + 1;
     }
 
   }
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = cached_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
@@ -23683,20 +25352,20 @@ void ClientIncidentReport_EnvironmentDat
     }
     if (cached_has_bits & 0x00000004u) {
       chrome_update_channel_ = from.chrome_update_channel_;
     }
     if (cached_has_bits & 0x00000008u) {
       metrics_consent_ = from.metrics_consent_;
     }
     if (cached_has_bits & 0x00000010u) {
-      extended_consent_ = from.extended_consent_;
+      obsolete_extended_consent_ = from.obsolete_extended_consent_;
     }
     if (cached_has_bits & 0x00000020u) {
-      field_trial_participant_ = from.field_trial_participant_;
+      obsolete_field_trial_participant_ = from.obsolete_field_trial_participant_;
     }
     _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ClientIncidentReport_EnvironmentData_Process::CopyFrom(const ClientIncidentReport_EnvironmentData_Process& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
   if (&from == this) return;
@@ -23720,18 +25389,18 @@ void ClientIncidentReport_EnvironmentDat
   network_providers_.InternalSwap(&other->network_providers_);
   dll_.InternalSwap(&other->dll_);
   blacklisted_dll_.InternalSwap(&other->blacklisted_dll_);
   module_state_.InternalSwap(&other->module_state_);
   version_.Swap(&other->version_);
   swap(uptime_msec_, other->uptime_msec_);
   swap(chrome_update_channel_, other->chrome_update_channel_);
   swap(metrics_consent_, other->metrics_consent_);
-  swap(extended_consent_, other->extended_consent_);
-  swap(field_trial_participant_, other->field_trial_participant_);
+  swap(obsolete_extended_consent_, other->obsolete_extended_consent_);
+  swap(obsolete_field_trial_participant_, other->obsolete_field_trial_participant_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ClientIncidentReport_EnvironmentData_Process::GetTypeName() const {
   return "safe_browsing.ClientIncidentReport.EnvironmentData.Process";
 }
@@ -23999,38 +25668,38 @@ bool ClientIncidentReport_EnvironmentDat
   return metrics_consent_;
 }
 void ClientIncidentReport_EnvironmentData_Process::set_metrics_consent(bool value) {
   set_has_metrics_consent();
   metrics_consent_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.metrics_consent)
 }
 
-// optional bool extended_consent = 8;
-bool ClientIncidentReport_EnvironmentData_Process::has_extended_consent() const {
+// optional bool OBSOLETE_extended_consent = 8;
+bool ClientIncidentReport_EnvironmentData_Process::has_obsolete_extended_consent() const {
   return (_has_bits_[0] & 0x00000010u) != 0;
 }
-void ClientIncidentReport_EnvironmentData_Process::set_has_extended_consent() {
+void ClientIncidentReport_EnvironmentData_Process::set_has_obsolete_extended_consent() {
   _has_bits_[0] |= 0x00000010u;
 }
-void ClientIncidentReport_EnvironmentData_Process::clear_has_extended_consent() {
+void ClientIncidentReport_EnvironmentData_Process::clear_has_obsolete_extended_consent() {
   _has_bits_[0] &= ~0x00000010u;
 }
-void ClientIncidentReport_EnvironmentData_Process::clear_extended_consent() {
-  extended_consent_ = false;
-  clear_has_extended_consent();
-}
-bool ClientIncidentReport_EnvironmentData_Process::extended_consent() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.extended_consent)
-  return extended_consent_;
-}
-void ClientIncidentReport_EnvironmentData_Process::set_extended_consent(bool value) {
-  set_has_extended_consent();
-  extended_consent_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.extended_consent)
+void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_extended_consent() {
+  obsolete_extended_consent_ = false;
+  clear_has_obsolete_extended_consent();
+}
+bool ClientIncidentReport_EnvironmentData_Process::obsolete_extended_consent() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_extended_consent)
+  return obsolete_extended_consent_;
+}
+void ClientIncidentReport_EnvironmentData_Process::set_obsolete_extended_consent(bool value) {
+  set_has_obsolete_extended_consent();
+  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;
 int ClientIncidentReport_EnvironmentData_Process::dll_size() const {
   return dll_.size();
 }
 void ClientIncidentReport_EnvironmentData_Process::clear_dll() {
   dll_.Clear();
@@ -24152,38 +25821,38 @@ ClientIncidentReport_EnvironmentData_Pro
   return &module_state_;
 }
 const ::google::protobuf::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 module_state_;
 }
 
-// optional bool field_trial_participant = 12;
-bool ClientIncidentReport_EnvironmentData_Process::has_field_trial_participant() const {
+// optional bool OBSOLETE_field_trial_participant = 12;
+bool ClientIncidentReport_EnvironmentData_Process::has_obsolete_field_trial_participant() const {
   return (_has_bits_[0] & 0x00000020u) != 0;
 }
-void ClientIncidentReport_EnvironmentData_Process::set_has_field_trial_participant() {
+void ClientIncidentReport_EnvironmentData_Process::set_has_obsolete_field_trial_participant() {
   _has_bits_[0] |= 0x00000020u;
 }
-void ClientIncidentReport_EnvironmentData_Process::clear_has_field_trial_participant() {
+void ClientIncidentReport_EnvironmentData_Process::clear_has_obsolete_field_trial_participant() {
   _has_bits_[0] &= ~0x00000020u;
 }
-void ClientIncidentReport_EnvironmentData_Process::clear_field_trial_participant() {
-  field_trial_participant_ = false;
-  clear_has_field_trial_participant();
-}
-bool ClientIncidentReport_EnvironmentData_Process::field_trial_participant() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.field_trial_participant)
-  return field_trial_participant_;
-}
-void ClientIncidentReport_EnvironmentData_Process::set_field_trial_participant(bool value) {
-  set_has_field_trial_participant();
-  field_trial_participant_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.field_trial_participant)
+void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_field_trial_participant() {
+  obsolete_field_trial_participant_ = false;
+  clear_has_obsolete_field_trial_participant();
+}
+bool ClientIncidentReport_EnvironmentData_Process::obsolete_field_trial_participant() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_field_trial_participant)
+  return obsolete_field_trial_participant_;
+}
+void ClientIncidentReport_EnvironmentData_Process::set_obsolete_field_trial_participant(bool value) {
+  set_has_obsolete_field_trial_participant();
+  obsolete_field_trial_participant_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_field_trial_participant)
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientIncidentReport_EnvironmentData::kOsFieldNumber;
@@ -30057,17 +31726,17 @@ void ClientSafeBrowsingReportRequest_HTT
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::kCodeFieldNumber;
-const int ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::kReasonFieldNumber;
+const int ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::kMessageFieldNumber;
 const int ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::kVersionFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
@@ -30075,42 +31744,42 @@ ClientSafeBrowsingReportRequest_HTTPResp
   // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
 }
 ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine(const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& from)
   : ::google::protobuf::MessageLite(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
       _cached_size_(0) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
-  reason_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.has_reason()) {
-    reason_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.reason_);
+  message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_message()) {
+    message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_);
   }
   version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_version()) {
     version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
   }
   code_ = from.code_;
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
 }
 
 void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::SharedCtor() {
   _cached_size_ = 0;
-  reason_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   code_ = 0;
 }
 
 ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::~ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
   SharedDtor();
 }
 
 void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::SharedDtor() {
-  reason_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  message_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 
 void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
@@ -30131,18 +31800,18 @@ void ClientSafeBrowsingReportRequest_HTT
 // @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 3u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(!reason_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
-      (*reason_.UnsafeRawStringPointer())->clear();
+      GOOGLE_DCHECK(!message_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*message_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*version_.UnsafeRawStringPointer())->clear();
     }
   }
   code_ = 0;
   _has_bits_.Clear();
@@ -30174,22 +31843,22 @@ bool ClientSafeBrowsingReportRequest_HTT
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &code_)));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
-      // optional bytes reason = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
-                input, this->mutable_reason()));
+      // optional bytes message = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_message()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
       // optional bytes version = 3;
       case 3: {
@@ -30230,20 +31899,20 @@ void ClientSafeBrowsingReportRequest_HTT
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   // optional int32 code = 1;
   if (cached_has_bits & 0x00000004u) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->code(), output);
   }
 
-  // optional bytes reason = 2;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
-      2, this->reason(), output);
+  // optional bytes message = 2;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      2, this->message(), output);
   }
 
   // optional bytes version = 3;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
       3, this->version(), output);
   }
 
@@ -30254,21 +31923,21 @@ void ClientSafeBrowsingReportRequest_HTT
 
 size_t ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
   size_t total_size = 0;
 
   total_size += _internal_metadata_.unknown_fields().size();
 
   if (_has_bits_[0 / 32] & 7u) {
-    // optional bytes reason = 2;
-    if (has_reason()) {
+    // optional bytes message = 2;
+    if (has_message()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::BytesSize(
-          this->reason());
+          this->message());
     }
 
     // optional bytes version = 3;
     if (has_version()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::BytesSize(
           this->version());
     }
@@ -30298,18 +31967,18 @@ void ClientSafeBrowsingReportRequest_HTT
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
-      set_has_reason();
-      reason_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.reason_);
+      set_has_message();
+      message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_);
     }
     if (cached_has_bits & 0x00000002u) {
       set_has_version();
       version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
     }
     if (cached_has_bits & 0x00000004u) {
       code_ = from.code_;
     }
@@ -30329,17 +31998,17 @@ bool ClientSafeBrowsingReportRequest_HTT
 }
 
 void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::Swap(ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* other) {
   if (other == this) return;
   InternalSwap(other);
 }
 void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::InternalSwap(ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* other) {
   using std::swap;
-  reason_.Swap(&other->reason_);
+  message_.Swap(&other->message_);
   version_.Swap(&other->version_);
   swap(code_, other->code_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::GetTypeName() const {
@@ -30368,77 +32037,77 @@ void ClientSafeBrowsingReportRequest_HTT
   return code_;
 }
 void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_code(::google::protobuf::int32 value) {
   set_has_code();
   code_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.code)
 }
 
-// optional bytes reason = 2;
-bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_reason() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_reason() {
-  _has_bits_[0] |= 0x00000001u;
-}
-void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_has_reason() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_reason() {
-  reason_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_reason();
-}
-const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::reason() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-  return reason_.GetNoArena();
-}
-void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_reason(const ::std::string& value) {
-  set_has_reason();
-  reason_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-}
-#if LANG_CXX11
-void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_reason(::std::string&& value) {
-  set_has_reason();
-  reason_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-}
-#endif
-void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_reason(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_reason();
-  reason_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-}
-void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_reason(const void* value, size_t size) {
-  set_has_reason();
-  reason_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-}
-::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::mutable_reason() {
-  set_has_reason();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-  return reason_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::release_reason() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-  clear_has_reason();
-  return reason_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_allocated_reason(::std::string* reason) {
-  if (reason != NULL) {
-    set_has_reason();
-  } else {
-    clear_has_reason();
-  }
-  reason_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), reason);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
+// optional bytes message = 2;
+bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_message() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_message() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_has_message() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_message() {
+  message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_message();
+}
+const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::message() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+  return message_.GetNoArena();
+}
+void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const ::std::string& value) {
+  set_has_message();
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+}
+#if LANG_CXX11
+void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(::std::string&& value) {
+  set_has_message();
+  message_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+}
+#endif
+void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_message();
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+}
+void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const void* value, size_t size) {
+  set_has_message();
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+}
+::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::mutable_message() {
+  set_has_message();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+  return message_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::release_message() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+  clear_has_message();
+  return message_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_allocated_message(::std::string* message) {
+  if (message != NULL) {
+    set_has_message();
+  } else {
+    clear_has_message();
+  }
+  message_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), message);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
 }
 
 // optional bytes version = 3;
 bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_version() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_version() {
   _has_bits_[0] |= 0x00000002u;
@@ -31953,45 +33622,510 @@ void ClientSafeBrowsingReportRequest_Res
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
 }
 
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::kClientVersionFieldNumber;
+const int ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::kGooglePlayServicesVersionFieldNumber;
+const int ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::kIsInstantAppsFieldNumber;
+const int ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::kUrlApiTypeFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+}
+ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  client_version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_client_version()) {
+    client_version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.client_version_);
+  }
+  ::memcpy(&google_play_services_version_, &from.google_play_services_version_,
+    static_cast<size_t>(reinterpret_cast<char*>(&url_api_type_) -
+    reinterpret_cast<char*>(&google_play_services_version_)) + sizeof(url_api_type_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::SharedCtor() {
+  _cached_size_ = 0;
+  client_version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&google_play_services_version_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&url_api_type_) -
+      reinterpret_cast<char*>(&google_play_services_version_)) + sizeof(url_api_type_));
+}
+
+ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::~ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties() {
+  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  SharedDtor();
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::SharedDtor() {
+  client_version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::New(::google::protobuf::Arena* arena) const {
+  ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* n = new ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  if (has_client_version()) {
+    GOOGLE_DCHECK(!client_version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*client_version_.UnsafeRawStringPointer())->clear();
+  }
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 14u) {
+    ::memset(&google_play_services_version_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&url_api_type_) -
+        reinterpret_cast<char*>(&google_play_services_version_)) + sizeof(url_api_type_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string client_version = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_client_version()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int64 google_play_services_version = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_google_play_services_version();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
+                 input, &google_play_services_version_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool is_instant_apps = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
+          set_has_is_instant_apps();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &is_instant_apps_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+          int value;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          if (::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(value)) {
+            set_url_api_type(static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(32u);
+            unknown_fields_stream.WriteVarint32(
+                static_cast< ::google::protobuf::uint32>(value));
+          }
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  return false;
+#undef DO_
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string client_version = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->client_version(), output);
+  }
+
+  // optional int64 google_play_services_version = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->google_play_services_version(), output);
+  }
+
+  // optional bool is_instant_apps = 3;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->is_instant_apps(), output);
+  }
+
+  // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      4, this->url_api_type(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+}
+
+size_t ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 15u) {
+    // optional string client_version = 1;
+    if (has_client_version()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->client_version());
+    }
+
+    // optional int64 google_play_services_version = 2;
+    if (has_google_play_services_version()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int64Size(
+          this->google_play_services_version());
+    }
+
+    // optional bool is_instant_apps = 3;
+    if (has_is_instant_apps()) {
+      total_size += 1 + 1;
+    }
+
+    // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
+    if (has_url_api_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->url_api_type());
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(&from));
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::MergeFrom(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 15u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_client_version();
+      client_version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.client_version_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      google_play_services_version_ = from.google_play_services_version_;
+    }
+    if (cached_has_bits & 0x00000004u) {
+      is_instant_apps_ = from.is_instant_apps_;
+    }
+    if (cached_has_bits & 0x00000008u) {
+      url_api_type_ = from.url_api_type_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::CopyFrom(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::IsInitialized() const {
+  return true;
+}
+
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Swap(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::InternalSwap(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* other) {
+  using std::swap;
+  client_version_.Swap(&other->client_version_);
+  swap(google_play_services_version_, other->google_play_services_version_);
+  swap(is_instant_apps_, other->is_instant_apps_);
+  swap(url_api_type_, other->url_api_type_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::GetTypeName() const {
+  return "safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties
+
+// optional string client_version = 1;
+bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_client_version() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_client_version() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_client_version() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_client_version() {
+  client_version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_client_version();
+}
+const ::std::string& ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::client_version() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+  return client_version_.GetNoArena();
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const ::std::string& value) {
+  set_has_client_version();
+  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+#if LANG_CXX11
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(::std::string&& value) {
+  set_has_client_version();
+  client_version_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+#endif
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_client_version();
+  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const char* value, size_t size) {
+  set_has_client_version();
+  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+::std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::mutable_client_version() {
+  set_has_client_version();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+  return client_version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::release_client_version() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+  clear_has_client_version();
+  return client_version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_allocated_client_version(::std::string* client_version) {
+  if (client_version != NULL) {
+    set_has_client_version();
+  } else {
+    clear_has_client_version();
+  }
+  client_version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), client_version);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+
+// optional int64 google_play_services_version = 2;
+bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_google_play_services_version() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_google_play_services_version() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_google_play_services_version() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_google_play_services_version() {
+  google_play_services_version_ = GOOGLE_LONGLONG(0);
+  clear_has_google_play_services_version();
+}
+::google::protobuf::int64 ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::google_play_services_version() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.google_play_services_version)
+  return google_play_services_version_;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_google_play_services_version(::google::protobuf::int64 value) {
+  set_has_google_play_services_version();
+  google_play_services_version_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.google_play_services_version)
+}
+
+// optional bool is_instant_apps = 3;
+bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_is_instant_apps() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_is_instant_apps() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_is_instant_apps() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_is_instant_apps() {
+  is_instant_apps_ = false;
+  clear_has_is_instant_apps();
+}
+bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::is_instant_apps() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.is_instant_apps)
+  return is_instant_apps_;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_is_instant_apps(bool value) {
+  set_has_is_instant_apps();
+  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;
+bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_url_api_type() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_url_api_type() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_url_api_type() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_url_api_type() {
+  url_api_type_ = 0;
+  clear_has_url_api_type();
+}
+::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::url_api_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.url_api_type)
+  return static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType >(url_api_type_);
+}
+void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_url_api_type(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value) {
+  assert(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(value));
+  set_has_url_api_type();
+  url_api_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.url_api_type)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ClientSafeBrowsingReportRequest::kTypeFieldNumber;
 const int ClientSafeBrowsingReportRequest::kDownloadVerdictFieldNumber;
 const int ClientSafeBrowsingReportRequest::kUrlFieldNumber;
 const int ClientSafeBrowsingReportRequest::kPageUrlFieldNumber;
 const int ClientSafeBrowsingReportRequest::kReferrerUrlFieldNumber;
 const int ClientSafeBrowsingReportRequest::kResourcesFieldNumber;
+const int ClientSafeBrowsingReportRequest::kDomFieldNumber;
 const int ClientSafeBrowsingReportRequest::kCompleteFieldNumber;
 const int ClientSafeBrowsingReportRequest::kClientAsnFieldNumber;
 const int ClientSafeBrowsingReportRequest::kClientCountryFieldNumber;
 const int ClientSafeBrowsingReportRequest::kDidProceedFieldNumber;
 const int ClientSafeBrowsingReportRequest::kRepeatVisitFieldNumber;
 const int ClientSafeBrowsingReportRequest::kTokenFieldNumber;
+const int ClientSafeBrowsingReportRequest::kClientPropertiesFieldNumber;
+const int ClientSafeBrowsingReportRequest::kShowDownloadInFolderFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ClientSafeBrowsingReportRequest::ClientSafeBrowsingReportRequest()
   : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_csd_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest)
 }
 ClientSafeBrowsingReportRequest::ClientSafeBrowsingReportRequest(const ClientSafeBrowsingReportRequest& from)
   : ::google::protobuf::MessageLite(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
       _cached_size_(0),
       resources_(from.resources_),
-      client_asn_(from.client_asn_) {
+      client_asn_(from.client_asn_),
+      dom_(from.dom_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_url()) {
     url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
   }
   page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_page_url()) {
     page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
@@ -32003,45 +34137,51 @@ ClientSafeBrowsingReportRequest::ClientS
   client_country_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_client_country()) {
     client_country_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.client_country_);
   }
   token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (from.has_token()) {
     token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
   }
-  ::memcpy(&complete_, &from.complete_,
+  if (from.has_client_properties()) {
+    client_properties_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(*from.client_properties_);
+  } else {
+    client_properties_ = NULL;
+  }
+  ::memcpy(&type_, &from.type_,
     static_cast<size_t>(reinterpret_cast<char*>(&download_verdict_) -
-    reinterpret_cast<char*>(&complete_)) + sizeof(download_verdict_));
+    reinterpret_cast<char*>(&type_)) + sizeof(download_verdict_));
   // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest)
 }
 
 void ClientSafeBrowsingReportRequest::SharedCtor() {
   _cached_size_ = 0;
   url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   client_country_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&complete_, 0, static_cast<size_t>(
+  ::memset(&client_properties_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&download_verdict_) -
-      reinterpret_cast<char*>(&complete_)) + sizeof(download_verdict_));
+      reinterpret_cast<char*>(&client_properties_)) + sizeof(download_verdict_));
 }
 
 ClientSafeBrowsingReportRequest::~ClientSafeBrowsingReportRequest() {
   // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest)
   SharedDtor();
 }
 
 void ClientSafeBrowsingReportRequest::SharedDtor() {
   url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   page_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   referrer_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   client_country_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete client_properties_;
 }
 
 void ClientSafeBrowsingReportRequest::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ClientSafeBrowsingReportRequest& ClientSafeBrowsingReportRequest::default_instance() {
@@ -32060,18 +34200,19 @@ ClientSafeBrowsingReportRequest* ClientS
 void ClientSafeBrowsingReportRequest::Clear() {
 // @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   resources_.Clear();
   client_asn_.Clear();
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 31u) {
+  dom_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 63u) {
     if (cached_has_bits & 0x00000001u) {
       GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*url_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(!page_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*page_url_.UnsafeRawStringPointer())->clear();
     }
@@ -32082,26 +34223,30 @@ void ClientSafeBrowsingReportRequest::Cl
     if (cached_has_bits & 0x00000008u) {
       GOOGLE_DCHECK(!client_country_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*client_country_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000010u) {
       GOOGLE_DCHECK(!token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
       (*token_.UnsafeRawStringPointer())->clear();
     }
-  }
-  if (cached_has_bits & 224u) {
-    ::memset(&complete_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&repeat_visit_) -
-        reinterpret_cast<char*>(&complete_)) + sizeof(repeat_visit_));
-  }
-  if (cached_has_bits & 768u) {
+    if (cached_has_bits & 0x00000020u) {
+      GOOGLE_DCHECK(client_properties_ != NULL);
+      client_properties_->::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Clear();
+    }
+  }
+  if (cached_has_bits & 192u) {
     ::memset(&type_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&complete_) -
+        reinterpret_cast<char*>(&type_)) + sizeof(complete_));
+  }
+  if (cached_has_bits & 3840u) {
+    ::memset(&did_proceed_, 0, static_cast<size_t>(
         reinterpret_cast<char*>(&download_verdict_) -
-        reinterpret_cast<char*>(&type_)) + sizeof(download_verdict_));
+        reinterpret_cast<char*>(&did_proceed_)) + sizeof(download_verdict_));
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
 
 bool ClientSafeBrowsingReportRequest::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
@@ -32109,17 +34254,17 @@ bool ClientSafeBrowsingReportRequest::Me
   ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
       ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
           &::google::protobuf::internal::InternalMetadataWithArenaLite::
               mutable_unknown_fields));
   ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
       &unknown_fields_string, false);
   // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest)
   for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional string url = 1;
       case 1: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
@@ -32281,16 +34426,54 @@ bool ClientSafeBrowsingReportRequest::Me
           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                 input, this->mutable_token()));
         } else {
           goto handle_unusual;
         }
         break;
       }
 
+      // repeated .safe_browsing.HTMLElement dom = 16;
+      case 16: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(130u /* 130 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_dom()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
+      case 17: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(138u /* 138 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+               input, mutable_client_properties()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional bool show_download_in_folder = 18;
+      case 18: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(144u /* 144 & 0xFF */)) {
+          set_has_show_download_in_folder();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &show_download_in_folder_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
           goto success;
         }
         DO_(::google::protobuf::internal::WireFormatLite::SkipField(
             input, tag, &unknown_fields_stream));
         break;
@@ -32334,60 +34517,78 @@ void ClientSafeBrowsingReportRequest::Se
   // repeated .safe_browsing.ClientSafeBrowsingReportRequest.Resource resources = 4;
   for (unsigned int i = 0,
       n = static_cast<unsigned int>(this->resources_size()); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       4, this->resources(static_cast<int>(i)), output);
   }
 
   // optional bool complete = 5;
-  if (cached_has_bits & 0x00000020u) {
+  if (cached_has_bits & 0x00000080u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->complete(), output);
   }
 
   // repeated string client_asn = 6;
   for (int i = 0, n = this->client_asn_size(); i < n; i++) {
     ::google::protobuf::internal::WireFormatLite::WriteString(
       6, this->client_asn(i), output);
   }
 
   // optional string client_country = 7;
   if (cached_has_bits & 0x00000008u) {
     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
       7, this->client_country(), output);
   }
 
   // optional bool did_proceed = 8;
-  if (cached_has_bits & 0x00000040u) {
+  if (cached_has_bits & 0x00000100u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->did_proceed(), output);
   }
 
   // optional bool repeat_visit = 9;
-  if (cached_has_bits & 0x00000080u) {
+  if (cached_has_bits & 0x00000200u) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->repeat_visit(), output);
   }
 
   // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
-  if (cached_has_bits & 0x00000100u) {
+  if (cached_has_bits & 0x00000040u) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       10, this->type(), output);
   }
 
   // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
-  if (cached_has_bits & 0x00000200u) {
+  if (cached_has_bits & 0x00000800u) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       11, this->download_verdict(), output);
   }
 
   // optional bytes token = 15;
   if (cached_has_bits & 0x00000010u) {
     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
       15, this->token(), output);
   }
 
+  // repeated .safe_browsing.HTMLElement dom = 16;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->dom_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      16, this->dom(static_cast<int>(i)), output);
+  }
+
+  // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
+  if (cached_has_bits & 0x00000020u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      17, *this->client_properties_, output);
+  }
+
+  // optional bool show_download_in_folder = 18;
+  if (cached_has_bits & 0x00000400u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(18, this->show_download_in_folder(), output);
+  }
+
   output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                    static_cast<int>(_internal_metadata_.unknown_fields().size()));
   // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest)
 }
 
 size_t ClientSafeBrowsingReportRequest::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest)
   size_t total_size = 0;
@@ -32408,16 +34609,27 @@ size_t ClientSafeBrowsingReportRequest::
   // repeated string client_asn = 6;
   total_size += 1 *
       ::google::protobuf::internal::FromIntSize(this->client_asn_size());
   for (int i = 0, n = this->client_asn_size(); i < n; i++) {
     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
       this->client_asn(i));
   }
 
+  // repeated .safe_browsing.HTMLElement dom = 16;
+  {
+    unsigned int count = static_cast<unsigned int>(this->dom_size());
+    total_size += 2UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->dom(static_cast<int>(i)));
+    }
+  }
+
   if (_has_bits_[0 / 32] & 255u) {
     // optional string url = 1;
     if (has_url()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::StringSize(
           this->url());
     }
 
@@ -32444,37 +34656,49 @@ size_t ClientSafeBrowsingReportRequest::
 
     // optional bytes token = 15;
     if (has_token()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::BytesSize(
           this->token());
     }
 
+    // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
+    if (has_client_properties()) {
+      total_size += 2 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          *this->client_properties_);
+    }
+
+    // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
+    if (has_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
+    }
+
     // optional bool complete = 5;
     if (has_complete()) {
       total_size += 1 + 1;
     }
 
+  }
+  if (_has_bits_[8 / 32] & 3840u) {
     // optional bool did_proceed = 8;
     if (has_did_proceed()) {
       total_size += 1 + 1;
     }
 
     // optional bool repeat_visit = 9;
     if (has_repeat_visit()) {
       total_size += 1 + 1;
     }
 
-  }
-  if (_has_bits_[8 / 32] & 768u) {
-    // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
-    if (has_type()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
+    // optional bool show_download_in_folder = 18;
+    if (has_show_download_in_folder()) {
+      total_size += 2 + 1;
     }
 
     // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
     if (has_download_verdict()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->download_verdict());
     }
 
@@ -32495,16 +34719,17 @@ void ClientSafeBrowsingReportRequest::Me
 // @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest)
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   resources_.MergeFrom(from.resources_);
   client_asn_.MergeFrom(from.client_asn_);
+  dom_.MergeFrom(from.dom_);
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 255u) {
     if (cached_has_bits & 0x00000001u) {
       set_has_url();
       url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
     }
     if (cached_has_bits & 0x00000002u) {
       set_has_page_url();
@@ -32518,31 +34743,37 @@ void ClientSafeBrowsingReportRequest::Me
       set_has_client_country();
       client_country_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.client_country_);
     }
     if (cached_has_bits & 0x00000010u) {
       set_has_token();
       token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
     }
     if (cached_has_bits & 0x00000020u) {
-      complete_ = from.complete_;
+      mutable_client_properties()->::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::MergeFrom(from.client_properties());
     }
     if (cached_has_bits & 0x00000040u) {
-      did_proceed_ = from.did_proceed_;
+      type_ = from.type_;
     }
     if (cached_has_bits & 0x00000080u) {
-      repeat_visit_ = from.repeat_visit_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
-  if (cached_has_bits & 768u) {
+      complete_ = from.complete_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+  if (cached_has_bits & 3840u) {
     if (cached_has_bits & 0x00000100u) {
-      type_ = from.type_;
+      did_proceed_ = from.did_proceed_;
     }
     if (cached_has_bits & 0x00000200u) {
+      repeat_visit_ = from.repeat_visit_;
+    }
+    if (cached_has_bits & 0x00000400u) {
+      show_download_in_folder_ = from.show_download_in_folder_;
+    }
+    if (cached_has_bits & 0x00000800u) {
       download_verdict_ = from.download_verdict_;
     }
     _has_bits_[0] |= cached_has_bits;
   }
 }
 
 void ClientSafeBrowsingReportRequest::CopyFrom(const ClientSafeBrowsingReportRequest& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest)
@@ -32559,47 +34790,50 @@ bool ClientSafeBrowsingReportRequest::Is
 void ClientSafeBrowsingReportRequest::Swap(ClientSafeBrowsingReportRequest* other) {
   if (other == this) return;
   InternalSwap(other);
 }
 void ClientSafeBrowsingReportRequest::InternalSwap(ClientSafeBrowsingReportRequest* other) {
   using std::swap;
   resources_.InternalSwap(&other->resources_);
   client_asn_.InternalSwap(&other->client_asn_);
+  dom_.InternalSwap(&other->dom_);
   url_.Swap(&other->url_);
   page_url_.Swap(&other->page_url_);
   referrer_url_.Swap(&other->referrer_url_);
   client_country_.Swap(&other->client_country_);
   token_.Swap(&other->token_);
+  swap(client_properties_, other->client_properties_);
+  swap(type_, other->type_);
   swap(complete_, other->complete_);
   swap(did_proceed_, other->did_proceed_);
   swap(repeat_visit_, other->repeat_visit_);
-  swap(type_, other->type_);
+  swap(show_download_in_folder_, other->show_download_in_folder_);
   swap(download_verdict_, other->download_verdict_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);
 }
 
 ::std::string ClientSafeBrowsingReportRequest::GetTypeName() const {
   return "safe_browsing.ClientSafeBrowsingReportRequest";
 }
 
 #if PROTOBUF_INLINE_NOT_IN_HEADERS
 // ClientSafeBrowsingReportRequest
 
 // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
 bool ClientSafeBrowsingReportRequest::has_type() const {
-  return (_has_bits_[0] & 0x00000100u) != 0;
+  return (_has_bits_[0] & 0x00000040u) != 0;
 }
 void ClientSafeBrowsingReportRequest::set_has_type() {
-  _has_bits_[0] |= 0x00000100u;
+  _has_bits_[0] |= 0x00000040u;
 }
 void ClientSafeBrowsingReportRequest::clear_has_type() {
-  _has_bits_[0] &= ~0x00000100u;
+  _has_bits_[0] &= ~0x00000040u;
 }
 void ClientSafeBrowsingReportRequest::clear_type() {
   type_ = 0;
   clear_has_type();
 }
 ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::type() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.type)
   return static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType >(type_);
@@ -32608,23 +34842,23 @@ void ClientSafeBrowsingReportRequest::se
   assert(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType_IsValid(value));
   set_has_type();
   type_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.type)
 }
 
 // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
 bool ClientSafeBrowsingReportRequest::has_download_verdict() const {
-  return (_has_bits_[0] & 0x00000200u) != 0;
+  return (_has_bits_[0] & 0x00000800u) != 0;
 }
 void ClientSafeBrowsingReportRequest::set_has_download_verdict() {
-  _has_bits_[0] |= 0x00000200u;
+  _has_bits_[0] |= 0x00000800u;
 }
 void ClientSafeBrowsingReportRequest::clear_has_download_verdict() {
-  _has_bits_[0] &= ~0x00000200u;
+  _has_bits_[0] &= ~0x00000800u;
 }
 void ClientSafeBrowsingReportRequest::clear_download_verdict() {
   download_verdict_ = 0;
   clear_has_download_verdict();
 }
 ::safe_browsing::ClientDownloadResponse_Verdict ClientSafeBrowsingReportRequest::download_verdict() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.download_verdict)
   return static_cast< ::safe_browsing::ClientDownloadResponse_Verdict >(download_verdict_);
@@ -32850,25 +35084,55 @@ ClientSafeBrowsingReportRequest::mutable
   return &resources_;
 }
 const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource >&
 ClientSafeBrowsingReportRequest::resources() const {
   // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.resources)
   return resources_;
 }
 
+// repeated .safe_browsing.HTMLElement dom = 16;
+int ClientSafeBrowsingReportRequest::dom_size() const {
+  return dom_.size();
+}
+void ClientSafeBrowsingReportRequest::clear_dom() {
+  dom_.Clear();
+}
+const ::safe_browsing::HTMLElement& ClientSafeBrowsingReportRequest::dom(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return dom_.Get(index);
+}
+::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::mutable_dom(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return dom_.Mutable(index);
+}
+::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::add_dom() {
+  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return dom_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement >*
+ClientSafeBrowsingReportRequest::mutable_dom() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return &dom_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement >&
+ClientSafeBrowsingReportRequest::dom() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return dom_;
+}
+
 // optional bool complete = 5;
 bool ClientSafeBrowsingReportRequest::has_complete() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
+  return (_has_bits_[0] & 0x00000080u) != 0;
 }
 void ClientSafeBrowsingReportRequest::set_has_complete() {
-  _has_bits_[0] |= 0x00000020u;
+  _has_bits_[0] |= 0x00000080u;
 }
 void ClientSafeBrowsingReportRequest::clear_has_complete() {
-  _has_bits_[0] &= ~0x00000020u;
+  _has_bits_[0] &= ~0x00000080u;
 }
 void ClientSafeBrowsingReportRequest::clear_complete() {
   complete_ = false;
   clear_has_complete();
 }
 bool ClientSafeBrowsingReportRequest::complete() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.complete)
   return complete_;
@@ -33008,23 +35272,23 @@ void ClientSafeBrowsingReportRequest::se
     clear_has_client_country();
   }
   client_country_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), client_country);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
 }
 
 // optional bool did_proceed = 8;
 bool ClientSafeBrowsingReportRequest::has_did_proceed() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
+  return (_has_bits_[0] & 0x00000100u) != 0;
 }
 void ClientSafeBrowsingReportRequest::set_has_did_proceed() {
-  _has_bits_[0] |= 0x00000040u;
+  _has_bits_[0] |= 0x00000100u;
 }
 void ClientSafeBrowsingReportRequest::clear_has_did_proceed() {
-  _has_bits_[0] &= ~0x00000040u;
+  _has_bits_[0] &= ~0x00000100u;
 }
 void ClientSafeBrowsingReportRequest::clear_did_proceed() {
   did_proceed_ = false;
   clear_has_did_proceed();
 }
 bool ClientSafeBrowsingReportRequest::did_proceed() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.did_proceed)
   return did_proceed_;
@@ -33032,23 +35296,23 @@ bool ClientSafeBrowsingReportRequest::di
 void ClientSafeBrowsingReportRequest::set_did_proceed(bool value) {
   set_has_did_proceed();
   did_proceed_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.did_proceed)
 }
 
 // optional bool repeat_visit = 9;
 bool ClientSafeBrowsingReportRequest::has_repeat_visit() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
+  return (_has_bits_[0] & 0x00000200u) != 0;
 }
 void ClientSafeBrowsingReportRequest::set_has_repeat_visit() {
-  _has_bits_[0] |= 0x00000080u;
+  _has_bits_[0] |= 0x00000200u;
 }
 void ClientSafeBrowsingReportRequest::clear_has_repeat_visit() {
-  _has_bits_[0] &= ~0x00000080u;
+  _has_bits_[0] &= ~0x00000200u;
 }
 void ClientSafeBrowsingReportRequest::clear_repeat_visit() {
   repeat_visit_ = false;
   clear_has_repeat_visit();
 }
 bool ClientSafeBrowsingReportRequest::repeat_visit() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.repeat_visit)
   return repeat_visit_;
@@ -33117,15 +35381,2225 @@ void ClientSafeBrowsingReportRequest::se
     set_has_token();
   } else {
     clear_has_token();
   }
   token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.token)
 }
 
+// optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
+bool ClientSafeBrowsingReportRequest::has_client_properties() const {
+  return (_has_bits_[0] & 0x00000020u) != 0;
+}
+void ClientSafeBrowsingReportRequest::set_has_client_properties() {
+  _has_bits_[0] |= 0x00000020u;
+}
+void ClientSafeBrowsingReportRequest::clear_has_client_properties() {
+  _has_bits_[0] &= ~0x00000020u;
+}
+void ClientSafeBrowsingReportRequest::clear_client_properties() {
+  if (client_properties_ != NULL) client_properties_->::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Clear();
+  clear_has_client_properties();
+}
+const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& ClientSafeBrowsingReportRequest::client_properties() const {
+  const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* p = client_properties_;
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(
+      &::safe_browsing::_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);
+}
+::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::mutable_client_properties() {
+  set_has_client_properties();
+  if (client_properties_ == NULL) {
+    client_properties_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
+  return client_properties_;
+}
+::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::release_client_properties() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
+  clear_has_client_properties();
+  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* temp = client_properties_;
+  client_properties_ = NULL;
+  return temp;
+}
+void ClientSafeBrowsingReportRequest::set_allocated_client_properties(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties) {
+  delete client_properties_;
+  client_properties_ = client_properties;
+  if (client_properties) {
+    set_has_client_properties();
+  } else {
+    clear_has_client_properties();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
+}
+
+// optional bool show_download_in_folder = 18;
+bool ClientSafeBrowsingReportRequest::has_show_download_in_folder() const {
+  return (_has_bits_[0] & 0x00000400u) != 0;
+}
+void ClientSafeBrowsingReportRequest::set_has_show_download_in_folder() {
+  _has_bits_[0] |= 0x00000400u;
+}
+void ClientSafeBrowsingReportRequest::clear_has_show_download_in_folder() {
+  _has_bits_[0] &= ~0x00000400u;
+}
+void ClientSafeBrowsingReportRequest::clear_show_download_in_folder() {
+  show_download_in_folder_ = false;
+  clear_has_show_download_in_folder();
+}
+bool ClientSafeBrowsingReportRequest::show_download_in_folder() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.show_download_in_folder)
+  return show_download_in_folder_;
+}
+void ClientSafeBrowsingReportRequest::set_show_download_in_folder(bool value) {
+  set_has_show_download_in_folder();
+  show_download_in_folder_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.show_download_in_folder)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int HTMLElement_Attribute::kNameFieldNumber;
+const int HTMLElement_Attribute::kValueFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+HTMLElement_Attribute::HTMLElement_Attribute()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.HTMLElement.Attribute)
+}
+HTMLElement_Attribute::HTMLElement_Attribute(const HTMLElement_Attribute& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_name()) {
+    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
+  }
+  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_value()) {
+    value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
+  }
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.HTMLElement.Attribute)
+}
+
+void HTMLElement_Attribute::SharedCtor() {
+  _cached_size_ = 0;
+  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+HTMLElement_Attribute::~HTMLElement_Attribute() {
+  // @@protoc_insertion_point(destructor:safe_browsing.HTMLElement.Attribute)
+  SharedDtor();
+}
+
+void HTMLElement_Attribute::SharedDtor() {
+  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void HTMLElement_Attribute::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const HTMLElement_Attribute& HTMLElement_Attribute::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+HTMLElement_Attribute* HTMLElement_Attribute::New(::google::protobuf::Arena* arena) const {
+  HTMLElement_Attribute* n = new HTMLElement_Attribute;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void HTMLElement_Attribute::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.HTMLElement.Attribute)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*name_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(!value_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*value_.UnsafeRawStringPointer())->clear();
+    }
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool HTMLElement_Attribute::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.HTMLElement.Attribute)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_name()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string value = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_value()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.HTMLElement.Attribute)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.HTMLElement.Attribute)
+  return false;
+#undef DO_
+}
+
+void HTMLElement_Attribute::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.HTMLElement.Attribute)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string name = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->name(), output);
+  }
+
+  // optional string value = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      2, this->value(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.HTMLElement.Attribute)
+}
+
+size_t HTMLElement_Attribute::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.HTMLElement.Attribute)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 3u) {
+    // optional string name = 1;
+    if (has_name()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->name());
+    }
+
+    // optional string value = 2;
+    if (has_value()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->value());
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void HTMLElement_Attribute::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const HTMLElement_Attribute*>(&from));
+}
+
+void HTMLElement_Attribute::MergeFrom(const HTMLElement_Attribute& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.HTMLElement.Attribute)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_name();
+      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      set_has_value();
+      value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
+    }
+  }
+}
+
+void HTMLElement_Attribute::CopyFrom(const HTMLElement_Attribute& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.HTMLElement.Attribute)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool HTMLElement_Attribute::IsInitialized() const {
+  return true;
+}
+
+void HTMLElement_Attribute::Swap(HTMLElement_Attribute* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void HTMLElement_Attribute::InternalSwap(HTMLElement_Attribute* other) {
+  using std::swap;
+  name_.Swap(&other->name_);
+  value_.Swap(&other->value_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string HTMLElement_Attribute::GetTypeName() const {
+  return "safe_browsing.HTMLElement.Attribute";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// HTMLElement_Attribute
+
+// optional string name = 1;
+bool HTMLElement_Attribute::has_name() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void HTMLElement_Attribute::set_has_name() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void HTMLElement_Attribute::clear_has_name() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void HTMLElement_Attribute::clear_name() {
+  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_name();
+}
+const ::std::string& HTMLElement_Attribute::name() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.Attribute.name)
+  return name_.GetNoArena();
+}
+void HTMLElement_Attribute::set_name(const ::std::string& value) {
+  set_has_name();
+  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.Attribute.name)
+}
+#if LANG_CXX11
+void HTMLElement_Attribute::set_name(::std::string&& value) {
+  set_has_name();
+  name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.Attribute.name)
+}
+#endif
+void HTMLElement_Attribute::set_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_name();
+  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.Attribute.name)
+}
+void HTMLElement_Attribute::set_name(const char* value, size_t size) {
+  set_has_name();
+  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.Attribute.name)
+}
+::std::string* HTMLElement_Attribute::mutable_name() {
+  set_has_name();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.Attribute.name)
+  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* HTMLElement_Attribute::release_name() {
+  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.Attribute.name)
+  clear_has_name();
+  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void HTMLElement_Attribute::set_allocated_name(::std::string* name) {
+  if (name != NULL) {
+    set_has_name();
+  } else {
+    clear_has_name();
+  }
+  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.Attribute.name)
+}
+
+// optional string value = 2;
+bool HTMLElement_Attribute::has_value() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void HTMLElement_Attribute::set_has_value() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void HTMLElement_Attribute::clear_has_value() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void HTMLElement_Attribute::clear_value() {
+  value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_value();
+}
+const ::std::string& HTMLElement_Attribute::value() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.Attribute.value)
+  return value_.GetNoArena();
+}
+void HTMLElement_Attribute::set_value(const ::std::string& value) {
+  set_has_value();
+  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.Attribute.value)
+}
+#if LANG_CXX11
+void HTMLElement_Attribute::set_value(::std::string&& value) {
+  set_has_value();
+  value_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.Attribute.value)
+}
+#endif
+void HTMLElement_Attribute::set_value(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_value();
+  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.Attribute.value)
+}
+void HTMLElement_Attribute::set_value(const char* value, size_t size) {
+  set_has_value();
+  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.Attribute.value)
+}
+::std::string* HTMLElement_Attribute::mutable_value() {
+  set_has_value();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.Attribute.value)
+  return value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* HTMLElement_Attribute::release_value() {
+  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.Attribute.value)
+  clear_has_value();
+  return value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void HTMLElement_Attribute::set_allocated_value(::std::string* value) {
+  if (value != NULL) {
+    set_has_value();
+  } else {
+    clear_has_value();
+  }
+  value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.Attribute.value)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int HTMLElement::kIdFieldNumber;
+const int HTMLElement::kTagFieldNumber;
+const int HTMLElement::kChildIdsFieldNumber;
+const int HTMLElement::kResourceIdFieldNumber;
+const int HTMLElement::kAttributeFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+HTMLElement::HTMLElement()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.HTMLElement)
+}
+HTMLElement::HTMLElement(const HTMLElement& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0),
+      child_ids_(from.child_ids_),
+      attribute_(from.attribute_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  tag_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_tag()) {
+    tag_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag_);
+  }
+  ::memcpy(&id_, &from.id_,
+    static_cast<size_t>(reinterpret_cast<char*>(&resource_id_) -
+    reinterpret_cast<char*>(&id_)) + sizeof(resource_id_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.HTMLElement)
+}
+
+void HTMLElement::SharedCtor() {
+  _cached_size_ = 0;
+  tag_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&id_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&resource_id_) -
+      reinterpret_cast<char*>(&id_)) + sizeof(resource_id_));
+}
+
+HTMLElement::~HTMLElement() {
+  // @@protoc_insertion_point(destructor:safe_browsing.HTMLElement)
+  SharedDtor();
+}
+
+void HTMLElement::SharedDtor() {
+  tag_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void HTMLElement::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const HTMLElement& HTMLElement::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+HTMLElement* HTMLElement::New(::google::protobuf::Arena* arena) const {
+  HTMLElement* n = new HTMLElement;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void HTMLElement::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.HTMLElement)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  child_ids_.Clear();
+  attribute_.Clear();
+  if (has_tag()) {
+    GOOGLE_DCHECK(!tag_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*tag_.UnsafeRawStringPointer())->clear();
+  }
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 6u) {
+    ::memset(&id_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&resource_id_) -
+        reinterpret_cast<char*>(&id_)) + sizeof(resource_id_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool HTMLElement::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.HTMLElement)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional int32 id = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          set_has_id();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &id_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string tag = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_tag()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated int32 child_ids = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 1, 24u, input, this->mutable_child_ids())));
+        } else if (
+            static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, this->mutable_child_ids())));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 resource_id = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
+          set_has_resource_id();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &resource_id_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+                input, add_attribute()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.HTMLElement)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.HTMLElement)
+  return false;
+#undef DO_
+}
+
+void HTMLElement::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.HTMLElement)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional int32 id = 1;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->id(), output);
+  }
+
+  // optional string tag = 2;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      2, this->tag(), output);
+  }
+
+  // repeated int32 child_ids = 3;
+  for (int i = 0, n = this->child_ids_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(
+      3, this->child_ids(i), output);
+  }
+
+  // optional int32 resource_id = 5;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->resource_id(), output);
+  }
+
+  // repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->attribute_size()); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      6, this->attribute(static_cast<int>(i)), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.HTMLElement)
+}
+
+size_t HTMLElement::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.HTMLElement)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  // repeated int32 child_ids = 3;
+  {
+    size_t data_size = ::google::protobuf::internal::WireFormatLite::
+      Int32Size(this->child_ids_);
+    total_size += 1 *
+                  ::google::protobuf::internal::FromIntSize(this->child_ids_size());
+    total_size += data_size;
+  }
+
+  // repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
+  {
+    unsigned int count = static_cast<unsigned int>(this->attribute_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          this->attribute(static_cast<int>(i)));
+    }
+  }
+
+  if (_has_bits_[0 / 32] & 7u) {
+    // optional string tag = 2;
+    if (has_tag()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->tag());
+    }
+
+    // optional int32 id = 1;
+    if (has_id()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->id());
+    }
+
+    // optional int32 resource_id = 5;
+    if (has_resource_id()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->resource_id());
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void HTMLElement::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const HTMLElement*>(&from));
+}
+
+void HTMLElement::MergeFrom(const HTMLElement& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.HTMLElement)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  child_ids_.MergeFrom(from.child_ids_);
+  attribute_.MergeFrom(from.attribute_);
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 7u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_tag();
+      tag_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      id_ = from.id_;
+    }
+    if (cached_has_bits & 0x00000004u) {
+      resource_id_ = from.resource_id_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void HTMLElement::CopyFrom(const HTMLElement& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.HTMLElement)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool HTMLElement::IsInitialized() const {
+  return true;
+}
+
+void HTMLElement::Swap(HTMLElement* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void HTMLElement::InternalSwap(HTMLElement* other) {
+  using std::swap;
+  child_ids_.InternalSwap(&other->child_ids_);
+  attribute_.InternalSwap(&other->attribute_);
+  tag_.Swap(&other->tag_);
+  swap(id_, other->id_);
+  swap(resource_id_, other->resource_id_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string HTMLElement::GetTypeName() const {
+  return "safe_browsing.HTMLElement";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// HTMLElement
+
+// optional int32 id = 1;
+bool HTMLElement::has_id() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void HTMLElement::set_has_id() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void HTMLElement::clear_has_id() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void HTMLElement::clear_id() {
+  id_ = 0;
+  clear_has_id();
+}
+::google::protobuf::int32 HTMLElement::id() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.id)
+  return id_;
+}
+void HTMLElement::set_id(::google::protobuf::int32 value) {
+  set_has_id();
+  id_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.id)
+}
+
+// optional string tag = 2;
+bool HTMLElement::has_tag() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void HTMLElement::set_has_tag() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void HTMLElement::clear_has_tag() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void HTMLElement::clear_tag() {
+  tag_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_tag();
+}
+const ::std::string& HTMLElement::tag() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.tag)
+  return tag_.GetNoArena();
+}
+void HTMLElement::set_tag(const ::std::string& value) {
+  set_has_tag();
+  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.tag)
+}
+#if LANG_CXX11
+void HTMLElement::set_tag(::std::string&& value) {
+  set_has_tag();
+  tag_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.tag)
+}
+#endif
+void HTMLElement::set_tag(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_tag();
+  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.tag)
+}
+void HTMLElement::set_tag(const char* value, size_t size) {
+  set_has_tag();
+  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.tag)
+}
+::std::string* HTMLElement::mutable_tag() {
+  set_has_tag();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.tag)
+  return tag_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* HTMLElement::release_tag() {
+  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.tag)
+  clear_has_tag();
+  return tag_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void HTMLElement::set_allocated_tag(::std::string* tag) {
+  if (tag != NULL) {
+    set_has_tag();
+  } else {
+    clear_has_tag();
+  }
+  tag_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.tag)
+}
+
+// repeated int32 child_ids = 3;
+int HTMLElement::child_ids_size() const {
+  return child_ids_.size();
+}
+void HTMLElement::clear_child_ids() {
+  child_ids_.Clear();
+}
+::google::protobuf::int32 HTMLElement::child_ids(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.child_ids)
+  return child_ids_.Get(index);
+}
+void HTMLElement::set_child_ids(int index, ::google::protobuf::int32 value) {
+  child_ids_.Set(index, value);
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.child_ids)
+}
+void HTMLElement::add_child_ids(::google::protobuf::int32 value) {
+  child_ids_.Add(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.HTMLElement.child_ids)
+}
+const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+HTMLElement::child_ids() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.HTMLElement.child_ids)
+  return child_ids_;
+}
+::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+HTMLElement::mutable_child_ids() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.HTMLElement.child_ids)
+  return &child_ids_;
+}
+
+// optional int32 resource_id = 5;
+bool HTMLElement::has_resource_id() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void HTMLElement::set_has_resource_id() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void HTMLElement::clear_has_resource_id() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void HTMLElement::clear_resource_id() {
+  resource_id_ = 0;
+  clear_has_resource_id();
+}
+::google::protobuf::int32 HTMLElement::resource_id() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.resource_id)
+  return resource_id_;
+}
+void HTMLElement::set_resource_id(::google::protobuf::int32 value) {
+  set_has_resource_id();
+  resource_id_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.resource_id)
+}
+
+// repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
+int HTMLElement::attribute_size() const {
+  return attribute_.size();
+}
+void HTMLElement::clear_attribute() {
+  attribute_.Clear();
+}
+const ::safe_browsing::HTMLElement_Attribute& HTMLElement::attribute(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.attribute)
+  return attribute_.Get(index);
+}
+::safe_browsing::HTMLElement_Attribute* HTMLElement::mutable_attribute(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.attribute)
+  return attribute_.Mutable(index);
+}
+::safe_browsing::HTMLElement_Attribute* HTMLElement::add_attribute() {
+  // @@protoc_insertion_point(field_add:safe_browsing.HTMLElement.attribute)
+  return attribute_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >*
+HTMLElement::mutable_attribute() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.HTMLElement.attribute)
+  return &attribute_;
+}
+const ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >&
+HTMLElement::attribute() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.HTMLElement.attribute)
+  return attribute_;
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ImageData_Dimensions::kWidthFieldNumber;
+const int ImageData_Dimensions::kHeightFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ImageData_Dimensions::ImageData_Dimensions()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.ImageData.Dimensions)
+}
+ImageData_Dimensions::ImageData_Dimensions(const ImageData_Dimensions& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::memcpy(&width_, &from.width_,
+    static_cast<size_t>(reinterpret_cast<char*>(&height_) -
+    reinterpret_cast<char*>(&width_)) + sizeof(height_));
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.ImageData.Dimensions)
+}
+
+void ImageData_Dimensions::SharedCtor() {
+  _cached_size_ = 0;
+  ::memset(&width_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&height_) -
+      reinterpret_cast<char*>(&width_)) + sizeof(height_));
+}
+
+ImageData_Dimensions::~ImageData_Dimensions() {
+  // @@protoc_insertion_point(destructor:safe_browsing.ImageData.Dimensions)
+  SharedDtor();
+}
+
+void ImageData_Dimensions::SharedDtor() {
+}
+
+void ImageData_Dimensions::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ImageData_Dimensions& ImageData_Dimensions::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+ImageData_Dimensions* ImageData_Dimensions::New(::google::protobuf::Arena* arena) const {
+  ImageData_Dimensions* n = new ImageData_Dimensions;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void ImageData_Dimensions::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.ImageData.Dimensions)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 3u) {
+    ::memset(&width_, 0, static_cast<size_t>(
+        reinterpret_cast<char*>(&height_) -
+        reinterpret_cast<char*>(&width_)) + sizeof(height_));
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool ImageData_Dimensions::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.ImageData.Dimensions)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional int32 width = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          set_has_width();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &width_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional int32 height = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          set_has_height();
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &height_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.ImageData.Dimensions)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.ImageData.Dimensions)
+  return false;
+#undef DO_
+}
+
+void ImageData_Dimensions::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.ImageData.Dimensions)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional int32 width = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->width(), output);
+  }
+
+  // optional int32 height = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->height(), output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.ImageData.Dimensions)
+}
+
+size_t ImageData_Dimensions::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ImageData.Dimensions)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 3u) {
+    // optional int32 width = 1;
+    if (has_width()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->width());
+    }
+
+    // optional int32 height = 2;
+    if (has_height()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+          this->height());
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void ImageData_Dimensions::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const ImageData_Dimensions*>(&from));
+}
+
+void ImageData_Dimensions::MergeFrom(const ImageData_Dimensions& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ImageData.Dimensions)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      width_ = from.width_;
+    }
+    if (cached_has_bits & 0x00000002u) {
+      height_ = from.height_;
+    }
+    _has_bits_[0] |= cached_has_bits;
+  }
+}
+
+void ImageData_Dimensions::CopyFrom(const ImageData_Dimensions& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ImageData.Dimensions)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ImageData_Dimensions::IsInitialized() const {
+  return true;
+}
+
+void ImageData_Dimensions::Swap(ImageData_Dimensions* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void ImageData_Dimensions::InternalSwap(ImageData_Dimensions* other) {
+  using std::swap;
+  swap(width_, other->width_);
+  swap(height_, other->height_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string ImageData_Dimensions::GetTypeName() const {
+  return "safe_browsing.ImageData.Dimensions";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ImageData_Dimensions
+
+// optional int32 width = 1;
+bool ImageData_Dimensions::has_width() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void ImageData_Dimensions::set_has_width() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void ImageData_Dimensions::clear_has_width() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void ImageData_Dimensions::clear_width() {
+  width_ = 0;
+  clear_has_width();
+}
+::google::protobuf::int32 ImageData_Dimensions::width() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.Dimensions.width)
+  return width_;
+}
+void ImageData_Dimensions::set_width(::google::protobuf::int32 value) {
+  set_has_width();
+  width_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.Dimensions.width)
+}
+
+// optional int32 height = 2;
+bool ImageData_Dimensions::has_height() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void ImageData_Dimensions::set_has_height() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void ImageData_Dimensions::clear_has_height() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void ImageData_Dimensions::clear_height() {
+  height_ = 0;
+  clear_has_height();
+}
+::google::protobuf::int32 ImageData_Dimensions::height() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.Dimensions.height)
+  return height_;
+}
+void ImageData_Dimensions::set_height(::google::protobuf::int32 value) {
+  set_has_height();
+  height_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.Dimensions.height)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ImageData::kDataFieldNumber;
+const int ImageData::kMimeTypeFieldNumber;
+const int ImageData::kDimensionsFieldNumber;
+const int ImageData::kOriginalDimensionsFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ImageData::ImageData()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.ImageData)
+}
+ImageData::ImageData(const ImageData& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_data()) {
+    data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
+  }
+  mime_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_mime_type()) {
+    mime_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mime_type_);
+  }
+  if (from.has_dimensions()) {
+    dimensions_ = new ::safe_browsing::ImageData_Dimensions(*from.dimensions_);
+  } else {
+    dimensions_ = NULL;
+  }
+  if (from.has_original_dimensions()) {
+    original_dimensions_ = new ::safe_browsing::ImageData_Dimensions(*from.original_dimensions_);
+  } else {
+    original_dimensions_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.ImageData)
+}
+
+void ImageData::SharedCtor() {
+  _cached_size_ = 0;
+  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  mime_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&dimensions_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&original_dimensions_) -
+      reinterpret_cast<char*>(&dimensions_)) + sizeof(original_dimensions_));
+}
+
+ImageData::~ImageData() {
+  // @@protoc_insertion_point(destructor:safe_browsing.ImageData)
+  SharedDtor();
+}
+
+void ImageData::SharedDtor() {
+  data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  mime_type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete dimensions_;
+  if (this != internal_default_instance()) delete original_dimensions_;
+}
+
+void ImageData::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ImageData& ImageData::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+ImageData* ImageData::New(::google::protobuf::Arena* arena) const {
+  ImageData* n = new ImageData;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void ImageData::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.ImageData)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 15u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!data_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*data_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(!mime_type_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*mime_type_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000004u) {
+      GOOGLE_DCHECK(dimensions_ != NULL);
+      dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
+    }
+    if (cached_has_bits & 0x00000008u) {
+      GOOGLE_DCHECK(original_dimensions_ != NULL);
+      original_dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
+    }
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool ImageData::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.ImageData)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional bytes data = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_data()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional string mime_type = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_mime_type()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ImageData.Dimensions dimensions = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+               input, mutable_dimensions()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+               input, mutable_original_dimensions()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.ImageData)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.ImageData)
+  return false;
+#undef DO_
+}
+
+void ImageData::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.ImageData)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional bytes data = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      1, this->data(), output);
+  }
+
+  // optional string mime_type = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      2, this->mime_type(), output);
+  }
+
+  // optional .safe_browsing.ImageData.Dimensions dimensions = 3;
+  if (cached_has_bits & 0x00000004u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      3, *this->dimensions_, output);
+  }
+
+  // optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
+  if (cached_has_bits & 0x00000008u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      4, *this->original_dimensions_, output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.ImageData)
+}
+
+size_t ImageData::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ImageData)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 15u) {
+    // optional bytes data = 1;
+    if (has_data()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::BytesSize(
+          this->data());
+    }
+
+    // optional string mime_type = 2;
+    if (has_mime_type()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->mime_type());
+    }
+
+    // optional .safe_browsing.ImageData.Dimensions dimensions = 3;
+    if (has_dimensions()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          *this->dimensions_);
+    }
+
+    // optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
+    if (has_original_dimensions()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          *this->original_dimensions_);
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void ImageData::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const ImageData*>(&from));
+}
+
+void ImageData::MergeFrom(const ImageData& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ImageData)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 15u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_data();
+      data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      set_has_mime_type();
+      mime_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mime_type_);
+    }
+    if (cached_has_bits & 0x00000004u) {
+      mutable_dimensions()->::safe_browsing::ImageData_Dimensions::MergeFrom(from.dimensions());
+    }
+    if (cached_has_bits & 0x00000008u) {
+      mutable_original_dimensions()->::safe_browsing::ImageData_Dimensions::MergeFrom(from.original_dimensions());
+    }
+  }
+}
+
+void ImageData::CopyFrom(const ImageData& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ImageData)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ImageData::IsInitialized() const {
+  return true;
+}
+
+void ImageData::Swap(ImageData* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void ImageData::InternalSwap(ImageData* other) {
+  using std::swap;
+  data_.Swap(&other->data_);
+  mime_type_.Swap(&other->mime_type_);
+  swap(dimensions_, other->dimensions_);
+  swap(original_dimensions_, other->original_dimensions_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string ImageData::GetTypeName() const {
+  return "safe_browsing.ImageData";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ImageData
+
+// optional bytes data = 1;
+bool ImageData::has_data() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void ImageData::set_has_data() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void ImageData::clear_has_data() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void ImageData::clear_data() {
+  data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_data();
+}
+const ::std::string& ImageData::data() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.data)
+  return data_.GetNoArena();
+}
+void ImageData::set_data(const ::std::string& value) {
+  set_has_data();
+  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.data)
+}
+#if LANG_CXX11
+void ImageData::set_data(::std::string&& value) {
+  set_has_data();
+  data_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ImageData.data)
+}
+#endif
+void ImageData::set_data(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_data();
+  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ImageData.data)
+}
+void ImageData::set_data(const void* value, size_t size) {
+  set_has_data();
+  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ImageData.data)
+}
+::std::string* ImageData::mutable_data() {
+  set_has_data();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.data)
+  return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ImageData::release_data() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.data)
+  clear_has_data();
+  return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ImageData::set_allocated_data(::std::string* data) {
+  if (data != NULL) {
+    set_has_data();
+  } else {
+    clear_has_data();
+  }
+  data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.data)
+}
+
+// optional string mime_type = 2;
+bool ImageData::has_mime_type() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void ImageData::set_has_mime_type() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void ImageData::clear_has_mime_type() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void ImageData::clear_mime_type() {
+  mime_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_mime_type();
+}
+const ::std::string& ImageData::mime_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.mime_type)
+  return mime_type_.GetNoArena();
+}
+void ImageData::set_mime_type(const ::std::string& value) {
+  set_has_mime_type();
+  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.mime_type)
+}
+#if LANG_CXX11
+void ImageData::set_mime_type(::std::string&& value) {
+  set_has_mime_type();
+  mime_type_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ImageData.mime_type)
+}
+#endif
+void ImageData::set_mime_type(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_mime_type();
+  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ImageData.mime_type)
+}
+void ImageData::set_mime_type(const char* value, size_t size) {
+  set_has_mime_type();
+  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ImageData.mime_type)
+}
+::std::string* ImageData::mutable_mime_type() {
+  set_has_mime_type();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.mime_type)
+  return mime_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ImageData::release_mime_type() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.mime_type)
+  clear_has_mime_type();
+  return mime_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ImageData::set_allocated_mime_type(::std::string* mime_type) {
+  if (mime_type != NULL) {
+    set_has_mime_type();
+  } else {
+    clear_has_mime_type();
+  }
+  mime_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mime_type);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.mime_type)
+}
+
+// optional .safe_browsing.ImageData.Dimensions dimensions = 3;
+bool ImageData::has_dimensions() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+void ImageData::set_has_dimensions() {
+  _has_bits_[0] |= 0x00000004u;
+}
+void ImageData::clear_has_dimensions() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+void ImageData::clear_dimensions() {
+  if (dimensions_ != NULL) dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
+  clear_has_dimensions();
+}
+const ::safe_browsing::ImageData_Dimensions& ImageData::dimensions() const {
+  const ::safe_browsing::ImageData_Dimensions* p = dimensions_;
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.dimensions)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData_Dimensions*>(
+      &::safe_browsing::_ImageData_Dimensions_default_instance_);
+}
+::safe_browsing::ImageData_Dimensions* ImageData::mutable_dimensions() {
+  set_has_dimensions();
+  if (dimensions_ == NULL) {
+    dimensions_ = new ::safe_browsing::ImageData_Dimensions;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.dimensions)
+  return dimensions_;
+}
+::safe_browsing::ImageData_Dimensions* ImageData::release_dimensions() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.dimensions)
+  clear_has_dimensions();
+  ::safe_browsing::ImageData_Dimensions* temp = dimensions_;
+  dimensions_ = NULL;
+  return temp;
+}
+void ImageData::set_allocated_dimensions(::safe_browsing::ImageData_Dimensions* dimensions) {
+  delete dimensions_;
+  dimensions_ = dimensions;
+  if (dimensions) {
+    set_has_dimensions();
+  } else {
+    clear_has_dimensions();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.dimensions)
+}
+
+// optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
+bool ImageData::has_original_dimensions() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+void ImageData::set_has_original_dimensions() {
+  _has_bits_[0] |= 0x00000008u;
+}
+void ImageData::clear_has_original_dimensions() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+void ImageData::clear_original_dimensions() {
+  if (original_dimensions_ != NULL) original_dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
+  clear_has_original_dimensions();
+}
+const ::safe_browsing::ImageData_Dimensions& ImageData::original_dimensions() const {
+  const ::safe_browsing::ImageData_Dimensions* p = original_dimensions_;
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.original_dimensions)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData_Dimensions*>(
+      &::safe_browsing::_ImageData_Dimensions_default_instance_);
+}
+::safe_browsing::ImageData_Dimensions* ImageData::mutable_original_dimensions() {
+  set_has_original_dimensions();
+  if (original_dimensions_ == NULL) {
+    original_dimensions_ = new ::safe_browsing::ImageData_Dimensions;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.original_dimensions)
+  return original_dimensions_;
+}
+::safe_browsing::ImageData_Dimensions* ImageData::release_original_dimensions() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.original_dimensions)
+  clear_has_original_dimensions();
+  ::safe_browsing::ImageData_Dimensions* temp = original_dimensions_;
+  original_dimensions_ = NULL;
+  return temp;
+}
+void ImageData::set_allocated_original_dimensions(::safe_browsing::ImageData_Dimensions* original_dimensions) {
+  delete original_dimensions_;
+  original_dimensions_ = original_dimensions;
+  if (original_dimensions) {
+    set_has_original_dimensions();
+  } else {
+    clear_has_original_dimensions();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.original_dimensions)
+}
+
+#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int NotificationImageReportRequest::kNotificationOriginFieldNumber;
+const int NotificationImageReportRequest::kImageFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+NotificationImageReportRequest::NotificationImageReportRequest()
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    protobuf_csd_2eproto::InitDefaults();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:safe_browsing.NotificationImageReportRequest)
+}
+NotificationImageReportRequest::NotificationImageReportRequest(const NotificationImageReportRequest& from)
+  : ::google::protobuf::MessageLite(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  notification_origin_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_notification_origin()) {
+    notification_origin_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.notification_origin_);
+  }
+  if (from.has_image()) {
+    image_ = new ::safe_browsing::ImageData(*from.image_);
+  } else {
+    image_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:safe_browsing.NotificationImageReportRequest)
+}
+
+void NotificationImageReportRequest::SharedCtor() {
+  _cached_size_ = 0;
+  notification_origin_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  image_ = NULL;
+}
+
+NotificationImageReportRequest::~NotificationImageReportRequest() {
+  // @@protoc_insertion_point(destructor:safe_browsing.NotificationImageReportRequest)
+  SharedDtor();
+}
+
+void NotificationImageReportRequest::SharedDtor() {
+  notification_origin_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete image_;
+}
+
+void NotificationImageReportRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const NotificationImageReportRequest& NotificationImageReportRequest::default_instance() {
+  protobuf_csd_2eproto::InitDefaults();
+  return *internal_default_instance();
+}
+
+NotificationImageReportRequest* NotificationImageReportRequest::New(::google::protobuf::Arena* arena) const {
+  NotificationImageReportRequest* n = new NotificationImageReportRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void NotificationImageReportRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:safe_browsing.NotificationImageReportRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      GOOGLE_DCHECK(!notification_origin_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+      (*notification_origin_.UnsafeRawStringPointer())->clear();
+    }
+    if (cached_has_bits & 0x00000002u) {
+      GOOGLE_DCHECK(image_ != NULL);
+      image_->::safe_browsing::ImageData::Clear();
+    }
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool NotificationImageReportRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
+      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
+          &::google::protobuf::internal::InternalMetadataWithArenaLite::
+              mutable_unknown_fields));
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string, false);
+  // @@protoc_insertion_point(parse_start:safe_browsing.NotificationImageReportRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // optional string notification_origin = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_notification_origin()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // optional .safe_browsing.ImageData image = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+               input, mutable_image()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:safe_browsing.NotificationImageReportRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:safe_browsing.NotificationImageReportRequest)
+  return false;
+#undef DO_
+}
+
+void NotificationImageReportRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:safe_browsing.NotificationImageReportRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // optional string notification_origin = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->notification_origin(), output);
+  }
+
+  // optional .safe_browsing.ImageData image = 2;
+  if (cached_has_bits & 0x00000002u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessage(
+      2, *this->image_, output);
+  }
+
+  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
+                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
+  // @@protoc_insertion_point(serialize_end:safe_browsing.NotificationImageReportRequest)
+}
+
+size_t NotificationImageReportRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:safe_browsing.NotificationImageReportRequest)
+  size_t total_size = 0;
+
+  total_size += _internal_metadata_.unknown_fields().size();
+
+  if (_has_bits_[0 / 32] & 3u) {
+    // optional string notification_origin = 1;
+    if (has_notification_origin()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::StringSize(
+          this->notification_origin());
+    }
+
+    // optional .safe_browsing.ImageData image = 2;
+    if (has_image()) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+          *this->image_);
+    }
+
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void NotificationImageReportRequest::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const NotificationImageReportRequest*>(&from));
+}
+
+void NotificationImageReportRequest::MergeFrom(const NotificationImageReportRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.NotificationImageReportRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = from._has_bits_[0];
+  if (cached_has_bits & 3u) {
+    if (cached_has_bits & 0x00000001u) {
+      set_has_notification_origin();
+      notification_origin_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.notification_origin_);
+    }
+    if (cached_has_bits & 0x00000002u) {
+      mutable_image()->::safe_browsing::ImageData::MergeFrom(from.image());
+    }
+  }
+}
+
+void NotificationImageReportRequest::CopyFrom(const NotificationImageReportRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.NotificationImageReportRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool NotificationImageReportRequest::IsInitialized() const {
+  return true;
+}
+
+void NotificationImageReportRequest::Swap(NotificationImageReportRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void NotificationImageReportRequest::InternalSwap(NotificationImageReportRequest* other) {
+  using std::swap;
+  notification_origin_.Swap(&other->notification_origin_);
+  swap(image_, other->image_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::std::string NotificationImageReportRequest::GetTypeName() const {
+  return "safe_browsing.NotificationImageReportRequest";
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// NotificationImageReportRequest
+
+// optional string notification_origin = 1;
+bool NotificationImageReportRequest::has_notification_origin() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+void NotificationImageReportRequest::set_has_notification_origin() {
+  _has_bits_[0] |= 0x00000001u;
+}
+void NotificationImageReportRequest::clear_has_notification_origin() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+void NotificationImageReportRequest::clear_notification_origin() {
+  notification_origin_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_notification_origin();
+}
+const ::std::string& NotificationImageReportRequest::notification_origin() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.NotificationImageReportRequest.notification_origin)
+  return notification_origin_.GetNoArena();
+}
+void NotificationImageReportRequest::set_notification_origin(const ::std::string& value) {
+  set_has_notification_origin();
+  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+#if LANG_CXX11
+void NotificationImageReportRequest::set_notification_origin(::std::string&& value) {
+  set_has_notification_origin();
+  notification_origin_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+#endif
+void NotificationImageReportRequest::set_notification_origin(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_notification_origin();
+  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+void NotificationImageReportRequest::set_notification_origin(const char* value, size_t size) {
+  set_has_notification_origin();
+  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+::std::string* NotificationImageReportRequest::mutable_notification_origin() {
+  set_has_notification_origin();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.NotificationImageReportRequest.notification_origin)
+  return notification_origin_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* NotificationImageReportRequest::release_notification_origin() {
+  // @@protoc_insertion_point(field_release:safe_browsing.NotificationImageReportRequest.notification_origin)
+  clear_has_notification_origin();
+  return notification_origin_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void NotificationImageReportRequest::set_allocated_notification_origin(::std::string* notification_origin) {
+  if (notification_origin != NULL) {
+    set_has_notification_origin();
+  } else {
+    clear_has_notification_origin();
+  }
+  notification_origin_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), notification_origin);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+
+// optional .safe_browsing.ImageData image = 2;
+bool NotificationImageReportRequest::has_image() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+void NotificationImageReportRequest::set_has_image() {
+  _has_bits_[0] |= 0x00000002u;
+}
+void NotificationImageReportRequest::clear_has_image() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+void NotificationImageReportRequest::clear_image() {
+  if (image_ != NULL) image_->::safe_browsing::ImageData::Clear();
+  clear_has_image();
+}
+const ::safe_browsing::ImageData& NotificationImageReportRequest::image() const {
+  const ::safe_browsing::ImageData* p = image_;
+  // @@protoc_insertion_point(field_get:safe_browsing.NotificationImageReportRequest.image)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData*>(
+      &::safe_browsing::_ImageData_default_instance_);
+}
+::safe_browsing::ImageData* NotificationImageReportRequest::mutable_image() {
+  set_has_image();
+  if (image_ == NULL) {
+    image_ = new ::safe_browsing::ImageData;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.NotificationImageReportRequest.image)
+  return image_;
+}
+::safe_browsing::ImageData* NotificationImageReportRequest::release_image() {
+  // @@protoc_insertion_point(field_release:safe_browsing.NotificationImageReportRequest.image)
+  clear_has_image();
+  ::safe_browsing::ImageData* temp = image_;
+  image_ = NULL;
+  return temp;
+}
+void NotificationImageReportRequest::set_allocated_image(::safe_browsing::ImageData* image) {
+  delete image_;
+  image_ = image;
+  if (image) {
+    set_has_image();
+  } else {
+    clear_has_image();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.NotificationImageReportRequest.image)
+}
+
 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
 
 // @@protoc_insertion_point(namespace_scope)
 
 }  // namespace safe_browsing
 
 // @@protoc_insertion_point(global_scope)
--- a/toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.h
+++ b/toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.h
@@ -74,19 +74,16 @@ class ClientDownloadRequest_PEImageHeade
 class ClientDownloadRequest_PEImageHeaders_DebugDataDefaultTypeInternal;
 extern ClientDownloadRequest_PEImageHeaders_DebugDataDefaultTypeInternal _ClientDownloadRequest_PEImageHeaders_DebugData_default_instance_;
 class ClientDownloadRequest_Resource;
 class ClientDownloadRequest_ResourceDefaultTypeInternal;
 extern ClientDownloadRequest_ResourceDefaultTypeInternal _ClientDownloadRequest_Resource_default_instance_;
 class ClientDownloadRequest_SignatureInfo;
 class ClientDownloadRequest_SignatureInfoDefaultTypeInternal;
 extern ClientDownloadRequest_SignatureInfoDefaultTypeInternal _ClientDownloadRequest_SignatureInfo_default_instance_;
-class ClientDownloadRequest_URLChainEntry;
-class ClientDownloadRequest_URLChainEntryDefaultTypeInternal;
-extern ClientDownloadRequest_URLChainEntryDefaultTypeInternal _ClientDownloadRequest_URLChainEntry_default_instance_;
 class ClientDownloadResponse;
 class ClientDownloadResponseDefaultTypeInternal;
 extern ClientDownloadResponseDefaultTypeInternal _ClientDownloadResponse_default_instance_;
 class ClientDownloadResponse_MoreInfo;
 class ClientDownloadResponse_MoreInfoDefaultTypeInternal;
 extern ClientDownloadResponse_MoreInfoDefaultTypeInternal _ClientDownloadResponse_MoreInfo_default_instance_;
 class ClientIncidentReport;
 class ClientIncidentReportDefaultTypeInternal;
@@ -137,31 +134,22 @@ class ClientIncidentReport_IncidentData;
 class ClientIncidentReport_IncidentDataDefaultTypeInternal;
 extern ClientIncidentReport_IncidentDataDefaultTypeInternal _ClientIncidentReport_IncidentData_default_instance_;
 class ClientIncidentReport_IncidentData_BinaryIntegrityIncident;
 class ClientIncidentReport_IncidentData_BinaryIntegrityIncidentDefaultTypeInternal;
 extern ClientIncidentReport_IncidentData_BinaryIntegrityIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_;
 class ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile;
 class ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFileDefaultTypeInternal;
 extern ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFileDefaultTypeInternal _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_;
-class ClientIncidentReport_IncidentData_BlacklistLoadIncident;
-class ClientIncidentReport_IncidentData_BlacklistLoadIncidentDefaultTypeInternal;
-extern ClientIncidentReport_IncidentData_BlacklistLoadIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_;
 class ClientIncidentReport_IncidentData_ResourceRequestIncident;
 class ClientIncidentReport_IncidentData_ResourceRequestIncidentDefaultTypeInternal;
 extern ClientIncidentReport_IncidentData_ResourceRequestIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_;
-class ClientIncidentReport_IncidentData_SuspiciousModuleIncident;
-class ClientIncidentReport_IncidentData_SuspiciousModuleIncidentDefaultTypeInternal;
-extern ClientIncidentReport_IncidentData_SuspiciousModuleIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_;
 class ClientIncidentReport_IncidentData_TrackedPreferenceIncident;
 class ClientIncidentReport_IncidentData_TrackedPreferenceIncidentDefaultTypeInternal;
 extern ClientIncidentReport_IncidentData_TrackedPreferenceIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_;
-class ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident;
-class ClientIncidentReport_IncidentData_VariationsSeedSignatureIncidentDefaultTypeInternal;
-extern ClientIncidentReport_IncidentData_VariationsSeedSignatureIncidentDefaultTypeInternal _ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_;
 class ClientIncidentReport_NonBinaryDownloadDetails;
 class ClientIncidentReport_NonBinaryDownloadDetailsDefaultTypeInternal;
 extern ClientIncidentReport_NonBinaryDownloadDetailsDefaultTypeInternal _ClientIncidentReport_NonBinaryDownloadDetails_default_instance_;
 class ClientIncidentResponse;
 class ClientIncidentResponseDefaultTypeInternal;
 extern ClientIncidentResponseDefaultTypeInternal _ClientIncidentResponse_default_instance_;
 class ClientIncidentResponse_EnvironmentRequest;
 class ClientIncidentResponse_EnvironmentRequestDefaultTypeInternal;
@@ -200,22 +188,61 @@ class ClientSafeBrowsingReportRequest_HT
 class ClientSafeBrowsingReportRequest_HTTPResponseDefaultTypeInternal;
 extern ClientSafeBrowsingReportRequest_HTTPResponseDefaultTypeInternal _ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_;
 class ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine;
 class ClientSafeBrowsingReportRequest_HTTPResponse_FirstLineDefaultTypeInternal;
 extern ClientSafeBrowsingReportRequest_HTTPResponse_FirstLineDefaultTypeInternal _ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_;
 class ClientSafeBrowsingReportRequest_Resource;
 class ClientSafeBrowsingReportRequest_ResourceDefaultTypeInternal;
 extern ClientSafeBrowsingReportRequest_ResourceDefaultTypeInternal _ClientSafeBrowsingReportRequest_Resource_default_instance_;
+class ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties;
+class ClientSafeBrowsingReportRequest_SafeBrowsingClientPropertiesDefaultTypeInternal;
+extern ClientSafeBrowsingReportRequest_SafeBrowsingClientPropertiesDefaultTypeInternal _ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_;
 class ClientUploadResponse;
 class ClientUploadResponseDefaultTypeInternal;
 extern ClientUploadResponseDefaultTypeInternal _ClientUploadResponse_default_instance_;
 class DownloadMetadata;
 class DownloadMetadataDefaultTypeInternal;
 extern DownloadMetadataDefaultTypeInternal _DownloadMetadata_default_instance_;
+class HTMLElement;
+class HTMLElementDefaultTypeInternal;
+extern HTMLElementDefaultTypeInternal _HTMLElement_default_instance_;
+class HTMLElement_Attribute;
+class HTMLElement_AttributeDefaultTypeInternal;
+extern HTMLElement_AttributeDefaultTypeInternal _HTMLElement_Attribute_default_instance_;
+class ImageData;
+class ImageDataDefaultTypeInternal;
+extern ImageDataDefaultTypeInternal _ImageData_default_instance_;
+class ImageData_Dimensions;
+class ImageData_DimensionsDefaultTypeInternal;
+extern ImageData_DimensionsDefaultTypeInternal _ImageData_Dimensions_default_instance_;
+class LoginReputationClientRequest;
+class LoginReputationClientRequestDefaultTypeInternal;
+extern LoginReputationClientRequestDefaultTypeInternal _LoginReputationClientRequest_default_instance_;
+class LoginReputationClientRequest_Frame;
+class LoginReputationClientRequest_FrameDefaultTypeInternal;
+extern LoginReputationClientRequest_FrameDefaultTypeInternal _LoginReputationClientRequest_Frame_default_instance_;
+class LoginReputationClientRequest_Frame_Form;
+class LoginReputationClientRequest_Frame_FormDefaultTypeInternal;
+extern LoginReputationClientRequest_Frame_FormDefaultTypeInternal _LoginReputationClientRequest_Frame_Form_default_instance_;
+class LoginReputationClientRequest_PasswordReuseEvent;
+class LoginReputationClientRequest_PasswordReuseEventDefaultTypeInternal;
+extern LoginReputationClientRequest_PasswordReuseEventDefaultTypeInternal _LoginReputationClientRequest_PasswordReuseEvent_default_instance_;
+class LoginReputationClientResponse;
+class LoginReputationClientResponseDefaultTypeInternal;
+extern LoginReputationClientResponseDefaultTypeInternal _LoginReputationClientResponse_default_instance_;
+class NotificationImageReportRequest;
+class NotificationImageReportRequestDefaultTypeInternal;
+extern NotificationImageReportRequestDefaultTypeInternal _NotificationImageReportRequest_default_instance_;
+class ReferrerChainEntry;
+class ReferrerChainEntryDefaultTypeInternal;
+extern ReferrerChainEntryDefaultTypeInternal _ReferrerChainEntry_default_instance_;
+class ReferrerChainEntry_ServerRedirect;
+class ReferrerChainEntry_ServerRedirectDefaultTypeInternal;
+extern ReferrerChainEntry_ServerRedirectDefaultTypeInternal _ReferrerChainEntry_ServerRedirect_default_instance_;
 }  // namespace safe_browsing
 
 namespace safe_browsing {
 
 namespace protobuf_csd_2eproto {
 // Internal implementation detail -- do not call these.
 struct TableStruct {
   static const ::google::protobuf::internal::ParseTableField entries[];
@@ -235,28 +262,46 @@ enum ChromeUserPopulation_UserPopulation
   ChromeUserPopulation_UserPopulation_SAFE_BROWSING = 1,
   ChromeUserPopulation_UserPopulation_EXTENDED_REPORTING = 2
 };
 bool ChromeUserPopulation_UserPopulation_IsValid(int value);
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation_UserPopulation_UserPopulation_MIN = ChromeUserPopulation_UserPopulation_UNKNOWN_USER_POPULATION;
 const ChromeUserPopulation_UserPopulation ChromeUserPopulation_UserPopulation_UserPopulation_MAX = ChromeUserPopulation_UserPopulation_EXTENDED_REPORTING;
 const int ChromeUserPopulation_UserPopulation_UserPopulation_ARRAYSIZE = ChromeUserPopulation_UserPopulation_UserPopulation_MAX + 1;
 
-enum ClientDownloadRequest_URLChainEntry_URLType {
-  ClientDownloadRequest_URLChainEntry_URLType_DOWNLOAD_URL = 1,
-  ClientDownloadRequest_URLChainEntry_URLType_DOWNLOAD_REFERRER = 2,
-  ClientDownloadRequest_URLChainEntry_URLType_LANDING_PAGE = 3,
-  ClientDownloadRequest_URLChainEntry_URLType_LANDING_REFERRER = 4,
-  ClientDownloadRequest_URLChainEntry_URLType_CLIENT_REDIRECT = 5,
-  ClientDownloadRequest_URLChainEntry_URLType_SERVER_REDIRECT = 6
-};
-bool ClientDownloadRequest_URLChainEntry_URLType_IsValid(int value);
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry_URLType_URLType_MIN = ClientDownloadRequest_URLChainEntry_URLType_DOWNLOAD_URL;
-const ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry_URLType_URLType_MAX = ClientDownloadRequest_URLChainEntry_URLType_SERVER_REDIRECT;
-const int ClientDownloadRequest_URLChainEntry_URLType_URLType_ARRAYSIZE = ClientDownloadRequest_URLChainEntry_URLType_URLType_MAX + 1;
+enum LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType {
+  LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_NOT_SIGNED_IN = 0,
+  LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GMAIL = 1,
+  LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GSUITE = 2
+};
+bool LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(int value);
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MIN = LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_NOT_SIGNED_IN;
+const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MAX = LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GSUITE;
+const int LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_ARRAYSIZE = LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MAX + 1;
+
+enum LoginReputationClientRequest_TriggerType {
+  LoginReputationClientRequest_TriggerType_TRIGGER_TYPE_UNSPECIFIED = 0,
+  LoginReputationClientRequest_TriggerType_UNFAMILIAR_LOGIN_PAGE = 1,
+  LoginReputationClientRequest_TriggerType_PASSWORD_REUSE_EVENT = 2
+};
+bool LoginReputationClientRequest_TriggerType_IsValid(int value);
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest_TriggerType_TriggerType_MIN = LoginReputationClientRequest_TriggerType_TRIGGER_TYPE_UNSPECIFIED;
+const LoginReputationClientRequest_TriggerType LoginReputationClientRequest_TriggerType_TriggerType_MAX = LoginReputationClientRequest_TriggerType_PASSWORD_REUSE_EVENT;
+const int LoginReputationClientRequest_TriggerType_TriggerType_ARRAYSIZE = LoginReputationClientRequest_TriggerType_TriggerType_MAX + 1;
+
+enum LoginReputationClientResponse_VerdictType {
+  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);
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse_VerdictType_VerdictType_MIN = LoginReputationClientResponse_VerdictType_VERDICT_TYPE_UNSPECIFIED;
+const LoginReputationClientResponse_VerdictType LoginReputationClientResponse_VerdictType_VerdictType_MAX = LoginReputationClientResponse_VerdictType_PHISHING;
+const int LoginReputationClientResponse_VerdictType_VerdictType_ARRAYSIZE = LoginReputationClientResponse_VerdictType_VerdictType_MAX + 1;
 
 enum ClientDownloadRequest_ResourceType {
   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
@@ -279,16 +324,28 @@ enum ClientDownloadRequest_DownloadType 
   ClientDownloadRequest_DownloadType_PPAPI_SAVE_REQUEST = 9,
   ClientDownloadRequest_DownloadType_SAMPLED_UNSUPPORTED_FILE = 10
 };
 bool ClientDownloadRequest_DownloadType_IsValid(int value);
 const ClientDownloadRequest_DownloadType ClientDownloadRequest_DownloadType_DownloadType_MIN = ClientDownloadRequest_DownloadType_WIN_EXECUTABLE;
 const ClientDownloadRequest_DownloadType ClientDownloadRequest_DownloadType_DownloadType_MAX = ClientDownloadRequest_DownloadType_SAMPLED_UNSUPPORTED_FILE;
 const int ClientDownloadRequest_DownloadType_DownloadType_ARRAYSIZE = ClientDownloadRequest_DownloadType_DownloadType_MAX + 1;
 
+enum ReferrerChainEntry_URLType {
+  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);
+const ReferrerChainEntry_URLType ReferrerChainEntry_URLType_URLType_MIN = ReferrerChainEntry_URLType_EVENT_URL;
+const ReferrerChainEntry_URLType ReferrerChainEntry_URLType_URLType_MAX = ReferrerChainEntry_URLType_DEPRECATED_SERVER_REDIRECT;
+const int ReferrerChainEntry_URLType_URLType_ARRAYSIZE = ReferrerChainEntry_URLType_URLType_MAX + 1;
+
 enum ClientDownloadResponse_Verdict {
   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
 };
@@ -316,21 +373,23 @@ const ClientUploadResponse_UploadStatus 
 const ClientUploadResponse_UploadStatus ClientUploadResponse_UploadStatus_UploadStatus_MAX = ClientUploadResponse_UploadStatus_UPLOAD_FAILURE;
 const int ClientUploadResponse_UploadStatus_UploadStatus_ARRAYSIZE = ClientUploadResponse_UploadStatus_UploadStatus_MAX + 1;
 
 enum ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState {
   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_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);
 const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MIN = ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_UNKNOWN;
-const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MAX = ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_UNTRUSTED_UNKNOWN_VALUE;
+const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MAX = ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_BYPASS_CHANGED;
 const int ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_ARRAYSIZE = ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MAX + 1;
 
 enum ClientIncidentReport_IncidentData_ResourceRequestIncident_Type {
   ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_UNKNOWN = 0,
   ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_TYPE_PATTERN = 3
 };
 bool ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(int value);
 const ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_Type_MIN = ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_UNKNOWN;
@@ -382,27 +441,42 @@ const ClientIncidentReport_ExtensionData
 const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_MAX = ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_STATE_TERMINATED;
 const int ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_ARRAYSIZE = ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_ExtensionState_MAX + 1;
 
 enum ClientSafeBrowsingReportRequest_ReportType {
   ClientSafeBrowsingReportRequest_ReportType_UNKNOWN = 0,
   ClientSafeBrowsingReportRequest_ReportType_URL_PHISHING = 1,
   ClientSafeBrowsingReportRequest_ReportType_URL_MALWARE = 2,
   ClientSafeBrowsingReportRequest_ReportType_URL_UNWANTED = 3,
-  ClientSafeBrowsingReportRequest_ReportType_CLIENT_SIDE_PHISHING_URL = 4,
-  ClientSafeBrowsingReportRequest_ReportType_CLIENT_SIDE_MALWARE_URL = 5,
+  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_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);
 const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest_ReportType_ReportType_MIN = ClientSafeBrowsingReportRequest_ReportType_UNKNOWN;
-const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest_ReportType_ReportType_MAX = ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_BY_API;
+const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest_ReportType_ReportType_MAX = ClientSafeBrowsingReportRequest_ReportType_AD_SAMPLE;
 const int ClientSafeBrowsingReportRequest_ReportType_ReportType_ARRAYSIZE = ClientSafeBrowsingReportRequest_ReportType_ReportType_MAX + 1;
 
+enum ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType {
+  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);
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MIN = ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED;
+const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MAX = ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_FLYWHEEL;
+const int ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_ARRAYSIZE = ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MAX + 1;
+
 // ===================================================================
 
 class ChromeUserPopulation : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ChromeUserPopulation) */ {
  public:
   ChromeUserPopulation();
   virtual ~ChromeUserPopulation();
 
   ChromeUserPopulation(const ChromeUserPopulation& from);
@@ -498,32 +572,65 @@ class ChromeUserPopulation : public ::go
     ChromeUserPopulation_UserPopulation_UserPopulation_MIN;
   static const UserPopulation UserPopulation_MAX =
     ChromeUserPopulation_UserPopulation_UserPopulation_MAX;
   static const int UserPopulation_ARRAYSIZE =
     ChromeUserPopulation_UserPopulation_UserPopulation_ARRAYSIZE;
 
   // accessors -------------------------------------------------------
 
+  // repeated string finch_active_groups = 4;
+  int finch_active_groups_size() const;
+  void clear_finch_active_groups();
+  static const int kFinchActiveGroupsFieldNumber = 4;
+  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);
+  #if LANG_CXX11
+  void set_finch_active_groups(int index, ::std::string&& value);
+  #endif
+  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);
+  #if LANG_CXX11
+  void add_finch_active_groups(::std::string&& value);
+  #endif
+  void add_finch_active_groups(const char* value);
+  void add_finch_active_groups(const char* value, size_t size);
+  const ::google::protobuf::RepeatedPtrField< ::std::string>& finch_active_groups() const;
+  ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_finch_active_groups();
+
   // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
   bool has_user_population() const;
   void clear_user_population();
   static const int kUserPopulationFieldNumber = 1;
   ::safe_browsing::ChromeUserPopulation_UserPopulation user_population() const;
   void set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value);
 
+  // optional bool is_history_sync_enabled = 2;
+  bool has_is_history_sync_enabled() const;
+  void clear_is_history_sync_enabled();
+  static const int kIsHistorySyncEnabledFieldNumber = 2;
+  bool is_history_sync_enabled() const;
+  void set_is_history_sync_enabled(bool value);
+
   // @@protoc_insertion_point(class_scope:safe_browsing.ChromeUserPopulation)
  private:
   void set_has_user_population();
   void clear_has_user_population();
-
-  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  void set_has_is_history_sync_enabled();
+  void clear_has_is_history_sync_enabled();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::RepeatedPtrField< ::std::string> finch_active_groups_;
   int user_population_;
+  bool is_history_sync_enabled_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
 class ClientPhishingRequest_Feature : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientPhishingRequest.Feature) */ {
  public:
   ClientPhishingRequest_Feature();
   virtual ~ClientPhishingRequest_Feature();
@@ -1366,16 +1473,860 @@ class ClientMalwareRequest : public ::go
   ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientMalwareRequest_UrlInfo > bad_ip_url_info_;
   ::google::protobuf::internal::ArenaStringPtr url_;
   ::google::protobuf::internal::ArenaStringPtr referrer_url_;
   ::safe_browsing::ChromeUserPopulation* population_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
+class LoginReputationClientRequest_Frame_Form : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientRequest.Frame.Form) */ {
+ public:
+  LoginReputationClientRequest_Frame_Form();
+  virtual ~LoginReputationClientRequest_Frame_Form();
+
+  LoginReputationClientRequest_Frame_Form(const LoginReputationClientRequest_Frame_Form& from);
+
+  inline LoginReputationClientRequest_Frame_Form& operator=(const LoginReputationClientRequest_Frame_Form& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  LoginReputationClientRequest_Frame_Form(LoginReputationClientRequest_Frame_Form&& from) noexcept
+    : LoginReputationClientRequest_Frame_Form() {
+    *this = ::std::move(from);
+  }
+
+  inline LoginReputationClientRequest_Frame_Form& operator=(LoginReputationClientRequest_Frame_Form&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const LoginReputationClientRequest_Frame_Form& default_instance();
+
+  static inline const LoginReputationClientRequest_Frame_Form* internal_default_instance() {
+    return reinterpret_cast<const LoginReputationClientRequest_Frame_Form*>(
+               &_LoginReputationClientRequest_Frame_Form_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    6;
+
+  void Swap(LoginReputationClientRequest_Frame_Form* other);
+  friend void swap(LoginReputationClientRequest_Frame_Form& a, LoginReputationClientRequest_Frame_Form& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline LoginReputationClientRequest_Frame_Form* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  LoginReputationClientRequest_Frame_Form* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const LoginReputationClientRequest_Frame_Form& from);
+  void MergeFrom(const LoginReputationClientRequest_Frame_Form& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(LoginReputationClientRequest_Frame_Form* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // optional string action_url = 1;
+  bool has_action_url() const;
+  void clear_action_url();
+  static const int kActionUrlFieldNumber = 1;
+  const ::std::string& action_url() const;
+  void set_action_url(const ::std::string& value);
+  #if LANG_CXX11
+  void set_action_url(::std::string&& value);
+  #endif
+  void set_action_url(const char* value);
+  void set_action_url(const char* value, size_t size);
+  ::std::string* mutable_action_url();
+  ::std::string* release_action_url();
+  void set_allocated_action_url(::std::string* action_url);
+
+  // optional bool has_password_field = 2;
+  bool has_has_password_field() const;
+  void clear_has_password_field();
+  static const int kHasPasswordFieldFieldNumber = 2;
+  bool has_password_field() const;
+  void set_has_password_field(bool value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientRequest.Frame.Form)
+ private:
+  void set_has_action_url();
+  void clear_has_action_url();
+  void set_has_has_password_field();
+  void clear_has_has_password_field();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::internal::ArenaStringPtr action_url_;
+  bool has_password_field_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class LoginReputationClientRequest_Frame : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientRequest.Frame) */ {
+ public:
+  LoginReputationClientRequest_Frame();
+  virtual ~LoginReputationClientRequest_Frame();
+
+  LoginReputationClientRequest_Frame(const LoginReputationClientRequest_Frame& from);
+
+  inline LoginReputationClientRequest_Frame& operator=(const LoginReputationClientRequest_Frame& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  LoginReputationClientRequest_Frame(LoginReputationClientRequest_Frame&& from) noexcept
+    : LoginReputationClientRequest_Frame() {
+    *this = ::std::move(from);
+  }
+
+  inline LoginReputationClientRequest_Frame& operator=(LoginReputationClientRequest_Frame&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const LoginReputationClientRequest_Frame& default_instance();
+
+  static inline const LoginReputationClientRequest_Frame* internal_default_instance() {
+    return reinterpret_cast<const LoginReputationClientRequest_Frame*>(
+               &_LoginReputationClientRequest_Frame_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    7;
+
+  void Swap(LoginReputationClientRequest_Frame* other);
+  friend void swap(LoginReputationClientRequest_Frame& a, LoginReputationClientRequest_Frame& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline LoginReputationClientRequest_Frame* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  LoginReputationClientRequest_Frame* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const LoginReputationClientRequest_Frame& from);
+  void MergeFrom(const LoginReputationClientRequest_Frame& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(LoginReputationClientRequest_Frame* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  typedef LoginReputationClientRequest_Frame_Form Form;
+
+  // accessors -------------------------------------------------------
+
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
+  int referrer_chain_size() const;
+  void clear_referrer_chain();
+  static const int kReferrerChainFieldNumber = 5;
+  const ::safe_browsing::ReferrerChainEntry& referrer_chain(int index) const;
+  ::safe_browsing::ReferrerChainEntry* mutable_referrer_chain(int index);
+  ::safe_browsing::ReferrerChainEntry* add_referrer_chain();
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
+      mutable_referrer_chain();
+  const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
+      referrer_chain() const;
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+  int forms_size() const;
+  void clear_forms();
+  static const int kFormsFieldNumber = 6;
+  const ::safe_browsing::LoginReputationClientRequest_Frame_Form& forms(int index) const;
+  ::safe_browsing::LoginReputationClientRequest_Frame_Form* mutable_forms(int index);
+  ::safe_browsing::LoginReputationClientRequest_Frame_Form* add_forms();
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >*
+      mutable_forms();
+  const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >&
+      forms() const;
+
+  // optional string url = 3;
+  bool has_url() const;
+  void clear_url();
+  static const int kUrlFieldNumber = 3;
+  const ::std::string& url() const;
+  void set_url(const ::std::string& value);
+  #if LANG_CXX11
+  void set_url(::std::string&& value);
+  #endif
+  void set_url(const char* value);
+  void set_url(const char* value, size_t size);
+  ::std::string* mutable_url();
+  ::std::string* release_url();
+  void set_allocated_url(::std::string* url);
+
+  // optional int32 frame_index = 1;
+  bool has_frame_index() const;
+  void clear_frame_index();
+  static const int kFrameIndexFieldNumber = 1;
+  ::google::protobuf::int32 frame_index() const;
+  void set_frame_index(::google::protobuf::int32 value);
+
+  // optional int32 parent_frame_index = 2;
+  bool has_parent_frame_index() const;
+  void clear_parent_frame_index();
+  static const int kParentFrameIndexFieldNumber = 2;
+  ::google::protobuf::int32 parent_frame_index() const;
+  void set_parent_frame_index(::google::protobuf::int32 value);
+
+  // optional bool has_password_field = 4;
+  bool has_has_password_field() const;
+  void clear_has_password_field();
+  static const int kHasPasswordFieldFieldNumber = 4;
+  bool has_password_field() const;
+  void set_has_password_field(bool value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientRequest.Frame)
+ private:
+  void set_has_frame_index();
+  void clear_has_frame_index();
+  void set_has_parent_frame_index();
+  void clear_has_parent_frame_index();
+  void set_has_url();
+  void clear_has_url();
+  void set_has_has_password_field();
+  void clear_has_has_password_field();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry > referrer_chain_;
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form > forms_;
+  ::google::protobuf::internal::ArenaStringPtr url_;
+  ::google::protobuf::int32 frame_index_;
+  ::google::protobuf::int32 parent_frame_index_;
+  bool has_password_field_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class LoginReputationClientRequest_PasswordReuseEvent : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent) */ {
+ public:
+  LoginReputationClientRequest_PasswordReuseEvent();
+  virtual ~LoginReputationClientRequest_PasswordReuseEvent();
+
+  LoginReputationClientRequest_PasswordReuseEvent(const LoginReputationClientRequest_PasswordReuseEvent& from);
+
+  inline LoginReputationClientRequest_PasswordReuseEvent& operator=(const LoginReputationClientRequest_PasswordReuseEvent& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  LoginReputationClientRequest_PasswordReuseEvent(LoginReputationClientRequest_PasswordReuseEvent&& from) noexcept
+    : LoginReputationClientRequest_PasswordReuseEvent() {
+    *this = ::std::move(from);
+  }
+
+  inline LoginReputationClientRequest_PasswordReuseEvent& operator=(LoginReputationClientRequest_PasswordReuseEvent&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const LoginReputationClientRequest_PasswordReuseEvent& default_instance();
+
+  static inline const LoginReputationClientRequest_PasswordReuseEvent* internal_default_instance() {
+    return reinterpret_cast<const LoginReputationClientRequest_PasswordReuseEvent*>(
+               &_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    8;
+
+  void Swap(LoginReputationClientRequest_PasswordReuseEvent* other);
+  friend void swap(LoginReputationClientRequest_PasswordReuseEvent& a, LoginReputationClientRequest_PasswordReuseEvent& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline LoginReputationClientRequest_PasswordReuseEvent* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  LoginReputationClientRequest_PasswordReuseEvent* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const LoginReputationClientRequest_PasswordReuseEvent& from);
+  void MergeFrom(const LoginReputationClientRequest_PasswordReuseEvent& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(LoginReputationClientRequest_PasswordReuseEvent* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  typedef LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType SyncAccountType;
+  static const SyncAccountType NOT_SIGNED_IN =
+    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_NOT_SIGNED_IN;
+  static const SyncAccountType GMAIL =
+    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GMAIL;
+  static const SyncAccountType GSUITE =
+    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_GSUITE;
+  static inline bool SyncAccountType_IsValid(int value) {
+    return LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value);
+  }
+  static const SyncAccountType SyncAccountType_MIN =
+    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MIN;
+  static const SyncAccountType SyncAccountType_MAX =
+    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_MAX;
+  static const int SyncAccountType_ARRAYSIZE =
+    LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_SyncAccountType_ARRAYSIZE;
+
+  // accessors -------------------------------------------------------
+
+  // repeated string domains_matching_password = 1;
+  int domains_matching_password_size() const;
+  void clear_domains_matching_password();
+  static const int kDomainsMatchingPasswordFieldNumber = 1;
+  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);
+  #if LANG_CXX11
+  void set_domains_matching_password(int index, ::std::string&& value);
+  #endif
+  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);
+  #if LANG_CXX11
+  void add_domains_matching_password(::std::string&& value);
+  #endif
+  void add_domains_matching_password(const char* value);
+  void add_domains_matching_password(const char* value, size_t size);
+  const ::google::protobuf::RepeatedPtrField< ::std::string>& domains_matching_password() const;
+  ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_domains_matching_password();
+
+  // optional int32 frame_id = 2;
+  bool has_frame_id() const;
+  void clear_frame_id();
+  static const int kFrameIdFieldNumber = 2;
+  ::google::protobuf::int32 frame_id() const;
+  void set_frame_id(::google::protobuf::int32 value);
+
+  // optional bool is_chrome_signin_password = 3;
+  bool has_is_chrome_signin_password() const;
+  void clear_is_chrome_signin_password();
+  static const int kIsChromeSigninPasswordFieldNumber = 3;
+  bool is_chrome_signin_password() const;
+  void set_is_chrome_signin_password(bool value);
+
+  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
+  bool has_sync_account_type() const;
+  void clear_sync_account_type();
+  static const int kSyncAccountTypeFieldNumber = 4;
+  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType sync_account_type() const;
+  void set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
+ private:
+  void set_has_frame_id();
+  void clear_has_frame_id();
+  void set_has_is_chrome_signin_password();
+  void clear_has_is_chrome_signin_password();
+  void set_has_sync_account_type();
+  void clear_has_sync_account_type();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::RepeatedPtrField< ::std::string> domains_matching_password_;
+  ::google::protobuf::int32 frame_id_;
+  bool is_chrome_signin_password_;
+  int sync_account_type_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class LoginReputationClientRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientRequest) */ {
+ public:
+  LoginReputationClientRequest();
+  virtual ~LoginReputationClientRequest();
+
+  LoginReputationClientRequest(const LoginReputationClientRequest& from);
+
+  inline LoginReputationClientRequest& operator=(const LoginReputationClientRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  LoginReputationClientRequest(LoginReputationClientRequest&& from) noexcept
+    : LoginReputationClientRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline LoginReputationClientRequest& operator=(LoginReputationClientRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const LoginReputationClientRequest& default_instance();
+
+  static inline const LoginReputationClientRequest* internal_default_instance() {
+    return reinterpret_cast<const LoginReputationClientRequest*>(
+               &_LoginReputationClientRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    9;
+
+  void Swap(LoginReputationClientRequest* other);
+  friend void swap(LoginReputationClientRequest& a, LoginReputationClientRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline LoginReputationClientRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  LoginReputationClientRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const LoginReputationClientRequest& from);
+  void MergeFrom(const LoginReputationClientRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(LoginReputationClientRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  typedef LoginReputationClientRequest_Frame Frame;
+  typedef LoginReputationClientRequest_PasswordReuseEvent PasswordReuseEvent;
+
+  typedef LoginReputationClientRequest_TriggerType TriggerType;
+  static const TriggerType TRIGGER_TYPE_UNSPECIFIED =
+    LoginReputationClientRequest_TriggerType_TRIGGER_TYPE_UNSPECIFIED;
+  static const TriggerType UNFAMILIAR_LOGIN_PAGE =
+    LoginReputationClientRequest_TriggerType_UNFAMILIAR_LOGIN_PAGE;
+  static const TriggerType PASSWORD_REUSE_EVENT =
+    LoginReputationClientRequest_TriggerType_PASSWORD_REUSE_EVENT;
+  static inline bool TriggerType_IsValid(int value) {
+    return LoginReputationClientRequest_TriggerType_IsValid(value);
+  }
+  static const TriggerType TriggerType_MIN =
+    LoginReputationClientRequest_TriggerType_TriggerType_MIN;
+  static const TriggerType TriggerType_MAX =
+    LoginReputationClientRequest_TriggerType_TriggerType_MAX;
+  static const int TriggerType_ARRAYSIZE =
+    LoginReputationClientRequest_TriggerType_TriggerType_ARRAYSIZE;
+
+  // accessors -------------------------------------------------------
+
+  // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+  int frames_size() const;
+  void clear_frames();
+  static const int kFramesFieldNumber = 3;
+  const ::safe_browsing::LoginReputationClientRequest_Frame& frames(int index) const;
+  ::safe_browsing::LoginReputationClientRequest_Frame* mutable_frames(int index);
+  ::safe_browsing::LoginReputationClientRequest_Frame* add_frames();
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >*
+      mutable_frames();
+  const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >&
+      frames() const;
+
+  // optional string page_url = 1;
+  bool has_page_url() const;
+  void clear_page_url();
+  static const int kPageUrlFieldNumber = 1;
+  const ::std::string& page_url() const;
+  void set_page_url(const ::std::string& value);
+  #if LANG_CXX11
+  void set_page_url(::std::string&& value);
+  #endif
+  void set_page_url(const char* value);
+  void set_page_url(const char* value, size_t size);
+  ::std::string* mutable_page_url();
+  ::std::string* release_page_url();
+  void set_allocated_page_url(::std::string* page_url);
+
+  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+  bool has_password_reuse_event() const;
+  void clear_password_reuse_event();
+  static const int kPasswordReuseEventFieldNumber = 4;
+  const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& password_reuse_event() const;
+  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* mutable_password_reuse_event();
+  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* release_password_reuse_event();
+  void set_allocated_password_reuse_event(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event);
+
+  // optional .safe_browsing.ChromeUserPopulation population = 6;
+  bool has_population() const;
+  void clear_population();
+  static const int kPopulationFieldNumber = 6;
+  const ::safe_browsing::ChromeUserPopulation& population() const;
+  ::safe_browsing::ChromeUserPopulation* mutable_population();
+  ::safe_browsing::ChromeUserPopulation* release_population();
+  void set_allocated_population(::safe_browsing::ChromeUserPopulation* population);
+
+  // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+  bool has_trigger_type() const;
+  void clear_trigger_type();
+  static const int kTriggerTypeFieldNumber = 2;
+  ::safe_browsing::LoginReputationClientRequest_TriggerType trigger_type() const;
+  void set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value);
+
+  // optional int32 stored_verdict_cnt = 5;
+  bool has_stored_verdict_cnt() const;
+  void clear_stored_verdict_cnt();
+  static const int kStoredVerdictCntFieldNumber = 5;
+  ::google::protobuf::int32 stored_verdict_cnt() const;
+  void set_stored_verdict_cnt(::google::protobuf::int32 value);
+
+  // optional bool clicked_through_interstitial = 7;
+  bool has_clicked_through_interstitial() const;
+  void clear_clicked_through_interstitial();
+  static const int kClickedThroughInterstitialFieldNumber = 7;
+  bool clicked_through_interstitial() const;
+  void set_clicked_through_interstitial(bool value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientRequest)
+ private:
+  void set_has_page_url();
+  void clear_has_page_url();
+  void set_has_trigger_type();
+  void clear_has_trigger_type();
+  void set_has_password_reuse_event();
+  void clear_has_password_reuse_event();
+  void set_has_stored_verdict_cnt();
+  void clear_has_stored_verdict_cnt();
+  void set_has_population();
+  void clear_has_population();
+  void set_has_clicked_through_interstitial();
+  void clear_has_clicked_through_interstitial();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame > frames_;
+  ::google::protobuf::internal::ArenaStringPtr page_url_;
+  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event_;
+  ::safe_browsing::ChromeUserPopulation* population_;
+  int trigger_type_;
+  ::google::protobuf::int32 stored_verdict_cnt_;
+  bool clicked_through_interstitial_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class LoginReputationClientResponse : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.LoginReputationClientResponse) */ {
+ public:
+  LoginReputationClientResponse();
+  virtual ~LoginReputationClientResponse();
+
+  LoginReputationClientResponse(const LoginReputationClientResponse& from);
+
+  inline LoginReputationClientResponse& operator=(const LoginReputationClientResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  LoginReputationClientResponse(LoginReputationClientResponse&& from) noexcept
+    : LoginReputationClientResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline LoginReputationClientResponse& operator=(LoginReputationClientResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const LoginReputationClientResponse& default_instance();
+
+  static inline const LoginReputationClientResponse* internal_default_instance() {
+    return reinterpret_cast<const LoginReputationClientResponse*>(
+               &_LoginReputationClientResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    10;
+
+  void Swap(LoginReputationClientResponse* other);
+  friend void swap(LoginReputationClientResponse& a, LoginReputationClientResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline LoginReputationClientResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  LoginReputationClientResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const LoginReputationClientResponse& from);
+  void MergeFrom(const LoginReputationClientResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(LoginReputationClientResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  typedef LoginReputationClientResponse_VerdictType VerdictType;
+  static const VerdictType VERDICT_TYPE_UNSPECIFIED =
+    LoginReputationClientResponse_VerdictType_VERDICT_TYPE_UNSPECIFIED;
+  static const VerdictType SAFE =
+    LoginReputationClientResponse_VerdictType_SAFE;
+  static const VerdictType LOW_REPUTATION =
+    LoginReputationClientResponse_VerdictType_LOW_REPUTATION;
+  static const VerdictType PHISHING =
+    LoginReputationClientResponse_VerdictType_PHISHING;
+  static inline bool VerdictType_IsValid(int value) {
+    return LoginReputationClientResponse_VerdictType_IsValid(value);
+  }
+  static const VerdictType VerdictType_MIN =
+    LoginReputationClientResponse_VerdictType_VerdictType_MIN;
+  static const VerdictType VerdictType_MAX =
+    LoginReputationClientResponse_VerdictType_VerdictType_MAX;
+  static const int VerdictType_ARRAYSIZE =
+    LoginReputationClientResponse_VerdictType_VerdictType_ARRAYSIZE;
+
+  // accessors -------------------------------------------------------
+
+  // optional string cache_expression = 3;
+  bool has_cache_expression() const;
+  void clear_cache_expression();
+  static const int kCacheExpressionFieldNumber = 3;
+  const ::std::string& cache_expression() const;
+  void set_cache_expression(const ::std::string& value);
+  #if LANG_CXX11
+  void set_cache_expression(::std::string&& value);
+  #endif
+  void set_cache_expression(const char* value);
+  void set_cache_expression(const char* value, size_t size);
+  ::std::string* mutable_cache_expression();
+  ::std::string* release_cache_expression();
+  void set_allocated_cache_expression(::std::string* cache_expression);
+
+  // optional bytes verdict_token = 5;
+  bool has_verdict_token() const;
+  void clear_verdict_token();
+  static const int kVerdictTokenFieldNumber = 5;
+  const ::std::string& verdict_token() const;
+  void set_verdict_token(const ::std::string& value);
+  #if LANG_CXX11
+  void set_verdict_token(::std::string&& value);
+  #endif
+  void set_verdict_token(const char* value);
+  void set_verdict_token(const void* value, size_t size);
+  ::std::string* mutable_verdict_token();
+  ::std::string* release_verdict_token();
+  void set_allocated_verdict_token(::std::string* verdict_token);
+
+  // optional int64 cache_duration_sec = 2;
+  bool has_cache_duration_sec() const;
+  void clear_cache_duration_sec();
+  static const int kCacheDurationSecFieldNumber = 2;
+  ::google::protobuf::int64 cache_duration_sec() const;
+  void set_cache_duration_sec(::google::protobuf::int64 value);
+
+  // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
+  bool has_verdict_type() const;
+  void clear_verdict_type();
+  static const int kVerdictTypeFieldNumber = 1;
+  ::safe_browsing::LoginReputationClientResponse_VerdictType verdict_type() const;
+  void set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value);
+
+  // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR bool has_deprecated_cache_expression_exact_match() const;
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR void clear_deprecated_cache_expression_exact_match();
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR static const int kDEPRECATEDCacheExpressionExactMatchFieldNumber = 4;
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR bool deprecated_cache_expression_exact_match() const;
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR void set_deprecated_cache_expression_exact_match(bool value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.LoginReputationClientResponse)
+ private:
+  void set_has_verdict_type();
+  void clear_has_verdict_type();
+  void set_has_cache_duration_sec();
+  void clear_has_cache_duration_sec();
+  void set_has_cache_expression();
+  void clear_has_cache_expression();
+  void set_has_deprecated_cache_expression_exact_match();
+  void clear_has_deprecated_cache_expression_exact_match();
+  void set_has_verdict_token();
+  void clear_has_verdict_token();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::internal::ArenaStringPtr cache_expression_;
+  ::google::protobuf::internal::ArenaStringPtr verdict_token_;
+  ::google::protobuf::int64 cache_duration_sec_;
+  int verdict_type_;
+  bool deprecated_cache_expression_exact_match_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
 class ClientMalwareResponse : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientMalwareResponse) */ {
  public:
   ClientMalwareResponse();
   virtual ~ClientMalwareResponse();
 
   ClientMalwareResponse(const ClientMalwareResponse& from);
 
   inline ClientMalwareResponse& operator=(const ClientMalwareResponse& from) {
@@ -1406,17 +2357,17 @@ class ClientMalwareResponse : public ::g
 
   static const ClientMalwareResponse& default_instance();
 
   static inline const ClientMalwareResponse* internal_default_instance() {
     return reinterpret_cast<const ClientMalwareResponse*>(
                &_ClientMalwareResponse_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    6;
+    11;
 
   void Swap(ClientMalwareResponse* other);
   friend void swap(ClientMalwareResponse& a, ClientMalwareResponse& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -1548,17 +2499,17 @@ class ClientDownloadRequest_Digests : pu
 
   static const ClientDownloadRequest_Digests& default_instance();
 
   static inline const ClientDownloadRequest_Digests* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_Digests*>(
                &_ClientDownloadRequest_Digests_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    7;
+    12;
 
   void Swap(ClientDownloadRequest_Digests* other);
   friend void swap(ClientDownloadRequest_Digests& a, ClientDownloadRequest_Digests& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -1698,17 +2649,17 @@ class ClientDownloadRequest_Resource : p
 
   static const ClientDownloadRequest_Resource& default_instance();
 
   static inline const ClientDownloadRequest_Resource* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_Resource*>(
                &_ClientDownloadRequest_Resource_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    8;
+    13;
 
   void Swap(ClientDownloadRequest_Resource* other);
   friend void swap(ClientDownloadRequest_Resource& a, ClientDownloadRequest_Resource& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -1861,17 +2812,17 @@ class ClientDownloadRequest_CertificateC
 
   static const ClientDownloadRequest_CertificateChain_Element& default_instance();
 
   static inline const ClientDownloadRequest_CertificateChain_Element* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_CertificateChain_Element*>(
                &_ClientDownloadRequest_CertificateChain_Element_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    9;
+    14;
 
   void Swap(ClientDownloadRequest_CertificateChain_Element* other);
   friend void swap(ClientDownloadRequest_CertificateChain_Element& a, ClientDownloadRequest_CertificateChain_Element& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -1975,17 +2926,17 @@ class ClientDownloadRequest_CertificateC
 
   static const ClientDownloadRequest_CertificateChain& default_instance();
 
   static inline const ClientDownloadRequest_CertificateChain* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_CertificateChain*>(
                &_ClientDownloadRequest_CertificateChain_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    10;
+    15;
 
   void Swap(ClientDownloadRequest_CertificateChain* other);
   friend void swap(ClientDownloadRequest_CertificateChain& a, ClientDownloadRequest_CertificateChain& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -2086,17 +3037,17 @@ class ClientDownloadRequest_ExtendedAttr
 
   static const ClientDownloadRequest_ExtendedAttr& default_instance();
 
   static inline const ClientDownloadRequest_ExtendedAttr* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_ExtendedAttr*>(
                &_ClientDownloadRequest_ExtendedAttr_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    11;
+    16;
 
   void Swap(ClientDownloadRequest_ExtendedAttr* other);
   friend void swap(ClientDownloadRequest_ExtendedAttr& a, ClientDownloadRequest_ExtendedAttr& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -2218,17 +3169,17 @@ class ClientDownloadRequest_SignatureInf
 
   static const ClientDownloadRequest_SignatureInfo& default_instance();
 
   static inline const ClientDownloadRequest_SignatureInfo* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_SignatureInfo*>(
                &_ClientDownloadRequest_SignatureInfo_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    12;
+    17;
 
   void Swap(ClientDownloadRequest_SignatureInfo* other);
   friend void swap(ClientDownloadRequest_SignatureInfo& a, ClientDownloadRequest_SignatureInfo& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -2373,17 +3324,17 @@ class ClientDownloadRequest_PEImageHeade
 
   static const ClientDownloadRequest_PEImageHeaders_DebugData& default_instance();
 
   static inline const ClientDownloadRequest_PEImageHeaders_DebugData* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_PEImageHeaders_DebugData*>(
                &_ClientDownloadRequest_PEImageHeaders_DebugData_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    13;
+    18;
 
   void Swap(ClientDownloadRequest_PEImageHeaders_DebugData* other);
   friend void swap(ClientDownloadRequest_PEImageHeaders_DebugData& a, ClientDownloadRequest_PEImageHeaders_DebugData& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -2505,17 +3456,17 @@ class ClientDownloadRequest_PEImageHeade
 
   static const ClientDownloadRequest_PEImageHeaders& default_instance();
 
   static inline const ClientDownloadRequest_PEImageHeaders* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_PEImageHeaders*>(
                &_ClientDownloadRequest_PEImageHeaders_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    14;
+    19;
 
   void Swap(ClientDownloadRequest_PEImageHeaders* other);
   friend void swap(ClientDownloadRequest_PEImageHeaders& a, ClientDownloadRequest_PEImageHeaders& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -2729,17 +3680,17 @@ class ClientDownloadRequest_MachOHeaders
 
   static const ClientDownloadRequest_MachOHeaders_LoadCommand& default_instance();
 
   static inline const ClientDownloadRequest_MachOHeaders_LoadCommand* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_MachOHeaders_LoadCommand*>(
                &_ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    15;
+    20;
 
   void Swap(ClientDownloadRequest_MachOHeaders_LoadCommand* other);
   friend void swap(ClientDownloadRequest_MachOHeaders_LoadCommand& a, ClientDownloadRequest_MachOHeaders_LoadCommand& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -2856,17 +3807,17 @@ class ClientDownloadRequest_MachOHeaders
 
   static const ClientDownloadRequest_MachOHeaders& default_instance();
 
   static inline const ClientDownloadRequest_MachOHeaders* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_MachOHeaders*>(
                &_ClientDownloadRequest_MachOHeaders_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    16;
+    21;
 
   void Swap(ClientDownloadRequest_MachOHeaders* other);
   friend void swap(ClientDownloadRequest_MachOHeaders& a, ClientDownloadRequest_MachOHeaders& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -2985,17 +3936,17 @@ class ClientDownloadRequest_ImageHeaders
 
   static const ClientDownloadRequest_ImageHeaders& default_instance();
 
   static inline const ClientDownloadRequest_ImageHeaders* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_ImageHeaders*>(
                &_ClientDownloadRequest_ImageHeaders_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    17;
+    22;
 
   void Swap(ClientDownloadRequest_ImageHeaders* other);
   friend void swap(ClientDownloadRequest_ImageHeaders& a, ClientDownloadRequest_ImageHeaders& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -3106,17 +4057,17 @@ class ClientDownloadRequest_ArchivedBina
 
   static const ClientDownloadRequest_ArchivedBinary& default_instance();
 
   static inline const ClientDownloadRequest_ArchivedBinary* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest_ArchivedBinary*>(
                &_ClientDownloadRequest_ArchivedBinary_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    18;
+    23;
 
   void Swap(ClientDownloadRequest_ArchivedBinary* other);
   friend void swap(ClientDownloadRequest_ArchivedBinary& a, ClientDownloadRequest_ArchivedBinary& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -3236,247 +4187,16 @@ class ClientDownloadRequest_ArchivedBina
   ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature_;
   ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
   ::google::protobuf::int64 length_;
   int download_type_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
-class ClientDownloadRequest_URLChainEntry : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest.URLChainEntry) */ {
- public:
-  ClientDownloadRequest_URLChainEntry();
-  virtual ~ClientDownloadRequest_URLChainEntry();
-
-  ClientDownloadRequest_URLChainEntry(const ClientDownloadRequest_URLChainEntry& from);
-
-  inline ClientDownloadRequest_URLChainEntry& operator=(const ClientDownloadRequest_URLChainEntry& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
-  ClientDownloadRequest_URLChainEntry(ClientDownloadRequest_URLChainEntry&& from) noexcept
-    : ClientDownloadRequest_URLChainEntry() {
-    *this = ::std::move(from);
-  }
-
-  inline ClientDownloadRequest_URLChainEntry& operator=(ClientDownloadRequest_URLChainEntry&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
-  inline const ::std::string& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
-  }
-  inline ::std::string* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
-  }
-
-  static const ClientDownloadRequest_URLChainEntry& default_instance();
-
-  static inline const ClientDownloadRequest_URLChainEntry* internal_default_instance() {
-    return reinterpret_cast<const ClientDownloadRequest_URLChainEntry*>(
-               &_ClientDownloadRequest_URLChainEntry_default_instance_);
-  }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    19;
-
-  void Swap(ClientDownloadRequest_URLChainEntry* other);
-  friend void swap(ClientDownloadRequest_URLChainEntry& a, ClientDownloadRequest_URLChainEntry& b) {
-    a.Swap(&b);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline ClientDownloadRequest_URLChainEntry* New() const PROTOBUF_FINAL { return New(NULL); }
-
-  ClientDownloadRequest_URLChainEntry* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
-    PROTOBUF_FINAL;
-  void CopyFrom(const ClientDownloadRequest_URLChainEntry& from);
-  void MergeFrom(const ClientDownloadRequest_URLChainEntry& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  void DiscardUnknownFields();
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  void InternalSwap(ClientDownloadRequest_URLChainEntry* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
-  public:
-
-  ::std::string GetTypeName() const PROTOBUF_FINAL;
-
-  // nested types ----------------------------------------------------
-
-  typedef ClientDownloadRequest_URLChainEntry_URLType URLType;
-  static const URLType DOWNLOAD_URL =
-    ClientDownloadRequest_URLChainEntry_URLType_DOWNLOAD_URL;
-  static const URLType DOWNLOAD_REFERRER =
-    ClientDownloadRequest_URLChainEntry_URLType_DOWNLOAD_REFERRER;
-  static const URLType LANDING_PAGE =
-    ClientDownloadRequest_URLChainEntry_URLType_LANDING_PAGE;
-  static const URLType LANDING_REFERRER =
-    ClientDownloadRequest_URLChainEntry_URLType_LANDING_REFERRER;
-  static const URLType CLIENT_REDIRECT =
-    ClientDownloadRequest_URLChainEntry_URLType_CLIENT_REDIRECT;
-  static const URLType SERVER_REDIRECT =
-    ClientDownloadRequest_URLChainEntry_URLType_SERVER_REDIRECT;
-  static inline bool URLType_IsValid(int value) {
-    return ClientDownloadRequest_URLChainEntry_URLType_IsValid(value);
-  }
-  static const URLType URLType_MIN =
-    ClientDownloadRequest_URLChainEntry_URLType_URLType_MIN;
-  static const URLType URLType_MAX =
-    ClientDownloadRequest_URLChainEntry_URLType_URLType_MAX;
-  static const int URLType_ARRAYSIZE =
-    ClientDownloadRequest_URLChainEntry_URLType_URLType_ARRAYSIZE;
-
-  // accessors -------------------------------------------------------
-
-  // optional string url = 1;
-  bool has_url() const;
-  void clear_url();
-  static const int kUrlFieldNumber = 1;
-  const ::std::string& url() const;
-  void set_url(const ::std::string& value);
-  #if LANG_CXX11
-  void set_url(::std::string&& value);
-  #endif
-  void set_url(const char* value);
-  void set_url(const char* value, size_t size);
-  ::std::string* mutable_url();
-  ::std::string* release_url();
-  void set_allocated_url(::std::string* url);
-
-  // optional string ip_address = 3;
-  bool has_ip_address() const;
-  void clear_ip_address();
-  static const int kIpAddressFieldNumber = 3;
-  const ::std::string& ip_address() const;
-  void set_ip_address(const ::std::string& value);
-  #if LANG_CXX11
-  void set_ip_address(::std::string&& value);
-  #endif
-  void set_ip_address(const char* value);
-  void set_ip_address(const char* value, size_t size);
-  ::std::string* mutable_ip_address();
-  ::std::string* release_ip_address();
-  void set_allocated_ip_address(::std::string* ip_address);
-
-  // optional string referrer = 4;
-  bool has_referrer() const;
-  void clear_referrer();
-  static const int kReferrerFieldNumber = 4;
-  const ::std::string& referrer() const;
-  void set_referrer(const ::std::string& value);
-  #if LANG_CXX11
-  void set_referrer(::std::string&& value);
-  #endif
-  void set_referrer(const char* value);
-  void set_referrer(const char* value, size_t size);
-  ::std::string* mutable_referrer();
-  ::std::string* release_referrer();
-  void set_allocated_referrer(::std::string* referrer);
-
-  // optional string main_frame_referrer = 5;
-  bool has_main_frame_referrer() const;
-  void clear_main_frame_referrer();
-  static const int kMainFrameReferrerFieldNumber = 5;
-  const ::std::string& main_frame_referrer() const;
-  void set_main_frame_referrer(const ::std::string& value);
-  #if LANG_CXX11
-  void set_main_frame_referrer(::std::string&& value);
-  #endif
-  void set_main_frame_referrer(const char* value);
-  void set_main_frame_referrer(const char* value, size_t size);
-  ::std::string* mutable_main_frame_referrer();
-  ::std::string* release_main_frame_referrer();
-  void set_allocated_main_frame_referrer(::std::string* main_frame_referrer);
-
-  // optional double timestamp_in_millisec = 8;
-  bool has_timestamp_in_millisec() const;
-  void clear_timestamp_in_millisec();
-  static const int kTimestampInMillisecFieldNumber = 8;
-  double timestamp_in_millisec() const;
-  void set_timestamp_in_millisec(double value);
-
-  // optional bool is_retargeting = 6;
-  bool has_is_retargeting() const;
-  void clear_is_retargeting();
-  static const int kIsRetargetingFieldNumber = 6;
-  bool is_retargeting() const;
-  void set_is_retargeting(bool value);
-
-  // optional bool is_user_initiated = 7;
-  bool has_is_user_initiated() const;
-  void clear_is_user_initiated();
-  static const int kIsUserInitiatedFieldNumber = 7;
-  bool is_user_initiated() const;
-  void set_is_user_initiated(bool value);
-
-  // optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-  bool has_type() const;
-  void clear_type();
-  static const int kTypeFieldNumber = 2;
-  ::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType type() const;
-  void set_type(::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType value);
-
-  // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadRequest.URLChainEntry)
- private:
-  void set_has_url();
-  void clear_has_url();
-  void set_has_type();
-  void clear_has_type();
-  void set_has_ip_address();
-  void clear_has_ip_address();
-  void set_has_referrer();
-  void clear_has_referrer();
-  void set_has_main_frame_referrer();
-  void clear_has_main_frame_referrer();
-  void set_has_is_retargeting();
-  void clear_has_is_retargeting();
-  void set_has_is_user_initiated();
-  void clear_has_is_user_initiated();
-  void set_has_timestamp_in_millisec();
-  void clear_has_timestamp_in_millisec();
-
-  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::internal::ArenaStringPtr url_;
-  ::google::protobuf::internal::ArenaStringPtr ip_address_;
-  ::google::protobuf::internal::ArenaStringPtr referrer_;
-  ::google::protobuf::internal::ArenaStringPtr main_frame_referrer_;
-  double timestamp_in_millisec_;
-  bool is_retargeting_;
-  bool is_user_initiated_;
-  int type_;
-  friend struct protobuf_csd_2eproto::TableStruct;
-};
-// -------------------------------------------------------------------
-
 class ClientDownloadRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadRequest) */ {
  public:
   ClientDownloadRequest();
   virtual ~ClientDownloadRequest();
 
   ClientDownloadRequest(const ClientDownloadRequest& from);
 
   inline ClientDownloadRequest& operator=(const ClientDownloadRequest& from) {
@@ -3507,17 +4227,17 @@ class ClientDownloadRequest : public ::g
 
   static const ClientDownloadRequest& default_instance();
 
   static inline const ClientDownloadRequest* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadRequest*>(
                &_ClientDownloadRequest_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    20;
+    24;
 
   void Swap(ClientDownloadRequest* other);
   friend void swap(ClientDownloadRequest& a, ClientDownloadRequest& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -3560,17 +4280,16 @@ class ClientDownloadRequest : public ::g
   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_URLChainEntry URLChainEntry;
 
   typedef ClientDownloadRequest_ResourceType ResourceType;
   static const ResourceType DOWNLOAD_URL =
     ClientDownloadRequest_ResourceType_DOWNLOAD_URL;
   static const ResourceType DOWNLOAD_REDIRECT =
     ClientDownloadRequest_ResourceType_DOWNLOAD_REDIRECT;
   static const ResourceType TAB_URL =
     ClientDownloadRequest_ResourceType_TAB_URL;
@@ -3666,27 +4385,27 @@ class ClientDownloadRequest : public ::g
   #if LANG_CXX11
   void add_alternate_extensions(::std::string&& value);
   #endif
   void add_alternate_extensions(const char* value);
   void add_alternate_extensions(const char* value, size_t size);
   const ::google::protobuf::RepeatedPtrField< ::std::string>& alternate_extensions() const;
   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_alternate_extensions();
 
-  // repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
-  int url_chain_size() const;
-  void clear_url_chain();
-  static const int kUrlChainFieldNumber = 36;
-  const ::safe_browsing::ClientDownloadRequest_URLChainEntry& url_chain(int index) const;
-  ::safe_browsing::ClientDownloadRequest_URLChainEntry* mutable_url_chain(int index);
-  ::safe_browsing::ClientDownloadRequest_URLChainEntry* add_url_chain();
-  ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry >*
-      mutable_url_chain();
-  const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry >&
-      url_chain() const;
+  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
+  int referrer_chain_size() const;
+  void clear_referrer_chain();
+  static const int kReferrerChainFieldNumber = 36;
+  const ::safe_browsing::ReferrerChainEntry& referrer_chain(int index) const;
+  ::safe_browsing::ReferrerChainEntry* mutable_referrer_chain(int index);
+  ::safe_browsing::ReferrerChainEntry* add_referrer_chain();
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
+      mutable_referrer_chain();
+  const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
+      referrer_chain() const;
 
   // required string url = 1;
   bool has_url() const;
   void clear_url();
   static const int kUrlFieldNumber = 1;
   const ::std::string& url() const;
   void set_url(const ::std::string& value);
   #if LANG_CXX11
@@ -3723,16 +4442,31 @@ class ClientDownloadRequest : public ::g
   void set_locale(::std::string&& value);
   #endif
   void set_locale(const char* value);
   void set_locale(const char* value, size_t size);
   ::std::string* mutable_locale();
   ::std::string* release_locale();
   void set_allocated_locale(::std::string* locale);
 
+  // optional bytes udif_code_signature = 40;
+  bool has_udif_code_signature() const;
+  void clear_udif_code_signature();
+  static const int kUdifCodeSignatureFieldNumber = 40;
+  const ::std::string& udif_code_signature() const;
+  void set_udif_code_signature(const ::std::string& value);
+  #if LANG_CXX11
+  void set_udif_code_signature(::std::string&& value);
+  #endif
+  void set_udif_code_signature(const char* value);
+  void set_udif_code_signature(const void* value, size_t size);
+  ::std::string* mutable_udif_code_signature();
+  ::std::string* release_udif_code_signature();
+  void set_allocated_udif_code_signature(::std::string* udif_code_signature);
+
   // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
   bool has_digests() const;
   void clear_digests();
   static const int kDigestsFieldNumber = 2;
   const ::safe_browsing::ClientDownloadRequest_Digests& digests() const;
   ::safe_browsing::ClientDownloadRequest_Digests* mutable_digests();
   ::safe_browsing::ClientDownloadRequest_Digests* release_digests();
   void set_allocated_digests(::safe_browsing::ClientDownloadRequest_Digests* digests);
@@ -3766,16 +4500,23 @@ class ClientDownloadRequest : public ::g
 
   // required int64 length = 3;
   bool has_length() const;
   void clear_length();
   static const int kLengthFieldNumber = 3;
   ::google::protobuf::int64 length() const;
   void set_length(::google::protobuf::int64 value);
 
+  // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR bool has_deprecated_download_attribution_finch_enabled() const;
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR void clear_deprecated_download_attribution_finch_enabled();
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR static const int kDEPRECATEDDownloadAttributionFinchEnabledFieldNumber = 39;
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR bool deprecated_download_attribution_finch_enabled() const;
+  GOOGLE_PROTOBUF_DEPRECATED_ATTR void set_deprecated_download_attribution_finch_enabled(bool value);
+
   // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
   bool has_download_type() const;
   void clear_download_type();
   static const int kDownloadTypeFieldNumber = 10;
   ::safe_browsing::ClientDownloadRequest_DownloadType download_type() const;
   void set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value);
 
   // optional bool user_initiated = 6;
@@ -3829,44 +4570,421 @@ class ClientDownloadRequest : public ::g
   void set_has_population();
   void clear_has_population();
   void set_has_archive_valid();
   void clear_has_archive_valid();
   void set_has_skipped_url_whitelist();
   void clear_has_skipped_url_whitelist();
   void set_has_skipped_certificate_whitelist();
   void clear_has_skipped_certificate_whitelist();
+  void set_has_deprecated_download_attribution_finch_enabled();
+  void clear_has_deprecated_download_attribution_finch_enabled();
+  void set_has_udif_code_signature();
+  void clear_has_udif_code_signature();
 
   // helper for ByteSizeLong()
   size_t RequiredFieldsByteSizeFallback() const;
 
   ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource > resources_;
   ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary > archived_binary_;
   ::google::protobuf::RepeatedPtrField< ::std::string> alternate_extensions_;
-  ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry > url_chain_;
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry > referrer_chain_;
   ::google::protobuf::internal::ArenaStringPtr url_;
   ::google::protobuf::internal::ArenaStringPtr file_basename_;
   ::google::protobuf::internal::ArenaStringPtr locale_;
+  ::google::protobuf::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_;
   ::google::protobuf::int64 length_;
+  bool deprecated_download_attribution_finch_enabled_;
   int download_type_;
   bool user_initiated_;
   bool archive_valid_;
   bool skipped_url_whitelist_;
   bool skipped_certificate_whitelist_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
+class ReferrerChainEntry_ServerRedirect : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ReferrerChainEntry.ServerRedirect) */ {
+ public:
+  ReferrerChainEntry_ServerRedirect();
+  virtual ~ReferrerChainEntry_ServerRedirect();
+
+  ReferrerChainEntry_ServerRedirect(const ReferrerChainEntry_ServerRedirect& from);
+
+  inline ReferrerChainEntry_ServerRedirect& operator=(const ReferrerChainEntry_ServerRedirect& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  ReferrerChainEntry_ServerRedirect(ReferrerChainEntry_ServerRedirect&& from) noexcept
+    : ReferrerChainEntry_ServerRedirect() {
+    *this = ::std::move(from);
+  }
+
+  inline ReferrerChainEntry_ServerRedirect& operator=(ReferrerChainEntry_ServerRedirect&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const ReferrerChainEntry_ServerRedirect& default_instance();
+
+  static inline const ReferrerChainEntry_ServerRedirect* internal_default_instance() {
+    return reinterpret_cast<const ReferrerChainEntry_ServerRedirect*>(
+               &_ReferrerChainEntry_ServerRedirect_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    25;
+
+  void Swap(ReferrerChainEntry_ServerRedirect* other);
+  friend void swap(ReferrerChainEntry_ServerRedirect& a, ReferrerChainEntry_ServerRedirect& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline ReferrerChainEntry_ServerRedirect* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  ReferrerChainEntry_ServerRedirect* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const ReferrerChainEntry_ServerRedirect& from);
+  void MergeFrom(const ReferrerChainEntry_ServerRedirect& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(ReferrerChainEntry_ServerRedirect* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // optional string url = 1;
+  bool has_url() const;
+  void clear_url();
+  static const int kUrlFieldNumber = 1;
+  const ::std::string& url() const;
+  void set_url(const ::std::string& value);
+  #if LANG_CXX11
+  void set_url(::std::string&& value);
+  #endif
+  void set_url(const char* value);
+  void set_url(const char* value, size_t size);
+  ::std::string* mutable_url();
+  ::std::string* release_url();
+  void set_allocated_url(::std::string* url);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.ReferrerChainEntry.ServerRedirect)
+ private:
+  void set_has_url();
+  void clear_has_url();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::internal::ArenaStringPtr url_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class ReferrerChainEntry : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ReferrerChainEntry) */ {
+ public:
+  ReferrerChainEntry();
+  virtual ~ReferrerChainEntry();
+
+  ReferrerChainEntry(const ReferrerChainEntry& from);
+
+  inline ReferrerChainEntry& operator=(const ReferrerChainEntry& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  ReferrerChainEntry(ReferrerChainEntry&& from) noexcept
+    : ReferrerChainEntry() {
+    *this = ::std::move(from);
+  }
+
+  inline ReferrerChainEntry& operator=(ReferrerChainEntry&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const ReferrerChainEntry& default_instance();
+
+  static inline const ReferrerChainEntry* internal_default_instance() {
+    return reinterpret_cast<const ReferrerChainEntry*>(
+               &_ReferrerChainEntry_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    26;
+
+  void Swap(ReferrerChainEntry* other);
+  friend void swap(ReferrerChainEntry& a, ReferrerChainEntry& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline ReferrerChainEntry* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  ReferrerChainEntry* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const ReferrerChainEntry& from);
+  void MergeFrom(const ReferrerChainEntry& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(ReferrerChainEntry* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  typedef ReferrerChainEntry_ServerRedirect ServerRedirect;
+
+  typedef ReferrerChainEntry_URLType URLType;
+  static const URLType EVENT_URL =
+    ReferrerChainEntry_URLType_EVENT_URL;
+  static const URLType LANDING_PAGE =
+    ReferrerChainEntry_URLType_LANDING_PAGE;
+  static const URLType LANDING_REFERRER =
+    ReferrerChainEntry_URLType_LANDING_REFERRER;
+  static const URLType CLIENT_REDIRECT =
+    ReferrerChainEntry_URLType_CLIENT_REDIRECT;
+  static const URLType DEPRECATED_SERVER_REDIRECT =
+    ReferrerChainEntry_URLType_DEPRECATED_SERVER_REDIRECT;
+  static inline bool URLType_IsValid(int value) {
+    return ReferrerChainEntry_URLType_IsValid(value);
+  }
+  static const URLType URLType_MIN =
+    ReferrerChainEntry_URLType_URLType_MIN;
+  static const URLType URLType_MAX =
+    ReferrerChainEntry_URLType_URLType_MAX;
+  static const int URLType_ARRAYSIZE =
+    ReferrerChainEntry_URLType_URLType_ARRAYSIZE;
+
+  // accessors -------------------------------------------------------
+
+  // repeated string ip_addresses = 3;
+  int ip_addresses_size() const;
+  void clear_ip_addresses();
+  static const int kIpAddressesFieldNumber = 3;
+  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);
+  #if LANG_CXX11
+  void set_ip_addresses(int index, ::std::string&& value);
+  #endif
+  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);
+  #if LANG_CXX11
+  void add_ip_addresses(::std::string&& value);
+  #endif
+  void add_ip_addresses(const char* value);
+  void add_ip_addresses(const char* value, size_t size);
+  const ::google::protobuf::RepeatedPtrField< ::std::string>& ip_addresses() const;
+  ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_ip_addresses();
+
+  // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
+  int server_redirect_chain_size() const;
+  void clear_server_redirect_chain();
+  static const int kServerRedirectChainFieldNumber = 8;
+  const ::safe_browsing::ReferrerChainEntry_ServerRedirect& server_redirect_chain(int index) const;
+  ::safe_browsing::ReferrerChainEntry_ServerRedirect* mutable_server_redirect_chain(int index);
+  ::safe_browsing::ReferrerChainEntry_ServerRedirect* add_server_redirect_chain();
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >*
+      mutable_server_redirect_chain();
+  const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >&
+      server_redirect_chain() const;
+
+  // optional string url = 1;
+  bool has_url() const;
+  void clear_url();
+  static const int kUrlFieldNumber = 1;
+  const ::std::string& url() const;
+  void set_url(const ::std::string& value);
+  #if LANG_CXX11
+  void set_url(::std::string&& value);
+  #endif
+  void set_url(const char* value);
+  void set_url(const char* value, size_t size);
+  ::std::string* mutable_url();
+  ::std::string* release_url();
+  void set_allocated_url(::std::string* url);
+
+  // optional string referrer_url = 4;
+  bool has_referrer_url() const;
+  void clear_referrer_url();
+  static const int kReferrerUrlFieldNumber = 4;
+  const ::std::string& referrer_url() const;
+  void set_referrer_url(const ::std::string& value);
+  #if LANG_CXX11
+  void set_referrer_url(::std::string&& value);
+  #endif
+  void set_referrer_url(const char* value);
+  void set_referrer_url(const char* value, size_t size);
+  ::std::string* mutable_referrer_url();
+  ::std::string* release_referrer_url();
+  void set_allocated_referrer_url(::std::string* referrer_url);
+
+  // optional string referrer_main_frame_url = 5;
+  bool has_referrer_main_frame_url() const;
+  void clear_referrer_main_frame_url();
+  static const int kReferrerMainFrameUrlFieldNumber = 5;
+  const ::std::string& referrer_main_frame_url() const;
+  void set_referrer_main_frame_url(const ::std::string& value);
+  #if LANG_CXX11
+  void set_referrer_main_frame_url(::std::string&& value);
+  #endif
+  void set_referrer_main_frame_url(const char* value);
+  void set_referrer_main_frame_url(const char* value, size_t size);
+  ::std::string* mutable_referrer_main_frame_url();
+  ::std::string* release_referrer_main_frame_url();
+  void set_allocated_referrer_main_frame_url(::std::string* referrer_main_frame_url);
+
+  // optional string main_frame_url = 9;
+  bool has_main_frame_url() const;
+  void clear_main_frame_url();
+  static const int kMainFrameUrlFieldNumber = 9;
+  const ::std::string& main_frame_url() const;
+  void set_main_frame_url(const ::std::string& value);
+  #if LANG_CXX11
+  void set_main_frame_url(::std::string&& value);
+  #endif
+  void set_main_frame_url(const char* value);
+  void set_main_frame_url(const char* value, size_t size);
+  ::std::string* mutable_main_frame_url();
+  ::std::string* release_main_frame_url();
+  void set_allocated_main_frame_url(::std::string* main_frame_url);
+
+  // optional double navigation_time_msec = 7;
+  bool has_navigation_time_msec() const;
+  void clear_navigation_time_msec();
+  static const int kNavigationTimeMsecFieldNumber = 7;
+  double navigation_time_msec() const;
+  void set_navigation_time_msec(double value);
+
+  // optional bool is_retargeting = 6;
+  bool has_is_retargeting() const;
+  void clear_is_retargeting();
+  static const int kIsRetargetingFieldNumber = 6;
+  bool is_retargeting() const;
+  void set_is_retargeting(bool value);
+
+  // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
+  bool has_type() const;
+  void clear_type();
+  static const int kTypeFieldNumber = 2;
+  ::safe_browsing::ReferrerChainEntry_URLType type() const;
+  void set_type(::safe_browsing::ReferrerChainEntry_URLType value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.ReferrerChainEntry)
+ private:
+  void set_has_url();
+  void clear_has_url();
+  void set_has_main_frame_url();
+  void clear_has_main_frame_url();
+  void set_has_type();
+  void clear_has_type();
+  void set_has_referrer_url();
+  void clear_has_referrer_url();
+  void set_has_referrer_main_frame_url();
+  void clear_has_referrer_main_frame_url();
+  void set_has_is_retargeting();
+  void clear_has_is_retargeting();
+  void set_has_navigation_time_msec();
+  void clear_has_navigation_time_msec();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::RepeatedPtrField< ::std::string> ip_addresses_;
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect > server_redirect_chain_;
+  ::google::protobuf::internal::ArenaStringPtr url_;
+  ::google::protobuf::internal::ArenaStringPtr referrer_url_;
+  ::google::protobuf::internal::ArenaStringPtr referrer_main_frame_url_;
+  ::google::protobuf::internal::ArenaStringPtr main_frame_url_;
+  double navigation_time_msec_;
+  bool is_retargeting_;
+  int type_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
 class ClientDownloadResponse_MoreInfo : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadResponse.MoreInfo) */ {
  public:
   ClientDownloadResponse_MoreInfo();
   virtual ~ClientDownloadResponse_MoreInfo();
 
   ClientDownloadResponse_MoreInfo(const ClientDownloadResponse_MoreInfo& from);
 
   inline ClientDownloadResponse_MoreInfo& operator=(const ClientDownloadResponse_MoreInfo& from) {
@@ -3897,17 +5015,17 @@ class ClientDownloadResponse_MoreInfo : 
 
   static const ClientDownloadResponse_MoreInfo& default_instance();
 
   static inline const ClientDownloadResponse_MoreInfo* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadResponse_MoreInfo*>(
                &_ClientDownloadResponse_MoreInfo_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    21;
+    27;
 
   void Swap(ClientDownloadResponse_MoreInfo* other);
   friend void swap(ClientDownloadResponse_MoreInfo& a, ClientDownloadResponse_MoreInfo& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -4029,17 +5147,17 @@ class ClientDownloadResponse : public ::
 
   static const ClientDownloadResponse& default_instance();
 
   static inline const ClientDownloadResponse* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadResponse*>(
                &_ClientDownloadResponse_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    22;
+    28;
 
   void Swap(ClientDownloadResponse* other);
   friend void swap(ClientDownloadResponse& a, ClientDownloadResponse& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -4131,31 +5249,41 @@ class ClientDownloadResponse : public ::
 
   // optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
   bool has_verdict() const;
   void clear_verdict();
   static const int kVerdictFieldNumber = 1;
   ::safe_browsing::ClientDownloadResponse_Verdict verdict() const;
   void set_verdict(::safe_browsing::ClientDownloadResponse_Verdict value);
 
+  // optional bool upload = 5;
+  bool has_upload() const;
+  void clear_upload();
+  static const int kUploadFieldNumber = 5;
+  bool upload() const;
+  void set_upload(bool value);
+
   // @@protoc_insertion_point(class_scope:safe_browsing.ClientDownloadResponse)
  private:
   void set_has_verdict();
   void clear_has_verdict();
   void set_has_more_info();
   void clear_has_more_info();
   void set_has_token();
   void clear_has_token();
+  void set_has_upload();
+  void clear_has_upload();
 
   ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr token_;
   ::safe_browsing::ClientDownloadResponse_MoreInfo* more_info_;
   int verdict_;
+  bool upload_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
 class ClientDownloadReport_UserInformation : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientDownloadReport.UserInformation) */ {
  public:
   ClientDownloadReport_UserInformation();
   virtual ~ClientDownloadReport_UserInformation();
@@ -4190,17 +5318,17 @@ class ClientDownloadReport_UserInformati
 
   static const ClientDownloadReport_UserInformation& default_instance();
 
   static inline const ClientDownloadReport_UserInformation* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadReport_UserInformation*>(
                &_ClientDownloadReport_UserInformation_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    23;
+    29;
 
   void Swap(ClientDownloadReport_UserInformation* other);
   friend void swap(ClientDownloadReport_UserInformation& a, ClientDownloadReport_UserInformation& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -4304,17 +5432,17 @@ class ClientDownloadReport : public ::go
 
   static const ClientDownloadReport& default_instance();
 
   static inline const ClientDownloadReport* internal_default_instance() {
     return reinterpret_cast<const ClientDownloadReport*>(
                &_ClientDownloadReport_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    24;
+    30;
 
   void Swap(ClientDownloadReport* other);
   friend void swap(ClientDownloadReport& a, ClientDownloadReport& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -4483,17 +5611,17 @@ class ClientUploadResponse : public ::go
 
   static const ClientUploadResponse& default_instance();
 
   static inline const ClientUploadResponse* internal_default_instance() {
     return reinterpret_cast<const ClientUploadResponse*>(
                &_ClientUploadResponse_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    25;
+    31;
 
   void Swap(ClientUploadResponse* other);
   friend void swap(ClientUploadResponse& a, ClientUploadResponse& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -4622,17 +5750,17 @@ class ClientIncidentReport_IncidentData_
 
   static const ClientIncidentReport_IncidentData_TrackedPreferenceIncident& default_instance();
 
   static inline const ClientIncidentReport_IncidentData_TrackedPreferenceIncident* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_IncidentData_TrackedPreferenceIncident*>(
                &_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    26;
+    32;
 
   void Swap(ClientIncidentReport_IncidentData_TrackedPreferenceIncident* other);
   friend void swap(ClientIncidentReport_IncidentData_TrackedPreferenceIncident& a, ClientIncidentReport_IncidentData_TrackedPreferenceIncident& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -4677,16 +5805,20 @@ class ClientIncidentReport_IncidentData_
   static const ValueState CLEARED =
     ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_CLEARED;
   static const ValueState WEAK_LEGACY_OBSOLETE =
     ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_WEAK_LEGACY_OBSOLETE;
   static const ValueState CHANGED =
     ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_CHANGED;
   static const ValueState UNTRUSTED_UNKNOWN_VALUE =
     ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_UNTRUSTED_UNKNOWN_VALUE;
+  static const ValueState BYPASS_CLEARED =
+    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_BYPASS_CLEARED;
+  static const ValueState BYPASS_CHANGED =
+    ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_BYPASS_CHANGED;
   static inline bool ValueState_IsValid(int value) {
     return ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(value);
   }
   static const ValueState ValueState_MIN =
     ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MIN;
   static const ValueState ValueState_MAX =
     ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_ValueState_MAX;
   static const int ValueState_ARRAYSIZE =
@@ -4808,17 +5940,17 @@ class ClientIncidentReport_IncidentData_
 
   static const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& 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 PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    27;
+    33;
 
   void Swap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* other);
   friend void swap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& a, ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -4946,17 +6078,17 @@ class ClientIncidentReport_IncidentData_
 
   static const ClientIncidentReport_IncidentData_BinaryIntegrityIncident& default_instance();
 
   static inline const ClientIncidentReport_IncidentData_BinaryIntegrityIncident* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_IncidentData_BinaryIntegrityIncident*>(
                &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    28;
+    34;
 
   void Swap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident* other);
   friend void swap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident& a, ClientIncidentReport_IncidentData_BinaryIntegrityIncident& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -5069,308 +6201,16 @@ class ClientIncidentReport_IncidentData_
   ::google::protobuf::internal::ArenaStringPtr file_basename_;
   ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature_;
   ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
   ::google::protobuf::int32 sec_error_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
-class ClientIncidentReport_IncidentData_BlacklistLoadIncident : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident) */ {
- public:
-  ClientIncidentReport_IncidentData_BlacklistLoadIncident();
-  virtual ~ClientIncidentReport_IncidentData_BlacklistLoadIncident();
-
-  ClientIncidentReport_IncidentData_BlacklistLoadIncident(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from);
-
-  inline ClientIncidentReport_IncidentData_BlacklistLoadIncident& operator=(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
-  ClientIncidentReport_IncidentData_BlacklistLoadIncident(ClientIncidentReport_IncidentData_BlacklistLoadIncident&& from) noexcept
-    : ClientIncidentReport_IncidentData_BlacklistLoadIncident() {
-    *this = ::std::move(from);
-  }
-
-  inline ClientIncidentReport_IncidentData_BlacklistLoadIncident& operator=(ClientIncidentReport_IncidentData_BlacklistLoadIncident&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
-  inline const ::std::string& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
-  }
-  inline ::std::string* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
-  }
-
-  static const ClientIncidentReport_IncidentData_BlacklistLoadIncident& default_instance();
-
-  static inline const ClientIncidentReport_IncidentData_BlacklistLoadIncident* internal_default_instance() {
-    return reinterpret_cast<const ClientIncidentReport_IncidentData_BlacklistLoadIncident*>(
-               &_ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_);
-  }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    29;
-
-  void Swap(ClientIncidentReport_IncidentData_BlacklistLoadIncident* other);
-  friend void swap(ClientIncidentReport_IncidentData_BlacklistLoadIncident& a, ClientIncidentReport_IncidentData_BlacklistLoadIncident& b) {
-    a.Swap(&b);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline ClientIncidentReport_IncidentData_BlacklistLoadIncident* New() const PROTOBUF_FINAL { return New(NULL); }
-
-  ClientIncidentReport_IncidentData_BlacklistLoadIncident* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
-    PROTOBUF_FINAL;
-  void CopyFrom(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from);
-  void MergeFrom(const ClientIncidentReport_IncidentData_BlacklistLoadIncident& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  void DiscardUnknownFields();
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  void InternalSwap(ClientIncidentReport_IncidentData_BlacklistLoadIncident* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
-  public:
-
-  ::std::string GetTypeName() const PROTOBUF_FINAL;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // optional string path = 1;
-  bool has_path() const;
-  void clear_path();
-  static const int kPathFieldNumber = 1;
-  const ::std::string& path() const;
-  void set_path(const ::std::string& value);
-  #if LANG_CXX11
-  void set_path(::std::string&& value);
-  #endif
-  void set_path(const char* value);
-  void set_path(const char* value, size_t size);
-  ::std::string* mutable_path();
-  ::std::string* release_path();
-  void set_allocated_path(::std::string* path);
-
-  // optional string version = 3;
-  bool has_version() const;
-  void clear_version();
-  static const int kVersionFieldNumber = 3;
-  const ::std::string& version() const;
-  void set_version(const ::std::string& value);
-  #if LANG_CXX11
-  void set_version(::std::string&& value);
-  #endif
-  void set_version(const char* value);
-  void set_version(const char* value, size_t size);
-  ::std::string* mutable_version();
-  ::std::string* release_version();
-  void set_allocated_version(::std::string* version);
-
-  // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-  bool has_digest() const;
-  void clear_digest();
-  static const int kDigestFieldNumber = 2;
-  const ::safe_browsing::ClientDownloadRequest_Digests& digest() const;
-  ::safe_browsing::ClientDownloadRequest_Digests* mutable_digest();
-  ::safe_browsing::ClientDownloadRequest_Digests* release_digest();
-  void set_allocated_digest(::safe_browsing::ClientDownloadRequest_Digests* digest);
-
-  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-  bool has_signature() const;
-  void clear_signature();
-  static const int kSignatureFieldNumber = 5;
-  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& signature() const;
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* mutable_signature();
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* release_signature();
-  void set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
-
-  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-  bool has_image_headers() const;
-  void clear_image_headers();
-  static const int kImageHeadersFieldNumber = 6;
-  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& image_headers() const;
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* mutable_image_headers();
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* release_image_headers();
-  void set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
-
-  // optional bool blacklist_initialized = 4;
-  bool has_blacklist_initialized() const;
-  void clear_blacklist_initialized();
-  static const int kBlacklistInitializedFieldNumber = 4;
-  bool blacklist_initialized() const;
-  void set_blacklist_initialized(bool value);
-
-  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident)
- private:
-  void set_has_path();
-  void clear_has_path();
-  void set_has_digest();
-  void clear_has_digest();
-  void set_has_version();
-  void clear_has_version();
-  void set_has_blacklist_initialized();
-  void clear_has_blacklist_initialized();
-  void set_has_signature();
-  void clear_has_signature();
-  void set_has_image_headers();
-  void clear_has_image_headers();
-
-  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::internal::ArenaStringPtr path_;
-  ::google::protobuf::internal::ArenaStringPtr version_;
-  ::safe_browsing::ClientDownloadRequest_Digests* digest_;
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature_;
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
-  bool blacklist_initialized_;
-  friend struct protobuf_csd_2eproto::TableStruct;
-};
-// -------------------------------------------------------------------
-
-class ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident) */ {
- public:
-  ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident();
-  virtual ~ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident();
-
-  ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from);
-
-  inline ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& operator=(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
-  ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident&& from) noexcept
-    : ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident() {
-    *this = ::std::move(from);
-  }
-
-  inline ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& operator=(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
-  inline const ::std::string& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
-  }
-  inline ::std::string* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
-  }
-
-  static const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& default_instance();
-
-  static inline const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* internal_default_instance() {
-    return reinterpret_cast<const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*>(
-               &_ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_);
-  }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    30;
-
-  void Swap(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* other);
-  friend void swap(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& a, ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& b) {
-    a.Swap(&b);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* New() const PROTOBUF_FINAL { return New(NULL); }
-
-  ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
-    PROTOBUF_FINAL;
-  void CopyFrom(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from);
-  void MergeFrom(const ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  void DiscardUnknownFields();
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  void InternalSwap(ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
-  public:
-
-  ::std::string GetTypeName() const PROTOBUF_FINAL;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // optional string variations_seed_signature = 1;
-  bool has_variations_seed_signature() const;
-  void clear_variations_seed_signature();
-  static const int kVariationsSeedSignatureFieldNumber = 1;
-  const ::std::string& variations_seed_signature() const;
-  void set_variations_seed_signature(const ::std::string& value);
-  #if LANG_CXX11
-  void set_variations_seed_signature(::std::string&& value);
-  #endif
-  void set_variations_seed_signature(const char* value);
-  void set_variations_seed_signature(const char* value, size_t size);
-  ::std::string* mutable_variations_seed_signature();
-  ::std::string* release_variations_seed_signature();
-  void set_allocated_variations_seed_signature(::std::string* variations_seed_signature);
-
-  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident)
- private:
-  void set_has_variations_seed_signature();
-  void clear_has_variations_seed_signature();
-
-  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::internal::ArenaStringPtr variations_seed_signature_;
-  friend struct protobuf_csd_2eproto::TableStruct;
-};
-// -------------------------------------------------------------------
-
 class ClientIncidentReport_IncidentData_ResourceRequestIncident : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident) */ {
  public:
   ClientIncidentReport_IncidentData_ResourceRequestIncident();
   virtual ~ClientIncidentReport_IncidentData_ResourceRequestIncident();
 
   ClientIncidentReport_IncidentData_ResourceRequestIncident(const ClientIncidentReport_IncidentData_ResourceRequestIncident& from);
 
   inline ClientIncidentReport_IncidentData_ResourceRequestIncident& operator=(const ClientIncidentReport_IncidentData_ResourceRequestIncident& from) {
@@ -5401,17 +6241,17 @@ class ClientIncidentReport_IncidentData_
 
   static const ClientIncidentReport_IncidentData_ResourceRequestIncident& default_instance();
 
   static inline const ClientIncidentReport_IncidentData_ResourceRequestIncident* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_IncidentData_ResourceRequestIncident*>(
                &_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    31;
+    35;
 
   void Swap(ClientIncidentReport_IncidentData_ResourceRequestIncident* other);
   friend void swap(ClientIncidentReport_IncidentData_ResourceRequestIncident& a, ClientIncidentReport_IncidentData_ResourceRequestIncident& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -5518,184 +6358,16 @@ class ClientIncidentReport_IncidentData_
   mutable int _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr digest_;
   ::google::protobuf::internal::ArenaStringPtr origin_;
   int type_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
-class ClientIncidentReport_IncidentData_SuspiciousModuleIncident : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident) */ {
- public:
-  ClientIncidentReport_IncidentData_SuspiciousModuleIncident();
-  virtual ~ClientIncidentReport_IncidentData_SuspiciousModuleIncident();
-
-  ClientIncidentReport_IncidentData_SuspiciousModuleIncident(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from);
-
-  inline ClientIncidentReport_IncidentData_SuspiciousModuleIncident& operator=(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
-  ClientIncidentReport_IncidentData_SuspiciousModuleIncident(ClientIncidentReport_IncidentData_SuspiciousModuleIncident&& from) noexcept
-    : ClientIncidentReport_IncidentData_SuspiciousModuleIncident() {
-    *this = ::std::move(from);
-  }
-
-  inline ClientIncidentReport_IncidentData_SuspiciousModuleIncident& operator=(ClientIncidentReport_IncidentData_SuspiciousModuleIncident&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
-  inline const ::std::string& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
-  }
-  inline ::std::string* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
-  }
-
-  static const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& default_instance();
-
-  static inline const ClientIncidentReport_IncidentData_SuspiciousModuleIncident* internal_default_instance() {
-    return reinterpret_cast<const ClientIncidentReport_IncidentData_SuspiciousModuleIncident*>(
-               &_ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_);
-  }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    32;
-
-  void Swap(ClientIncidentReport_IncidentData_SuspiciousModuleIncident* other);
-  friend void swap(ClientIncidentReport_IncidentData_SuspiciousModuleIncident& a, ClientIncidentReport_IncidentData_SuspiciousModuleIncident& b) {
-    a.Swap(&b);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline ClientIncidentReport_IncidentData_SuspiciousModuleIncident* New() const PROTOBUF_FINAL { return New(NULL); }
-
-  ClientIncidentReport_IncidentData_SuspiciousModuleIncident* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
-    PROTOBUF_FINAL;
-  void CopyFrom(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from);
-  void MergeFrom(const ClientIncidentReport_IncidentData_SuspiciousModuleIncident& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  void DiscardUnknownFields();
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  void InternalSwap(ClientIncidentReport_IncidentData_SuspiciousModuleIncident* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
-  public:
-
-  ::std::string GetTypeName() const PROTOBUF_FINAL;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // optional string path = 1;
-  bool has_path() const;
-  void clear_path();
-  static const int kPathFieldNumber = 1;
-  const ::std::string& path() const;
-  void set_path(const ::std::string& value);
-  #if LANG_CXX11
-  void set_path(::std::string&& value);
-  #endif
-  void set_path(const char* value);
-  void set_path(const char* value, size_t size);
-  ::std::string* mutable_path();
-  ::std::string* release_path();
-  void set_allocated_path(::std::string* path);
-
-  // optional string version = 3;
-  bool has_version() const;
-  void clear_version();
-  static const int kVersionFieldNumber = 3;
-  const ::std::string& version() const;
-  void set_version(const ::std::string& value);
-  #if LANG_CXX11
-  void set_version(::std::string&& value);
-  #endif
-  void set_version(const char* value);
-  void set_version(const char* value, size_t size);
-  ::std::string* mutable_version();
-  ::std::string* release_version();
-  void set_allocated_version(::std::string* version);
-
-  // optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-  bool has_digest() const;
-  void clear_digest();
-  static const int kDigestFieldNumber = 2;
-  const ::safe_browsing::ClientDownloadRequest_Digests& digest() const;
-  ::safe_browsing::ClientDownloadRequest_Digests* mutable_digest();
-  ::safe_browsing::ClientDownloadRequest_Digests* release_digest();
-  void set_allocated_digest(::safe_browsing::ClientDownloadRequest_Digests* digest);
-
-  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-  bool has_signature() const;
-  void clear_signature();
-  static const int kSignatureFieldNumber = 4;
-  const ::safe_browsing::ClientDownloadRequest_SignatureInfo& signature() const;
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* mutable_signature();
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* release_signature();
-  void set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature);
-
-  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-  bool has_image_headers() const;
-  void clear_image_headers();
-  static const int kImageHeadersFieldNumber = 5;
-  const ::safe_browsing::ClientDownloadRequest_ImageHeaders& image_headers() const;
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* mutable_image_headers();
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* release_image_headers();
-  void set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers);
-
-  // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident)
- private:
-  void set_has_path();
-  void clear_has_path();
-  void set_has_digest();
-  void clear_has_digest();
-  void set_has_version();
-  void clear_has_version();
-  void set_has_signature();
-  void clear_has_signature();
-  void set_has_image_headers();
-  void clear_has_image_headers();
-
-  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::internal::ArenaStringPtr path_;
-  ::google::protobuf::internal::ArenaStringPtr version_;
-  ::safe_browsing::ClientDownloadRequest_Digests* digest_;
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* signature_;
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers_;
-  friend struct protobuf_csd_2eproto::TableStruct;
-};
-// -------------------------------------------------------------------
-
 class ClientIncidentReport_IncidentData : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.IncidentData) */ {
  public:
   ClientIncidentReport_IncidentData();
   virtual ~ClientIncidentReport_IncidentData();
 
   ClientIncidentReport_IncidentData(const ClientIncidentReport_IncidentData& from);
 
   inline ClientIncidentReport_IncidentData& operator=(const ClientIncidentReport_IncidentData& from) {
@@ -5726,17 +6398,17 @@ class ClientIncidentReport_IncidentData 
 
   static const ClientIncidentReport_IncidentData& default_instance();
 
   static inline const ClientIncidentReport_IncidentData* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_IncidentData*>(
                &_ClientIncidentReport_IncidentData_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    33;
+    36;
 
   void Swap(ClientIncidentReport_IncidentData* other);
   friend void swap(ClientIncidentReport_IncidentData& a, ClientIncidentReport_IncidentData& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -5772,20 +6444,17 @@ class ClientIncidentReport_IncidentData 
   public:
 
   ::std::string GetTypeName() const PROTOBUF_FINAL;
 
   // nested types ----------------------------------------------------
 
   typedef ClientIncidentReport_IncidentData_TrackedPreferenceIncident TrackedPreferenceIncident;
   typedef ClientIncidentReport_IncidentData_BinaryIntegrityIncident BinaryIntegrityIncident;
-  typedef ClientIncidentReport_IncidentData_BlacklistLoadIncident BlacklistLoadIncident;
-  typedef ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident VariationsSeedSignatureIncident;
   typedef ClientIncidentReport_IncidentData_ResourceRequestIncident ResourceRequestIncident;
-  typedef ClientIncidentReport_IncidentData_SuspiciousModuleIncident SuspiciousModuleIncident;
 
   // accessors -------------------------------------------------------
 
   // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
   bool has_tracked_preference() const;
   void clear_tracked_preference();
   static const int kTrackedPreferenceFieldNumber = 2;
   const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident& tracked_preference() const;
@@ -5797,85 +6466,49 @@ class ClientIncidentReport_IncidentData 
   bool has_binary_integrity() const;
   void clear_binary_integrity();
   static const int kBinaryIntegrityFieldNumber = 3;
   const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident& binary_integrity() const;
   ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* mutable_binary_integrity();
   ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* release_binary_integrity();
   void set_allocated_binary_integrity(::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* binary_integrity);
 
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-  bool has_blacklist_load() const;
-  void clear_blacklist_load();
-  static const int kBlacklistLoadFieldNumber = 4;
-  const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident& blacklist_load() const;
-  ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* mutable_blacklist_load();
-  ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* release_blacklist_load();
-  void set_allocated_blacklist_load(::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* blacklist_load);
-
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-  bool has_variations_seed_signature() const;
-  void clear_variations_seed_signature();
-  static const int kVariationsSeedSignatureFieldNumber = 6;
-  const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& variations_seed_signature() const;
-  ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* mutable_variations_seed_signature();
-  ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* release_variations_seed_signature();
-  void set_allocated_variations_seed_signature(::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* variations_seed_signature);
-
   // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
   bool has_resource_request() const;
   void clear_resource_request();
   static const int kResourceRequestFieldNumber = 7;
   const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& resource_request() const;
   ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* mutable_resource_request();
   ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* release_resource_request();
   void set_allocated_resource_request(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* resource_request);
 
-  // optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-  bool has_suspicious_module() const;
-  void clear_suspicious_module();
-  static const int kSuspiciousModuleFieldNumber = 8;
-  const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident& suspicious_module() const;
-  ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* mutable_suspicious_module();
-  ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* release_suspicious_module();
-  void set_allocated_suspicious_module(::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* suspicious_module);
-
   // optional int64 incident_time_msec = 1;
   bool has_incident_time_msec() const;
   void clear_incident_time_msec();
   static const int kIncidentTimeMsecFieldNumber = 1;
   ::google::protobuf::int64 incident_time_msec() const;
   void set_incident_time_msec(::google::protobuf::int64 value);
 
   // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.IncidentData)
  private:
   void set_has_incident_time_msec();
   void clear_has_incident_time_msec();
   void set_has_tracked_preference();
   void clear_has_tracked_preference();
   void set_has_binary_integrity();
   void clear_has_binary_integrity();
-  void set_has_blacklist_load();
-  void clear_has_blacklist_load();
-  void set_has_variations_seed_signature();
-  void clear_has_variations_seed_signature();
   void set_has_resource_request();
   void clear_has_resource_request();
-  void set_has_suspicious_module();
-  void clear_has_suspicious_module();
 
   ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* tracked_preference_;
   ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* binary_integrity_;
-  ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* blacklist_load_;
-  ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* variations_seed_signature_;
   ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* resource_request_;
-  ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* suspicious_module_;
   ::google::protobuf::int64 incident_time_msec_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
 class ClientIncidentReport_DownloadDetails : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.DownloadDetails) */ {
  public:
   ClientIncidentReport_DownloadDetails();
@@ -5911,17 +6544,17 @@ class ClientIncidentReport_DownloadDetai
 
   static const ClientIncidentReport_DownloadDetails& default_instance();
 
   static inline const ClientIncidentReport_DownloadDetails* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_DownloadDetails*>(
                &_ClientIncidentReport_DownloadDetails_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    34;
+    37;
 
   void Swap(ClientIncidentReport_DownloadDetails* other);
   friend void swap(ClientIncidentReport_DownloadDetails& a, ClientIncidentReport_DownloadDetails& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -6057,17 +6690,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_OS_RegistryValue& 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 PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    35;
+    38;
 
   void Swap(ClientIncidentReport_EnvironmentData_OS_RegistryValue* other);
   friend void swap(ClientIncidentReport_EnvironmentData_OS_RegistryValue& a, ClientIncidentReport_EnvironmentData_OS_RegistryValue& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -6199,17 +6832,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_OS_RegistryKey& 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 PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    36;
+    39;
 
   void Swap(ClientIncidentReport_EnvironmentData_OS_RegistryKey* other);
   friend void swap(ClientIncidentReport_EnvironmentData_OS_RegistryKey& a, ClientIncidentReport_EnvironmentData_OS_RegistryKey& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -6339,17 +6972,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_OS& default_instance();
 
   static inline const ClientIncidentReport_EnvironmentData_OS* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_EnvironmentData_OS*>(
                &_ClientIncidentReport_EnvironmentData_OS_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    37;
+    40;
 
   void Swap(ClientIncidentReport_EnvironmentData_OS* other);
   friend void swap(ClientIncidentReport_EnvironmentData_OS& a, ClientIncidentReport_EnvironmentData_OS& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -6497,17 +7130,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_Machine& default_instance();
 
   static inline const ClientIncidentReport_EnvironmentData_Machine* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Machine*>(
                &_ClientIncidentReport_EnvironmentData_Machine_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    38;
+    41;
 
   void Swap(ClientIncidentReport_EnvironmentData_Machine* other);
   friend void swap(ClientIncidentReport_EnvironmentData_Machine& a, ClientIncidentReport_EnvironmentData_Machine& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -6639,17 +7272,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_Process_Patch& 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 PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    39;
+    42;
 
   void Swap(ClientIncidentReport_EnvironmentData_Process_Patch* other);
   friend void swap(ClientIncidentReport_EnvironmentData_Process_Patch& a, ClientIncidentReport_EnvironmentData_Process_Patch& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -6771,17 +7404,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_Process_NetworkProvider& 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 PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    40;
+    43;
 
   void Swap(ClientIncidentReport_EnvironmentData_Process_NetworkProvider* other);
   friend void swap(ClientIncidentReport_EnvironmentData_Process_NetworkProvider& a, ClientIncidentReport_EnvironmentData_Process_NetworkProvider& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -6867,17 +7500,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_Process_Dll& 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 PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    41;
+    44;
 
   void Swap(ClientIncidentReport_EnvironmentData_Process_Dll* other);
   friend void swap(ClientIncidentReport_EnvironmentData_Process_Dll& a, ClientIncidentReport_EnvironmentData_Process_Dll& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -7039,17 +7672,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& 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 PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    42;
+    45;
 
   void Swap(ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* other);
   friend void swap(ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& a, ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -7191,17 +7824,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_Process_ModuleState& 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 PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    43;
+    46;
 
   void Swap(ClientIncidentReport_EnvironmentData_Process_ModuleState* other);
   friend void swap(ClientIncidentReport_EnvironmentData_Process_ModuleState& a, ClientIncidentReport_EnvironmentData_Process_ModuleState& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -7372,17 +8005,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData_Process& default_instance();
 
   static inline const ClientIncidentReport_EnvironmentData_Process* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_EnvironmentData_Process*>(
                &_ClientIncidentReport_EnvironmentData_Process_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    44;
+    47;
 
   void Swap(ClientIncidentReport_EnvironmentData_Process* other);
   friend void swap(ClientIncidentReport_EnvironmentData_Process& a, ClientIncidentReport_EnvironmentData_Process& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -7572,60 +8205,60 @@ class ClientIncidentReport_EnvironmentDa
 
   // optional bool metrics_consent = 7;
   bool has_metrics_consent() const;
   void clear_metrics_consent();
   static const int kMetricsConsentFieldNumber = 7;
   bool metrics_consent() const;
   void set_metrics_consent(bool value);
 
-  // optional bool extended_consent = 8;
-  bool has_extended_consent() const;
-  void clear_extended_consent();
-  static const int kExtendedConsentFieldNumber = 8;
-  bool extended_consent() const;
-  void set_extended_consent(bool value);
-
-  // optional bool field_trial_participant = 12;
-  bool has_field_trial_participant() const;
-  void clear_field_trial_participant();
-  static const int kFieldTrialParticipantFieldNumber = 12;
-  bool field_trial_participant() const;
-  void set_field_trial_participant(bool value);
+  // optional bool OBSOLETE_extended_consent = 8;
+  bool has_obsolete_extended_consent() const;
+  void clear_obsolete_extended_consent();
+  static const int kOBSOLETEExtendedConsentFieldNumber = 8;
+  bool obsolete_extended_consent() const;
+  void set_obsolete_extended_consent(bool value);
+
+  // optional bool OBSOLETE_field_trial_participant = 12;
+  bool has_obsolete_field_trial_participant() const;
+  void clear_obsolete_field_trial_participant();
+  static const int kOBSOLETEFieldTrialParticipantFieldNumber = 12;
+  bool obsolete_field_trial_participant() const;
+  void set_obsolete_field_trial_participant(bool value);
 
   // @@protoc_insertion_point(class_scope:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  private:
   void set_has_version();
   void clear_has_version();
   void set_has_chrome_update_channel();
   void clear_has_chrome_update_channel();
   void set_has_uptime_msec();
   void clear_has_uptime_msec();
   void set_has_metrics_consent();
   void clear_has_metrics_consent();
-  void set_has_extended_consent();
-  void clear_has_extended_consent();
-  void set_has_field_trial_participant();
-  void clear_has_field_trial_participant();
+  void set_has_obsolete_extended_consent();
+  void clear_has_obsolete_extended_consent();
+  void set_has_obsolete_field_trial_participant();
+  void clear_has_obsolete_field_trial_participant();
 
   ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::RepeatedPtrField< ::std::string> obsolete_dlls_;
   ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch > patches_;
   ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider > network_providers_;
   ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll > dll_;
   ::google::protobuf::RepeatedPtrField< ::std::string> blacklisted_dll_;
   ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState > module_state_;
   ::google::protobuf::internal::ArenaStringPtr version_;
   ::google::protobuf::int64 uptime_msec_;
   int chrome_update_channel_;
   bool metrics_consent_;
-  bool extended_consent_;
-  bool field_trial_participant_;
+  bool obsolete_extended_consent_;
+  bool obsolete_field_trial_participant_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
 class ClientIncidentReport_EnvironmentData : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientIncidentReport.EnvironmentData) */ {
  public:
   ClientIncidentReport_EnvironmentData();
   virtual ~ClientIncidentReport_EnvironmentData();
@@ -7660,17 +8293,17 @@ class ClientIncidentReport_EnvironmentDa
 
   static const ClientIncidentReport_EnvironmentData& default_instance();
 
   static inline const ClientIncidentReport_EnvironmentData* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_EnvironmentData*>(
                &_ClientIncidentReport_EnvironmentData_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    45;
+    48;
 
   void Swap(ClientIncidentReport_EnvironmentData* other);
   friend void swap(ClientIncidentReport_EnvironmentData& a, ClientIncidentReport_EnvironmentData& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -7796,17 +8429,17 @@ class ClientIncidentReport_ExtensionData
 
   static const ClientIncidentReport_ExtensionData_ExtensionInfo& default_instance();
 
   static inline const ClientIncidentReport_ExtensionData_ExtensionInfo* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_ExtensionData_ExtensionInfo*>(
                &_ClientIncidentReport_ExtensionData_ExtensionInfo_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    46;
+    49;
 
   void Swap(ClientIncidentReport_ExtensionData_ExtensionInfo* other);
   friend void swap(ClientIncidentReport_ExtensionData_ExtensionInfo& a, ClientIncidentReport_ExtensionData_ExtensionInfo& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -8153,17 +8786,17 @@ class ClientIncidentReport_ExtensionData
 
   static const ClientIncidentReport_ExtensionData& default_instance();
 
   static inline const ClientIncidentReport_ExtensionData* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_ExtensionData*>(
                &_ClientIncidentReport_ExtensionData_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    47;
+    50;
 
   void Swap(ClientIncidentReport_ExtensionData* other);
   friend void swap(ClientIncidentReport_ExtensionData& a, ClientIncidentReport_ExtensionData& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -8263,17 +8896,17 @@ class ClientIncidentReport_NonBinaryDown
 
   static const ClientIncidentReport_NonBinaryDownloadDetails& default_instance();
 
   static inline const ClientIncidentReport_NonBinaryDownloadDetails* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport_NonBinaryDownloadDetails*>(
                &_ClientIncidentReport_NonBinaryDownloadDetails_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    48;
+    51;
 
   void Swap(ClientIncidentReport_NonBinaryDownloadDetails* other);
   friend void swap(ClientIncidentReport_NonBinaryDownloadDetails& a, ClientIncidentReport_NonBinaryDownloadDetails& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -8423,17 +9056,17 @@ class ClientIncidentReport : public ::go
 
   static const ClientIncidentReport& default_instance();
 
   static inline const ClientIncidentReport* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentReport*>(
                &_ClientIncidentReport_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    49;
+    52;
 
   void Swap(ClientIncidentReport* other);
   friend void swap(ClientIncidentReport& a, ClientIncidentReport& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -8598,17 +9231,17 @@ class ClientIncidentResponse_Environment
 
   static const ClientIncidentResponse_EnvironmentRequest& default_instance();
 
   static inline const ClientIncidentResponse_EnvironmentRequest* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentResponse_EnvironmentRequest*>(
                &_ClientIncidentResponse_EnvironmentRequest_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    50;
+    53;
 
   void Swap(ClientIncidentResponse_EnvironmentRequest* other);
   friend void swap(ClientIncidentResponse_EnvironmentRequest& a, ClientIncidentResponse_EnvironmentRequest& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -8704,17 +9337,17 @@ class ClientIncidentResponse : public ::
 
   static const ClientIncidentResponse& default_instance();
 
   static inline const ClientIncidentResponse* internal_default_instance() {
     return reinterpret_cast<const ClientIncidentResponse*>(
                &_ClientIncidentResponse_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    51;
+    54;
 
   void Swap(ClientIncidentResponse* other);
   friend void swap(ClientIncidentResponse& a, ClientIncidentResponse& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -8843,17 +9476,17 @@ class DownloadMetadata : public ::google
 
   static const DownloadMetadata& default_instance();
 
   static inline const DownloadMetadata* internal_default_instance() {
     return reinterpret_cast<const DownloadMetadata*>(
                &_DownloadMetadata_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    52;
+    55;
 
   void Swap(DownloadMetadata* other);
   friend void swap(DownloadMetadata& a, DownloadMetadata& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -8961,17 +9594,17 @@ class ClientSafeBrowsingReportRequest_HT
 
   static const ClientSafeBrowsingReportRequest_HTTPHeader& default_instance();
 
   static inline const ClientSafeBrowsingReportRequest_HTTPHeader* internal_default_instance() {
     return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPHeader*>(
                &_ClientSafeBrowsingReportRequest_HTTPHeader_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    53;
+    56;
 
   void Swap(ClientSafeBrowsingReportRequest_HTTPHeader* other);
   friend void swap(ClientSafeBrowsingReportRequest_HTTPHeader& a, ClientSafeBrowsingReportRequest_HTTPHeader& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -9093,17 +9726,17 @@ class ClientSafeBrowsingReportRequest_HT
 
   static const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& default_instance();
 
   static inline const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* internal_default_instance() {
     return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine*>(
                &_ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    54;
+    57;
 
   void Swap(ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* other);
   friend void swap(ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& a, ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -9243,17 +9876,17 @@ class ClientSafeBrowsingReportRequest_HT
 
   static const ClientSafeBrowsingReportRequest_HTTPRequest& default_instance();
 
   static inline const ClientSafeBrowsingReportRequest_HTTPRequest* internal_default_instance() {
     return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPRequest*>(
                &_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    55;
+    58;
 
   void Swap(ClientSafeBrowsingReportRequest_HTTPRequest* other);
   friend void swap(ClientSafeBrowsingReportRequest_HTTPRequest& a, ClientSafeBrowsingReportRequest_HTTPRequest& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -9412,17 +10045,17 @@ class ClientSafeBrowsingReportRequest_HT
 
   static const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& default_instance();
 
   static inline const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* internal_default_instance() {
     return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine*>(
                &_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    56;
+    59;
 
   void Swap(ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* other);
   friend void swap(ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& a, ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -9458,30 +10091,30 @@ class ClientSafeBrowsingReportRequest_HT
   public:
 
   ::std::string GetTypeName() const PROTOBUF_FINAL;
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
-  // optional bytes reason = 2;
-  bool has_reason() const;
-  void clear_reason();
-  static const int kReasonFieldNumber = 2;
-  const ::std::string& reason() const;
-  void set_reason(const ::std::string& value);
-  #if LANG_CXX11
-  void set_reason(::std::string&& value);
-  #endif
-  void set_reason(const char* value);
-  void set_reason(const void* value, size_t size);
-  ::std::string* mutable_reason();
-  ::std::string* release_reason();
-  void set_allocated_reason(::std::string* reason);
+  // optional bytes message = 2;
+  bool has_message() const;
+  void clear_message();
+  static const int kMessageFieldNumber = 2;
+  const ::std::string& message() const;
+  void set_message(const ::std::string& value);
+  #if LANG_CXX11
+  void set_message(::std::string&& value);
+  #endif
+  void set_message(const char* value);
+  void set_message(const void* value, size_t size);
+  ::std::string* mutable_message();
+  ::std::string* release_message();
+  void set_allocated_message(::std::string* message);
 
   // optional bytes version = 3;
   bool has_version() const;
   void clear_version();
   static const int kVersionFieldNumber = 3;
   const ::std::string& version() const;
   void set_version(const ::std::string& value);
   #if LANG_CXX11
@@ -9499,25 +10132,25 @@ class ClientSafeBrowsingReportRequest_HT
   static const int kCodeFieldNumber = 1;
   ::google::protobuf::int32 code() const;
   void set_code(::google::protobuf::int32 value);
 
   // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  private:
   void set_has_code();
   void clear_has_code();
-  void set_has_reason();
-  void clear_has_reason();
+  void set_has_message();
+  void clear_has_message();
   void set_has_version();
   void clear_has_version();
 
   ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
-  ::google::protobuf::internal::ArenaStringPtr reason_;
+  ::google::protobuf::internal::ArenaStringPtr message_;
   ::google::protobuf::internal::ArenaStringPtr version_;
   ::google::protobuf::int32 code_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
 class ClientSafeBrowsingReportRequest_HTTPResponse : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse) */ {
  public:
@@ -9554,17 +10187,17 @@ class ClientSafeBrowsingReportRequest_HT
 
   static const ClientSafeBrowsingReportRequest_HTTPResponse& default_instance();
 
   static inline const ClientSafeBrowsingReportRequest_HTTPResponse* internal_default_instance() {
     return reinterpret_cast<const ClientSafeBrowsingReportRequest_HTTPResponse*>(
                &_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    57;
+    60;
 
   void Swap(ClientSafeBrowsingReportRequest_HTTPResponse* other);
   friend void swap(ClientSafeBrowsingReportRequest_HTTPResponse& a, ClientSafeBrowsingReportRequest_HTTPResponse& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -9741,17 +10374,17 @@ class ClientSafeBrowsingReportRequest_Re
 
   static const ClientSafeBrowsingReportRequest_Resource& default_instance();
 
   static inline const ClientSafeBrowsingReportRequest_Resource* internal_default_instance() {
     return reinterpret_cast<const ClientSafeBrowsingReportRequest_Resource*>(
                &_ClientSafeBrowsingReportRequest_Resource_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    58;
+    61;
 
   void Swap(ClientSafeBrowsingReportRequest_Resource* other);
   friend void swap(ClientSafeBrowsingReportRequest_Resource& a, ClientSafeBrowsingReportRequest_Resource& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -9890,16 +10523,160 @@ class ClientSafeBrowsingReportRequest_Re
   ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* request_;
   ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* response_;
   ::google::protobuf::int32 id_;
   ::google::protobuf::int32 parent_id_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
 
+class ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties) */ {
+ public:
+  ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties();
+  virtual ~ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties();
+
+  ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from);
+
+  inline ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& operator=(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties&& from) noexcept
+    : ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties() {
+    *this = ::std::move(from);
+  }
+
+  inline ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& operator=(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& default_instance();
+
+  static inline const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* internal_default_instance() {
+    return reinterpret_cast<const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(
+               &_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    62;
+
+  void Swap(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* other);
+  friend void swap(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& a, ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from);
+  void MergeFrom(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // optional string client_version = 1;
+  bool has_client_version() const;
+  void clear_client_version();
+  static const int kClientVersionFieldNumber = 1;
+  const ::std::string& client_version() const;
+  void set_client_version(const ::std::string& value);
+  #if LANG_CXX11
+  void set_client_version(::std::string&& value);
+  #endif
+  void set_client_version(const char* value);
+  void set_client_version(const char* value, size_t size);
+  ::std::string* mutable_client_version();
+  ::std::string* release_client_version();
+  void set_allocated_client_version(::std::string* client_version);
+
+  // optional int64 google_play_services_version = 2;
+  bool has_google_play_services_version() const;
+  void clear_google_play_services_version();
+  static const int kGooglePlayServicesVersionFieldNumber = 2;
+  ::google::protobuf::int64 google_play_services_version() const;
+  void set_google_play_services_version(::google::protobuf::int64 value);
+
+  // optional bool is_instant_apps = 3;
+  bool has_is_instant_apps() const;
+  void clear_is_instant_apps();
+  static const int kIsInstantAppsFieldNumber = 3;
+  bool is_instant_apps() const;
+  void set_is_instant_apps(bool value);
+
+  // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
+  bool has_url_api_type() const;
+  void clear_url_api_type();
+  static const int kUrlApiTypeFieldNumber = 4;
+  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType url_api_type() const;
+  void set_url_api_type(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
+ private:
+  void set_has_client_version();
+  void clear_has_client_version();
+  void set_has_google_play_services_version();
+  void clear_has_google_play_services_version();
+  void set_has_is_instant_apps();
+  void clear_has_is_instant_apps();
+  void set_has_url_api_type();
+  void clear_has_url_api_type();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::internal::ArenaStringPtr client_version_;
+  ::google::protobuf::int64 google_play_services_version_;
+  bool is_instant_apps_;
+  int url_api_type_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
 class ClientSafeBrowsingReportRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ClientSafeBrowsingReportRequest) */ {
  public:
   ClientSafeBrowsingReportRequest();
   virtual ~ClientSafeBrowsingReportRequest();
 
   ClientSafeBrowsingReportRequest(const ClientSafeBrowsingReportRequest& from);
 
   inline ClientSafeBrowsingReportRequest& operator=(const ClientSafeBrowsingReportRequest& from) {
@@ -9930,17 +10707,17 @@ class ClientSafeBrowsingReportRequest : 
 
   static const ClientSafeBrowsingReportRequest& default_instance();
 
   static inline const ClientSafeBrowsingReportRequest* internal_default_instance() {
     return reinterpret_cast<const ClientSafeBrowsingReportRequest*>(
                &_ClientSafeBrowsingReportRequest_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    59;
+    63;
 
   void Swap(ClientSafeBrowsingReportRequest* other);
   friend void swap(ClientSafeBrowsingReportRequest& a, ClientSafeBrowsingReportRequest& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
@@ -9978,46 +10755,74 @@ class ClientSafeBrowsingReportRequest : 
   ::std::string GetTypeName() const PROTOBUF_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 const ReportType UNKNOWN =
     ClientSafeBrowsingReportRequest_ReportType_UNKNOWN;
   static const ReportType URL_PHISHING =
     ClientSafeBrowsingReportRequest_ReportType_URL_PHISHING;
   static const ReportType URL_MALWARE =
     ClientSafeBrowsingReportRequest_ReportType_URL_MALWARE;
   static const ReportType URL_UNWANTED =
     ClientSafeBrowsingReportRequest_ReportType_URL_UNWANTED;
-  static const ReportType CLIENT_SIDE_PHISHING_URL =
-    ClientSafeBrowsingReportRequest_ReportType_CLIENT_SIDE_PHISHING_URL;
-  static const ReportType CLIENT_SIDE_MALWARE_URL =
-    ClientSafeBrowsingReportRequest_ReportType_CLIENT_SIDE_MALWARE_URL;
+  static const ReportType URL_CLIENT_SIDE_PHISHING =
+    ClientSafeBrowsingReportRequest_ReportType_URL_CLIENT_SIDE_PHISHING;
+  static const ReportType URL_CLIENT_SIDE_MALWARE =
+    ClientSafeBrowsingReportRequest_ReportType_URL_CLIENT_SIDE_MALWARE;
   static const ReportType DANGEROUS_DOWNLOAD_RECOVERY =
     ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_RECOVERY;
   static const ReportType DANGEROUS_DOWNLOAD_WARNING =
     ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_WARNING;
   static const ReportType DANGEROUS_DOWNLOAD_BY_API =
     ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_BY_API;
+  static const ReportType URL_PASSWORD_PROTECTION_PHISHING =
+    ClientSafeBrowsingReportRequest_ReportType_URL_PASSWORD_PROTECTION_PHISHING;
+  static const ReportType DANGEROUS_DOWNLOAD_OPENED =
+    ClientSafeBrowsingReportRequest_ReportType_DANGEROUS_DOWNLOAD_OPENED;
+  static const ReportType AD_SAMPLE =
+    ClientSafeBrowsingReportRequest_ReportType_AD_SAMPLE;
   static inline bool ReportType_IsValid(int value) {
     return ClientSafeBrowsingReportRequest_ReportType_IsValid(value);
   }
   static const ReportType ReportType_MIN =
     ClientSafeBrowsingReportRequest_ReportType_ReportType_MIN;
   static const ReportType ReportType_MAX =
     ClientSafeBrowsingReportRequest_ReportType_ReportType_MAX;
   static const int ReportType_ARRAYSIZE =
     ClientSafeBrowsingReportRequest_ReportType_ReportType_ARRAYSIZE;
 
+  typedef ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType SafeBrowsingUrlApiType;
+  static const SafeBrowsingUrlApiType SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED =
+    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED;
+  static const SafeBrowsingUrlApiType PVER3_NATIVE =
+    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_PVER3_NATIVE;
+  static const SafeBrowsingUrlApiType PVER4_NATIVE =
+    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_PVER4_NATIVE;
+  static const SafeBrowsingUrlApiType ANDROID_SAFETYNET =
+    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_ANDROID_SAFETYNET;
+  static const SafeBrowsingUrlApiType FLYWHEEL =
+    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_FLYWHEEL;
+  static inline bool SafeBrowsingUrlApiType_IsValid(int value) {
+    return ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(value);
+  }
+  static const SafeBrowsingUrlApiType SafeBrowsingUrlApiType_MIN =
+    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MIN;
+  static const SafeBrowsingUrlApiType SafeBrowsingUrlApiType_MAX =
+    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_MAX;
+  static const int SafeBrowsingUrlApiType_ARRAYSIZE =
+    ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_SafeBrowsingUrlApiType_ARRAYSIZE;
+
   // accessors -------------------------------------------------------
 
   // repeated .safe_browsing.ClientSafeBrowsingReportRequest.Resource resources = 4;
   int resources_size() const;
   void clear_resources();
   static const int kResourcesFieldNumber = 4;
   const ::safe_browsing::ClientSafeBrowsingReportRequest_Resource& resources(int index) const;
   ::safe_browsing::ClientSafeBrowsingReportRequest_Resource* mutable_resources(int index);
@@ -10044,16 +10849,28 @@ class ClientSafeBrowsingReportRequest : 
   #if LANG_CXX11
   void add_client_asn(::std::string&& value);
   #endif
   void add_client_asn(const char* value);
   void add_client_asn(const char* value, size_t size);
   const ::google::protobuf::RepeatedPtrField< ::std::string>& client_asn() const;
   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_client_asn();
 
+  // repeated .safe_browsing.HTMLElement dom = 16;
+  int dom_size() const;
+  void clear_dom();
+  static const int kDomFieldNumber = 16;
+  const ::safe_browsing::HTMLElement& dom(int index) const;
+  ::safe_browsing::HTMLElement* mutable_dom(int index);
+  ::safe_browsing::HTMLElement* add_dom();
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement >*
+      mutable_dom();
+  const ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement >&
+      dom() const;
+
   // optional string url = 1;
   bool has_url() const;
   void clear_url();
   static const int kUrlFieldNumber = 1;
   const ::std::string& url() const;
   void set_url(const ::std::string& value);
   #if LANG_CXX11
   void set_url(::std::string&& value);
@@ -10119,16 +10936,32 @@ class ClientSafeBrowsingReportRequest : 
   void set_token(::std::string&& value);
   #endif
   void set_token(const char* value);
   void set_token(const void* value, size_t size);
   ::std::string* mutable_token();
   ::std::string* release_token();
   void set_allocated_token(::std::string* token);
 
+  // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
+  bool has_client_properties() const;
+  void clear_client_properties();
+  static const int kClientPropertiesFieldNumber = 17;
+  const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& client_properties() const;
+  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* mutable_client_properties();
+  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* release_client_properties();
+  void set_allocated_client_properties(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties);
+
+  // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
+  bool has_type() const;
+  void clear_type();
+  static const int kTypeFieldNumber = 10;
+  ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType type() const;
+  void set_type(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType value);
+
   // optional bool complete = 5;
   bool has_complete() const;
   void clear_complete();
   static const int kCompleteFieldNumber = 5;
   bool complete() const;
   void set_complete(bool value);
 
   // optional bool did_proceed = 8;
@@ -10140,22 +10973,22 @@ class ClientSafeBrowsingReportRequest : 
 
   // optional bool repeat_visit = 9;
   bool has_repeat_visit() const;
   void clear_repeat_visit();
   static const int kRepeatVisitFieldNumber = 9;
   bool repeat_visit() const;
   void set_repeat_visit(bool value);
 
-  // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
-  bool has_type() const;
-  void clear_type();
-  static const int kTypeFieldNumber = 10;
-  ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType type() const;
-  void set_type(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType value);
+  // optional bool show_download_in_folder = 18;
+  bool has_show_download_in_folder() const;
+  void clear_show_download_in_folder();
+  static const int kShowDownloadInFolderFieldNumber = 18;
+  bool show_download_in_folder() const;
+  void set_show_download_in_folder(bool value);
 
   // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
   bool has_download_verdict() const;
   void clear_download_verdict();
   static const int kDownloadVerdictFieldNumber = 11;
   ::safe_browsing::ClientDownloadResponse_Verdict download_verdict() const;
   void set_download_verdict(::safe_browsing::ClientDownloadResponse_Verdict value);
 
@@ -10176,34 +11009,735 @@ class ClientSafeBrowsingReportRequest : 
   void set_has_client_country();
   void clear_has_client_country();
   void set_has_did_proceed();
   void clear_has_did_proceed();
   void set_has_repeat_visit();
   void clear_has_repeat_visit();
   void set_has_token();
   void clear_has_token();
+  void set_has_client_properties();
+  void clear_has_client_properties();
+  void set_has_show_download_in_folder();
+  void clear_has_show_download_in_folder();
 
   ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource > resources_;
   ::google::protobuf::RepeatedPtrField< ::std::string> client_asn_;
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement > dom_;
   ::google::protobuf::internal::ArenaStringPtr url_;
   ::google::protobuf::internal::ArenaStringPtr page_url_;
   ::google::protobuf::internal::ArenaStringPtr referrer_url_;
   ::google::protobuf::internal::ArenaStringPtr client_country_;
   ::google::protobuf::internal::ArenaStringPtr token_;
+  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties_;
+  int type_;
   bool complete_;
   bool did_proceed_;
   bool repeat_visit_;
-  int type_;
+  bool show_download_in_folder_;
   int download_verdict_;
   friend struct protobuf_csd_2eproto::TableStruct;
 };
+// -------------------------------------------------------------------
+
+class HTMLElement_Attribute : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.HTMLElement.Attribute) */ {
+ public:
+  HTMLElement_Attribute();
+  virtual ~HTMLElement_Attribute();
+
+  HTMLElement_Attribute(const HTMLElement_Attribute& from);
+
+  inline HTMLElement_Attribute& operator=(const HTMLElement_Attribute& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  HTMLElement_Attribute(HTMLElement_Attribute&& from) noexcept
+    : HTMLElement_Attribute() {
+    *this = ::std::move(from);
+  }
+
+  inline HTMLElement_Attribute& operator=(HTMLElement_Attribute&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const HTMLElement_Attribute& default_instance();
+
+  static inline const HTMLElement_Attribute* internal_default_instance() {
+    return reinterpret_cast<const HTMLElement_Attribute*>(
+               &_HTMLElement_Attribute_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    64;
+
+  void Swap(HTMLElement_Attribute* other);
+  friend void swap(HTMLElement_Attribute& a, HTMLElement_Attribute& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline HTMLElement_Attribute* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  HTMLElement_Attribute* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const HTMLElement_Attribute& from);
+  void MergeFrom(const HTMLElement_Attribute& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(HTMLElement_Attribute* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // optional string name = 1;
+  bool has_name() const;
+  void clear_name();
+  static const int kNameFieldNumber = 1;
+  const ::std::string& name() const;
+  void set_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_name(::std::string&& value);
+  #endif
+  void set_name(const char* value);
+  void set_name(const char* value, size_t size);
+  ::std::string* mutable_name();
+  ::std::string* release_name();
+  void set_allocated_name(::std::string* name);
+
+  // optional string value = 2;
+  bool has_value() const;
+  void clear_value();
+  static const int kValueFieldNumber = 2;
+  const ::std::string& value() const;
+  void set_value(const ::std::string& value);
+  #if LANG_CXX11
+  void set_value(::std::string&& value);
+  #endif
+  void set_value(const char* value);
+  void set_value(const char* value, size_t size);
+  ::std::string* mutable_value();
+  ::std::string* release_value();
+  void set_allocated_value(::std::string* value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.HTMLElement.Attribute)
+ private:
+  void set_has_name();
+  void clear_has_name();
+  void set_has_value();
+  void clear_has_value();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::internal::ArenaStringPtr name_;
+  ::google::protobuf::internal::ArenaStringPtr value_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class HTMLElement : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.HTMLElement) */ {
+ public:
+  HTMLElement();
+  virtual ~HTMLElement();
+
+  HTMLElement(const HTMLElement& from);
+
+  inline HTMLElement& operator=(const HTMLElement& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  HTMLElement(HTMLElement&& from) noexcept
+    : HTMLElement() {
+    *this = ::std::move(from);
+  }
+
+  inline HTMLElement& operator=(HTMLElement&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const HTMLElement& default_instance();
+
+  static inline const HTMLElement* internal_default_instance() {
+    return reinterpret_cast<const HTMLElement*>(
+               &_HTMLElement_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    65;
+
+  void Swap(HTMLElement* other);
+  friend void swap(HTMLElement& a, HTMLElement& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline HTMLElement* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  HTMLElement* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const HTMLElement& from);
+  void MergeFrom(const HTMLElement& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(HTMLElement* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  typedef HTMLElement_Attribute Attribute;
+
+  // accessors -------------------------------------------------------
+
+  // repeated int32 child_ids = 3;
+  int child_ids_size() const;
+  void clear_child_ids();
+  static const int kChildIdsFieldNumber = 3;
+  ::google::protobuf::int32 child_ids(int index) const;
+  void set_child_ids(int index, ::google::protobuf::int32 value);
+  void add_child_ids(::google::protobuf::int32 value);
+  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+      child_ids() const;
+  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+      mutable_child_ids();
+
+  // repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
+  int attribute_size() const;
+  void clear_attribute();
+  static const int kAttributeFieldNumber = 6;
+  const ::safe_browsing::HTMLElement_Attribute& attribute(int index) const;
+  ::safe_browsing::HTMLElement_Attribute* mutable_attribute(int index);
+  ::safe_browsing::HTMLElement_Attribute* add_attribute();
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >*
+      mutable_attribute();
+  const ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >&
+      attribute() const;
+
+  // optional string tag = 2;
+  bool has_tag() const;
+  void clear_tag();
+  static const int kTagFieldNumber = 2;
+  const ::std::string& tag() const;
+  void set_tag(const ::std::string& value);
+  #if LANG_CXX11
+  void set_tag(::std::string&& value);
+  #endif
+  void set_tag(const char* value);
+  void set_tag(const char* value, size_t size);
+  ::std::string* mutable_tag();
+  ::std::string* release_tag();
+  void set_allocated_tag(::std::string* tag);
+
+  // optional int32 id = 1;
+  bool has_id() const;
+  void clear_id();
+  static const int kIdFieldNumber = 1;
+  ::google::protobuf::int32 id() const;
+  void set_id(::google::protobuf::int32 value);
+
+  // optional int32 resource_id = 5;
+  bool has_resource_id() const;
+  void clear_resource_id();
+  static const int kResourceIdFieldNumber = 5;
+  ::google::protobuf::int32 resource_id() const;
+  void set_resource_id(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.HTMLElement)
+ private:
+  void set_has_id();
+  void clear_has_id();
+  void set_has_tag();
+  void clear_has_tag();
+  void set_has_resource_id();
+  void clear_has_resource_id();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > child_ids_;
+  ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute > attribute_;
+  ::google::protobuf::internal::ArenaStringPtr tag_;
+  ::google::protobuf::int32 id_;
+  ::google::protobuf::int32 resource_id_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class ImageData_Dimensions : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ImageData.Dimensions) */ {
+ public:
+  ImageData_Dimensions();
+  virtual ~ImageData_Dimensions();
+
+  ImageData_Dimensions(const ImageData_Dimensions& from);
+
+  inline ImageData_Dimensions& operator=(const ImageData_Dimensions& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  ImageData_Dimensions(ImageData_Dimensions&& from) noexcept
+    : ImageData_Dimensions() {
+    *this = ::std::move(from);
+  }
+
+  inline ImageData_Dimensions& operator=(ImageData_Dimensions&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const ImageData_Dimensions& default_instance();
+
+  static inline const ImageData_Dimensions* internal_default_instance() {
+    return reinterpret_cast<const ImageData_Dimensions*>(
+               &_ImageData_Dimensions_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    66;
+
+  void Swap(ImageData_Dimensions* other);
+  friend void swap(ImageData_Dimensions& a, ImageData_Dimensions& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline ImageData_Dimensions* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  ImageData_Dimensions* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const ImageData_Dimensions& from);
+  void MergeFrom(const ImageData_Dimensions& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(ImageData_Dimensions* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // optional int32 width = 1;
+  bool has_width() const;
+  void clear_width();
+  static const int kWidthFieldNumber = 1;
+  ::google::protobuf::int32 width() const;
+  void set_width(::google::protobuf::int32 value);
+
+  // optional int32 height = 2;
+  bool has_height() const;
+  void clear_height();
+  static const int kHeightFieldNumber = 2;
+  ::google::protobuf::int32 height() const;
+  void set_height(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.ImageData.Dimensions)
+ private:
+  void set_has_width();
+  void clear_has_width();
+  void set_has_height();
+  void clear_has_height();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::int32 width_;
+  ::google::protobuf::int32 height_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class ImageData : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.ImageData) */ {
+ public:
+  ImageData();
+  virtual ~ImageData();
+
+  ImageData(const ImageData& from);
+
+  inline ImageData& operator=(const ImageData& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  ImageData(ImageData&& from) noexcept
+    : ImageData() {
+    *this = ::std::move(from);
+  }
+
+  inline ImageData& operator=(ImageData&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const ImageData& default_instance();
+
+  static inline const ImageData* internal_default_instance() {
+    return reinterpret_cast<const ImageData*>(
+               &_ImageData_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    67;
+
+  void Swap(ImageData* other);
+  friend void swap(ImageData& a, ImageData& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline ImageData* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  ImageData* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const ImageData& from);
+  void MergeFrom(const ImageData& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(ImageData* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  typedef ImageData_Dimensions Dimensions;
+
+  // accessors -------------------------------------------------------
+
+  // optional bytes data = 1;
+  bool has_data() const;
+  void clear_data();
+  static const int kDataFieldNumber = 1;
+  const ::std::string& data() const;
+  void set_data(const ::std::string& value);
+  #if LANG_CXX11
+  void set_data(::std::string&& value);
+  #endif
+  void set_data(const char* value);
+  void set_data(const void* value, size_t size);
+  ::std::string* mutable_data();
+  ::std::string* release_data();
+  void set_allocated_data(::std::string* data);
+
+  // optional string mime_type = 2;
+  bool has_mime_type() const;
+  void clear_mime_type();
+  static const int kMimeTypeFieldNumber = 2;
+  const ::std::string& mime_type() const;
+  void set_mime_type(const ::std::string& value);
+  #if LANG_CXX11
+  void set_mime_type(::std::string&& value);
+  #endif
+  void set_mime_type(const char* value);
+  void set_mime_type(const char* value, size_t size);
+  ::std::string* mutable_mime_type();
+  ::std::string* release_mime_type();
+  void set_allocated_mime_type(::std::string* mime_type);
+
+  // optional .safe_browsing.ImageData.Dimensions dimensions = 3;
+  bool has_dimensions() const;
+  void clear_dimensions();
+  static const int kDimensionsFieldNumber = 3;
+  const ::safe_browsing::ImageData_Dimensions& dimensions() const;
+  ::safe_browsing::ImageData_Dimensions* mutable_dimensions();
+  ::safe_browsing::ImageData_Dimensions* release_dimensions();
+  void set_allocated_dimensions(::safe_browsing::ImageData_Dimensions* dimensions);
+
+  // optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
+  bool has_original_dimensions() const;
+  void clear_original_dimensions();
+  static const int kOriginalDimensionsFieldNumber = 4;
+  const ::safe_browsing::ImageData_Dimensions& original_dimensions() const;
+  ::safe_browsing::ImageData_Dimensions* mutable_original_dimensions();
+  ::safe_browsing::ImageData_Dimensions* release_original_dimensions();
+  void set_allocated_original_dimensions(::safe_browsing::ImageData_Dimensions* original_dimensions);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.ImageData)
+ private:
+  void set_has_data();
+  void clear_has_data();
+  void set_has_mime_type();
+  void clear_has_mime_type();
+  void set_has_dimensions();
+  void clear_has_dimensions();
+  void set_has_original_dimensions();
+  void clear_has_original_dimensions();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::internal::ArenaStringPtr data_;
+  ::google::protobuf::internal::ArenaStringPtr mime_type_;
+  ::safe_browsing::ImageData_Dimensions* dimensions_;
+  ::safe_browsing::ImageData_Dimensions* original_dimensions_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
+// -------------------------------------------------------------------
+
+class NotificationImageReportRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:safe_browsing.NotificationImageReportRequest) */ {
+ public:
+  NotificationImageReportRequest();
+  virtual ~NotificationImageReportRequest();
+
+  NotificationImageReportRequest(const NotificationImageReportRequest& from);
+
+  inline NotificationImageReportRequest& operator=(const NotificationImageReportRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  NotificationImageReportRequest(NotificationImageReportRequest&& from) noexcept
+    : NotificationImageReportRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline NotificationImageReportRequest& operator=(NotificationImageReportRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::std::string& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::std::string* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const NotificationImageReportRequest& default_instance();
+
+  static inline const NotificationImageReportRequest* internal_default_instance() {
+    return reinterpret_cast<const NotificationImageReportRequest*>(
+               &_NotificationImageReportRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    68;
+
+  void Swap(NotificationImageReportRequest* other);
+  friend void swap(NotificationImageReportRequest& a, NotificationImageReportRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline NotificationImageReportRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  NotificationImageReportRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
+    PROTOBUF_FINAL;
+  void CopyFrom(const NotificationImageReportRequest& from);
+  void MergeFrom(const NotificationImageReportRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  void DiscardUnknownFields();
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  void InternalSwap(NotificationImageReportRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::std::string GetTypeName() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // optional string notification_origin = 1;
+  bool has_notification_origin() const;
+  void clear_notification_origin();
+  static const int kNotificationOriginFieldNumber = 1;
+  const ::std::string& notification_origin() const;
+  void set_notification_origin(const ::std::string& value);
+  #if LANG_CXX11
+  void set_notification_origin(::std::string&& value);
+  #endif
+  void set_notification_origin(const char* value);
+  void set_notification_origin(const char* value, size_t size);
+  ::std::string* mutable_notification_origin();
+  ::std::string* release_notification_origin();
+  void set_allocated_notification_origin(::std::string* notification_origin);
+
+  // optional .safe_browsing.ImageData image = 2;
+  bool has_image() const;
+  void clear_image();
+  static const int kImageFieldNumber = 2;
+  const ::safe_browsing::ImageData& image() const;
+  ::safe_browsing::ImageData* mutable_image();
+  ::safe_browsing::ImageData* release_image();
+  void set_allocated_image(::safe_browsing::ImageData* image);
+
+  // @@protoc_insertion_point(class_scope:safe_browsing.NotificationImageReportRequest)
+ private:
+  void set_has_notification_origin();
+  void clear_has_notification_origin();
+  void set_has_image();
+  void clear_has_image();
+
+  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::google::protobuf::internal::ArenaStringPtr notification_origin_;
+  ::safe_browsing::ImageData* image_;
+  friend struct protobuf_csd_2eproto::TableStruct;
+};
 // ===================================================================
 
 
 // ===================================================================
 
 #if !PROTOBUF_INLINE_NOT_IN_HEADERS
 #ifdef __GNUC__
   #pragma GCC diagnostic push
@@ -10231,16 +11765,109 @@ inline ::safe_browsing::ChromeUserPopula
 }
 inline void ChromeUserPopulation::set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value) {
   assert(::safe_browsing::ChromeUserPopulation_UserPopulation_IsValid(value));
   set_has_user_population();
   user_population_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.user_population)
 }
 
+// optional bool is_history_sync_enabled = 2;
+inline bool ChromeUserPopulation::has_is_history_sync_enabled() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void ChromeUserPopulation::set_has_is_history_sync_enabled() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void ChromeUserPopulation::clear_has_is_history_sync_enabled() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void ChromeUserPopulation::clear_is_history_sync_enabled() {
+  is_history_sync_enabled_ = false;
+  clear_has_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 is_history_sync_enabled_;
+}
+inline void ChromeUserPopulation::set_is_history_sync_enabled(bool value) {
+  set_has_is_history_sync_enabled();
+  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::finch_active_groups_size() const {
+  return finch_active_groups_.size();
+}
+inline void ChromeUserPopulation::clear_finch_active_groups() {
+  finch_active_groups_.Clear();
+}
+inline const ::std::string& ChromeUserPopulation::finch_active_groups(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Get(index);
+}
+inline ::std::string* ChromeUserPopulation::mutable_finch_active_groups(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Mutable(index);
+}
+inline void ChromeUserPopulation::set_finch_active_groups(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  finch_active_groups_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+inline void ChromeUserPopulation::set_finch_active_groups(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  finch_active_groups_.Mutable(index)->assign(std::move(value));
+}
+#endif
+inline void ChromeUserPopulation::set_finch_active_groups(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  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) {
+  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::add_finch_active_groups() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_.Add();
+}
+inline void ChromeUserPopulation::add_finch_active_groups(const ::std::string& value) {
+  finch_active_groups_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+#if LANG_CXX11
+inline void ChromeUserPopulation::add_finch_active_groups(::std::string&& value) {
+  finch_active_groups_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
+}
+#endif
+inline void ChromeUserPopulation::add_finch_active_groups(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  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) {
+  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 ::google::protobuf::RepeatedPtrField< ::std::string>&
+ChromeUserPopulation::finch_active_groups() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return finch_active_groups_;
+}
+inline ::google::protobuf::RepeatedPtrField< ::std::string>*
+ChromeUserPopulation::mutable_finch_active_groups() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
+  return &finch_active_groups_;
+}
+
 // -------------------------------------------------------------------
 
 // ClientPhishingRequest_Feature
 
 // required string name = 1;
 inline bool ClientPhishingRequest_Feature::has_name() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
@@ -11371,16 +12998,917 @@ inline void ClientMalwareRequest::set_al
   } else {
     clear_has_population();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.population)
 }
 
 // -------------------------------------------------------------------
 
+// LoginReputationClientRequest_Frame_Form
+
+// optional string action_url = 1;
+inline bool LoginReputationClientRequest_Frame_Form::has_action_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void LoginReputationClientRequest_Frame_Form::set_has_action_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void LoginReputationClientRequest_Frame_Form::clear_has_action_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void LoginReputationClientRequest_Frame_Form::clear_action_url() {
+  action_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_action_url();
+}
+inline const ::std::string& LoginReputationClientRequest_Frame_Form::action_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  return action_url_.GetNoArena();
+}
+inline void LoginReputationClientRequest_Frame_Form::set_action_url(const ::std::string& value) {
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+#if LANG_CXX11
+inline void LoginReputationClientRequest_Frame_Form::set_action_url(::std::string&& value) {
+  set_has_action_url();
+  action_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+#endif
+inline void LoginReputationClientRequest_Frame_Form::set_action_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+inline void LoginReputationClientRequest_Frame_Form::set_action_url(const char* value, size_t size) {
+  set_has_action_url();
+  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+inline ::std::string* LoginReputationClientRequest_Frame_Form::mutable_action_url() {
+  set_has_action_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  return action_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* LoginReputationClientRequest_Frame_Form::release_action_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+  clear_has_action_url();
+  return action_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void LoginReputationClientRequest_Frame_Form::set_allocated_action_url(::std::string* action_url) {
+  if (action_url != NULL) {
+    set_has_action_url();
+  } else {
+    clear_has_action_url();
+  }
+  action_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), action_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
+}
+
+// optional bool has_password_field = 2;
+inline bool LoginReputationClientRequest_Frame_Form::has_has_password_field() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void LoginReputationClientRequest_Frame_Form::set_has_has_password_field() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void LoginReputationClientRequest_Frame_Form::clear_has_has_password_field() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void LoginReputationClientRequest_Frame_Form::clear_has_password_field() {
+  has_password_field_ = false;
+  clear_has_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 has_password_field_;
+}
+inline void LoginReputationClientRequest_Frame_Form::set_has_password_field(bool value) {
+  set_has_has_password_field();
+  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::has_frame_index() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void LoginReputationClientRequest_Frame::set_has_frame_index() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void LoginReputationClientRequest_Frame::clear_has_frame_index() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void LoginReputationClientRequest_Frame::clear_frame_index() {
+  frame_index_ = 0;
+  clear_has_frame_index();
+}
+inline ::google::protobuf::int32 LoginReputationClientRequest_Frame::frame_index() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
+  return frame_index_;
+}
+inline void LoginReputationClientRequest_Frame::set_frame_index(::google::protobuf::int32 value) {
+  set_has_frame_index();
+  frame_index_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
+}
+
+// optional int32 parent_frame_index = 2;
+inline bool LoginReputationClientRequest_Frame::has_parent_frame_index() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void LoginReputationClientRequest_Frame::set_has_parent_frame_index() {
+  _has_bits_[0] |= 0x00000004u;
+}
+inline void LoginReputationClientRequest_Frame::clear_has_parent_frame_index() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+inline void LoginReputationClientRequest_Frame::clear_parent_frame_index() {
+  parent_frame_index_ = 0;
+  clear_has_parent_frame_index();
+}
+inline ::google::protobuf::int32 LoginReputationClientRequest_Frame::parent_frame_index() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
+  return parent_frame_index_;
+}
+inline void LoginReputationClientRequest_Frame::set_parent_frame_index(::google::protobuf::int32 value) {
+  set_has_parent_frame_index();
+  parent_frame_index_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
+}
+
+// optional string url = 3;
+inline bool LoginReputationClientRequest_Frame::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void LoginReputationClientRequest_Frame::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void LoginReputationClientRequest_Frame::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void LoginReputationClientRequest_Frame::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+inline const ::std::string& LoginReputationClientRequest_Frame::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.url)
+  return url_.GetNoArena();
+}
+inline void LoginReputationClientRequest_Frame::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+#if LANG_CXX11
+inline void LoginReputationClientRequest_Frame::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+#endif
+inline void LoginReputationClientRequest_Frame::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+inline void LoginReputationClientRequest_Frame::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+inline ::std::string* LoginReputationClientRequest_Frame::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* LoginReputationClientRequest_Frame::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void LoginReputationClientRequest_Frame::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.url)
+}
+
+// optional bool has_password_field = 4;
+inline bool LoginReputationClientRequest_Frame::has_has_password_field() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void LoginReputationClientRequest_Frame::set_has_has_password_field() {
+  _has_bits_[0] |= 0x00000008u;
+}
+inline void LoginReputationClientRequest_Frame::clear_has_has_password_field() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+inline void LoginReputationClientRequest_Frame::clear_has_password_field() {
+  has_password_field_ = false;
+  clear_has_has_password_field();
+}
+inline bool LoginReputationClientRequest_Frame::has_password_field() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
+  return has_password_field_;
+}
+inline void LoginReputationClientRequest_Frame::set_has_password_field(bool value) {
+  set_has_has_password_field();
+  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::referrer_chain_size() const {
+  return referrer_chain_.size();
+}
+inline void LoginReputationClientRequest_Frame::clear_referrer_chain() {
+  referrer_chain_.Clear();
+}
+inline const ::safe_browsing::ReferrerChainEntry& LoginReputationClientRequest_Frame::referrer_chain(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Get(index);
+}
+inline ::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::mutable_referrer_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Mutable(index);
+}
+inline ::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::add_referrer_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_.Add();
+}
+inline ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
+LoginReputationClientRequest_Frame::mutable_referrer_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return &referrer_chain_;
+}
+inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
+LoginReputationClientRequest_Frame::referrer_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
+  return referrer_chain_;
+}
+
+// repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
+inline int LoginReputationClientRequest_Frame::forms_size() const {
+  return forms_.size();
+}
+inline void LoginReputationClientRequest_Frame::clear_forms() {
+  forms_.Clear();
+}
+inline const ::safe_browsing::LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame::forms(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Get(index);
+}
+inline ::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::mutable_forms(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Mutable(index);
+}
+inline ::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::add_forms() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_.Add();
+}
+inline ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >*
+LoginReputationClientRequest_Frame::mutable_forms() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return &forms_;
+}
+inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >&
+LoginReputationClientRequest_Frame::forms() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
+  return forms_;
+}
+
+// -------------------------------------------------------------------
+
+// LoginReputationClientRequest_PasswordReuseEvent
+
+// repeated string domains_matching_password = 1;
+inline int LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password_size() const {
+  return domains_matching_password_.size();
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::clear_domains_matching_password() {
+  domains_matching_password_.Clear();
+}
+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 domains_matching_password_.Get(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 domains_matching_password_.Mutable(index);
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  domains_matching_password_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  domains_matching_password_.Mutable(index)->assign(std::move(value));
+}
+#endif
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  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) {
+  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::add_domains_matching_password() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_.Add();
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const ::std::string& value) {
+  domains_matching_password_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+#if LANG_CXX11
+inline void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(::std::string&& value) {
+  domains_matching_password_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+}
+#endif
+inline void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  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) {
+  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 ::google::protobuf::RepeatedPtrField< ::std::string>&
+LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return domains_matching_password_;
+}
+inline ::google::protobuf::RepeatedPtrField< ::std::string>*
+LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
+  return &domains_matching_password_;
+}
+
+// optional int32 frame_id = 2;
+inline bool LoginReputationClientRequest_PasswordReuseEvent::has_frame_id() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_has_frame_id() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::clear_has_frame_id() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::clear_frame_id() {
+  frame_id_ = 0;
+  clear_has_frame_id();
+}
+inline ::google::protobuf::int32 LoginReputationClientRequest_PasswordReuseEvent::frame_id() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
+  return frame_id_;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_frame_id(::google::protobuf::int32 value) {
+  set_has_frame_id();
+  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::has_is_chrome_signin_password() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_has_is_chrome_signin_password() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::clear_has_is_chrome_signin_password() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::clear_is_chrome_signin_password() {
+  is_chrome_signin_password_ = false;
+  clear_has_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 is_chrome_signin_password_;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_is_chrome_signin_password(bool value) {
+  set_has_is_chrome_signin_password();
+  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::has_sync_account_type() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_has_sync_account_type() {
+  _has_bits_[0] |= 0x00000004u;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::clear_has_sync_account_type() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::clear_sync_account_type() {
+  sync_account_type_ = 0;
+  clear_has_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 static_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType >(sync_account_type_);
+}
+inline void LoginReputationClientRequest_PasswordReuseEvent::set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value) {
+  assert(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value));
+  set_has_sync_account_type();
+  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::has_page_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void LoginReputationClientRequest::set_has_page_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void LoginReputationClientRequest::clear_has_page_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void LoginReputationClientRequest::clear_page_url() {
+  page_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_page_url();
+}
+inline const ::std::string& LoginReputationClientRequest::page_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.page_url)
+  return page_url_.GetNoArena();
+}
+inline void LoginReputationClientRequest::set_page_url(const ::std::string& value) {
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.page_url)
+}
+#if LANG_CXX11
+inline void LoginReputationClientRequest::set_page_url(::std::string&& value) {
+  set_has_page_url();
+  page_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.page_url)
+}
+#endif
+inline void LoginReputationClientRequest::set_page_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.page_url)
+}
+inline void LoginReputationClientRequest::set_page_url(const char* value, size_t size) {
+  set_has_page_url();
+  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.page_url)
+}
+inline ::std::string* LoginReputationClientRequest::mutable_page_url() {
+  set_has_page_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.page_url)
+  return page_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* LoginReputationClientRequest::release_page_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.page_url)
+  clear_has_page_url();
+  return page_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void LoginReputationClientRequest::set_allocated_page_url(::std::string* page_url) {
+  if (page_url != NULL) {
+    set_has_page_url();
+  } else {
+    clear_has_page_url();
+  }
+  page_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), page_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.page_url)
+}
+
+// optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
+inline bool LoginReputationClientRequest::has_trigger_type() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void LoginReputationClientRequest::set_has_trigger_type() {
+  _has_bits_[0] |= 0x00000008u;
+}
+inline void LoginReputationClientRequest::clear_has_trigger_type() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+inline void LoginReputationClientRequest::clear_trigger_type() {
+  trigger_type_ = 0;
+  clear_has_trigger_type();
+}
+inline ::safe_browsing::LoginReputationClientRequest_TriggerType LoginReputationClientRequest::trigger_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.trigger_type)
+  return static_cast< ::safe_browsing::LoginReputationClientRequest_TriggerType >(trigger_type_);
+}
+inline void LoginReputationClientRequest::set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value) {
+  assert(::safe_browsing::LoginReputationClientRequest_TriggerType_IsValid(value));
+  set_has_trigger_type();
+  trigger_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.trigger_type)
+}
+
+// repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
+inline int LoginReputationClientRequest::frames_size() const {
+  return frames_.size();
+}
+inline void LoginReputationClientRequest::clear_frames() {
+  frames_.Clear();
+}
+inline const ::safe_browsing::LoginReputationClientRequest_Frame& LoginReputationClientRequest::frames(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Get(index);
+}
+inline ::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::mutable_frames(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Mutable(index);
+}
+inline ::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::add_frames() {
+  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_.Add();
+}
+inline ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >*
+LoginReputationClientRequest::mutable_frames() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.frames)
+  return &frames_;
+}
+inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >&
+LoginReputationClientRequest::frames() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.frames)
+  return frames_;
+}
+
+// optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
+inline bool LoginReputationClientRequest::has_password_reuse_event() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void LoginReputationClientRequest::set_has_password_reuse_event() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void LoginReputationClientRequest::clear_has_password_reuse_event() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void LoginReputationClientRequest::clear_password_reuse_event() {
+  if (password_reuse_event_ != NULL) password_reuse_event_->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::Clear();
+  clear_has_password_reuse_event();
+}
+inline const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest::password_reuse_event() const {
+  const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* p = password_reuse_event_;
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent*>(
+      &::safe_browsing::_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);
+}
+inline ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::mutable_password_reuse_event() {
+  set_has_password_reuse_event();
+  if (password_reuse_event_ == NULL) {
+    password_reuse_event_ = new ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  return password_reuse_event_;
+}
+inline ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::release_password_reuse_event() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+  clear_has_password_reuse_event();
+  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* temp = password_reuse_event_;
+  password_reuse_event_ = NULL;
+  return temp;
+}
+inline void LoginReputationClientRequest::set_allocated_password_reuse_event(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event) {
+  delete password_reuse_event_;
+  password_reuse_event_ = password_reuse_event;
+  if (password_reuse_event) {
+    set_has_password_reuse_event();
+  } else {
+    clear_has_password_reuse_event();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.password_reuse_event)
+}
+
+// optional int32 stored_verdict_cnt = 5;
+inline bool LoginReputationClientRequest::has_stored_verdict_cnt() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+inline void LoginReputationClientRequest::set_has_stored_verdict_cnt() {
+  _has_bits_[0] |= 0x00000010u;
+}
+inline void LoginReputationClientRequest::clear_has_stored_verdict_cnt() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+inline void LoginReputationClientRequest::clear_stored_verdict_cnt() {
+  stored_verdict_cnt_ = 0;
+  clear_has_stored_verdict_cnt();
+}
+inline ::google::protobuf::int32 LoginReputationClientRequest::stored_verdict_cnt() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
+  return stored_verdict_cnt_;
+}
+inline void LoginReputationClientRequest::set_stored_verdict_cnt(::google::protobuf::int32 value) {
+  set_has_stored_verdict_cnt();
+  stored_verdict_cnt_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
+}
+
+// optional .safe_browsing.ChromeUserPopulation population = 6;
+inline bool LoginReputationClientRequest::has_population() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void LoginReputationClientRequest::set_has_population() {
+  _has_bits_[0] |= 0x00000004u;
+}
+inline void LoginReputationClientRequest::clear_has_population() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+inline void LoginReputationClientRequest::clear_population() {
+  if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
+  clear_has_population();
+}
+inline const ::safe_browsing::ChromeUserPopulation& LoginReputationClientRequest::population() const {
+  const ::safe_browsing::ChromeUserPopulation* p = population_;
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.population)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ChromeUserPopulation*>(
+      &::safe_browsing::_ChromeUserPopulation_default_instance_);
+}
+inline ::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::mutable_population() {
+  set_has_population();
+  if (population_ == NULL) {
+    population_ = new ::safe_browsing::ChromeUserPopulation;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.population)
+  return population_;
+}
+inline ::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::release_population() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.population)
+  clear_has_population();
+  ::safe_browsing::ChromeUserPopulation* temp = population_;
+  population_ = NULL;
+  return temp;
+}
+inline void LoginReputationClientRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
+  delete population_;
+  population_ = population;
+  if (population) {
+    set_has_population();
+  } else {
+    clear_has_population();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.population)
+}
+
+// optional bool clicked_through_interstitial = 7;
+inline bool LoginReputationClientRequest::has_clicked_through_interstitial() const {
+  return (_has_bits_[0] & 0x00000020u) != 0;
+}
+inline void LoginReputationClientRequest::set_has_clicked_through_interstitial() {
+  _has_bits_[0] |= 0x00000020u;
+}
+inline void LoginReputationClientRequest::clear_has_clicked_through_interstitial() {
+  _has_bits_[0] &= ~0x00000020u;
+}
+inline void LoginReputationClientRequest::clear_clicked_through_interstitial() {
+  clicked_through_interstitial_ = false;
+  clear_has_clicked_through_interstitial();
+}
+inline bool LoginReputationClientRequest::clicked_through_interstitial() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
+  return clicked_through_interstitial_;
+}
+inline void LoginReputationClientRequest::set_clicked_through_interstitial(bool value) {
+  set_has_clicked_through_interstitial();
+  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::has_verdict_type() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void LoginReputationClientResponse::set_has_verdict_type() {
+  _has_bits_[0] |= 0x00000008u;
+}
+inline void LoginReputationClientResponse::clear_has_verdict_type() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+inline void LoginReputationClientResponse::clear_verdict_type() {
+  verdict_type_ = 0;
+  clear_has_verdict_type();
+}
+inline ::safe_browsing::LoginReputationClientResponse_VerdictType LoginReputationClientResponse::verdict_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_type)
+  return static_cast< ::safe_browsing::LoginReputationClientResponse_VerdictType >(verdict_type_);
+}
+inline void LoginReputationClientResponse::set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value) {
+  assert(::safe_browsing::LoginReputationClientResponse_VerdictType_IsValid(value));
+  set_has_verdict_type();
+  verdict_type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_type)
+}
+
+// optional int64 cache_duration_sec = 2;
+inline bool LoginReputationClientResponse::has_cache_duration_sec() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void LoginReputationClientResponse::set_has_cache_duration_sec() {
+  _has_bits_[0] |= 0x00000004u;
+}
+inline void LoginReputationClientResponse::clear_has_cache_duration_sec() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+inline void LoginReputationClientResponse::clear_cache_duration_sec() {
+  cache_duration_sec_ = GOOGLE_LONGLONG(0);
+  clear_has_cache_duration_sec();
+}
+inline ::google::protobuf::int64 LoginReputationClientResponse::cache_duration_sec() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
+  return cache_duration_sec_;
+}
+inline void LoginReputationClientResponse::set_cache_duration_sec(::google::protobuf::int64 value) {
+  set_has_cache_duration_sec();
+  cache_duration_sec_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
+}
+
+// optional string cache_expression = 3;
+inline bool LoginReputationClientResponse::has_cache_expression() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void LoginReputationClientResponse::set_has_cache_expression() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void LoginReputationClientResponse::clear_has_cache_expression() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void LoginReputationClientResponse::clear_cache_expression() {
+  cache_expression_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_cache_expression();
+}
+inline const ::std::string& LoginReputationClientResponse::cache_expression() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_expression)
+  return cache_expression_.GetNoArena();
+}
+inline void LoginReputationClientResponse::set_cache_expression(const ::std::string& value) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+#if LANG_CXX11
+inline void LoginReputationClientResponse::set_cache_expression(::std::string&& value) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+#endif
+inline void LoginReputationClientResponse::set_cache_expression(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+inline void LoginReputationClientResponse::set_cache_expression(const char* value, size_t size) {
+  set_has_cache_expression();
+  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+inline ::std::string* LoginReputationClientResponse::mutable_cache_expression() {
+  set_has_cache_expression();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.cache_expression)
+  return cache_expression_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* LoginReputationClientResponse::release_cache_expression() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.cache_expression)
+  clear_has_cache_expression();
+  return cache_expression_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void LoginReputationClientResponse::set_allocated_cache_expression(::std::string* cache_expression) {
+  if (cache_expression != NULL) {
+    set_has_cache_expression();
+  } else {
+    clear_has_cache_expression();
+  }
+  cache_expression_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), cache_expression);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.cache_expression)
+}
+
+// optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
+inline bool LoginReputationClientResponse::has_deprecated_cache_expression_exact_match() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+inline void LoginReputationClientResponse::set_has_deprecated_cache_expression_exact_match() {
+  _has_bits_[0] |= 0x00000010u;
+}
+inline void LoginReputationClientResponse::clear_has_deprecated_cache_expression_exact_match() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+inline void LoginReputationClientResponse::clear_deprecated_cache_expression_exact_match() {
+  deprecated_cache_expression_exact_match_ = false;
+  clear_has_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 deprecated_cache_expression_exact_match_;
+}
+inline void LoginReputationClientResponse::set_deprecated_cache_expression_exact_match(bool value) {
+  set_has_deprecated_cache_expression_exact_match();
+  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::has_verdict_token() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void LoginReputationClientResponse::set_has_verdict_token() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void LoginReputationClientResponse::clear_has_verdict_token() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void LoginReputationClientResponse::clear_verdict_token() {
+  verdict_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_verdict_token();
+}
+inline const ::std::string& LoginReputationClientResponse::verdict_token() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_token)
+  return verdict_token_.GetNoArena();
+}
+inline void LoginReputationClientResponse::set_verdict_token(const ::std::string& value) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+#if LANG_CXX11
+inline void LoginReputationClientResponse::set_verdict_token(::std::string&& value) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+#endif
+inline void LoginReputationClientResponse::set_verdict_token(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+inline void LoginReputationClientResponse::set_verdict_token(const void* value, size_t size) {
+  set_has_verdict_token();
+  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+inline ::std::string* LoginReputationClientResponse::mutable_verdict_token() {
+  set_has_verdict_token();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.verdict_token)
+  return verdict_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* LoginReputationClientResponse::release_verdict_token() {
+  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.verdict_token)
+  clear_has_verdict_token();
+  return verdict_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void LoginReputationClientResponse::set_allocated_verdict_token(::std::string* verdict_token) {
+  if (verdict_token != NULL) {
+    set_has_verdict_token();
+  } else {
+    clear_has_verdict_token();
+  }
+  verdict_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), verdict_token);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.verdict_token)
+}
+
+// -------------------------------------------------------------------
+
 // ClientMalwareResponse
 
 // required bool blacklist = 1;
 inline bool ClientMalwareResponse::has_blacklist() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void ClientMalwareResponse::set_has_blacklist() {
   _has_bits_[0] |= 0x00000004u;
@@ -13394,369 +15922,16 @@ inline void ClientDownloadRequest_Archiv
   } else {
     clear_has_image_headers();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
 }
 
 // -------------------------------------------------------------------
 
-// ClientDownloadRequest_URLChainEntry
-
-// optional string url = 1;
-inline bool ClientDownloadRequest_URLChainEntry::has_url() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_has_url() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_has_url() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_url() {
-  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_url();
-}
-inline const ::std::string& ClientDownloadRequest_URLChainEntry::url() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  return url_.GetNoArena();
-}
-inline void ClientDownloadRequest_URLChainEntry::set_url(const ::std::string& value) {
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-#if LANG_CXX11
-inline void ClientDownloadRequest_URLChainEntry::set_url(::std::string&& value) {
-  set_has_url();
-  url_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-#endif
-inline void ClientDownloadRequest_URLChainEntry::set_url(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-inline void ClientDownloadRequest_URLChainEntry::set_url(const char* value, size_t size) {
-  set_has_url();
-  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-inline ::std::string* ClientDownloadRequest_URLChainEntry::mutable_url() {
-  set_has_url();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientDownloadRequest_URLChainEntry::release_url() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-  clear_has_url();
-  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientDownloadRequest_URLChainEntry::set_allocated_url(::std::string* url) {
-  if (url != NULL) {
-    set_has_url();
-  } else {
-    clear_has_url();
-  }
-  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.url)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.URLChainEntry.URLType type = 2;
-inline bool ClientDownloadRequest_URLChainEntry::has_type() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_has_type() {
-  _has_bits_[0] |= 0x00000080u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_has_type() {
-  _has_bits_[0] &= ~0x00000080u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_type() {
-  type_ = 1;
-  clear_has_type();
-}
-inline ::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType ClientDownloadRequest_URLChainEntry::type() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.type)
-  return static_cast< ::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType >(type_);
-}
-inline void ClientDownloadRequest_URLChainEntry::set_type(::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType value) {
-  assert(::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType_IsValid(value));
-  set_has_type();
-  type_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.type)
-}
-
-// optional string ip_address = 3;
-inline bool ClientDownloadRequest_URLChainEntry::has_ip_address() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_has_ip_address() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_has_ip_address() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_ip_address() {
-  ip_address_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_ip_address();
-}
-inline const ::std::string& ClientDownloadRequest_URLChainEntry::ip_address() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  return ip_address_.GetNoArena();
-}
-inline void ClientDownloadRequest_URLChainEntry::set_ip_address(const ::std::string& value) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-#if LANG_CXX11
-inline void ClientDownloadRequest_URLChainEntry::set_ip_address(::std::string&& value) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-#endif
-inline void ClientDownloadRequest_URLChainEntry::set_ip_address(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-inline void ClientDownloadRequest_URLChainEntry::set_ip_address(const char* value, size_t size) {
-  set_has_ip_address();
-  ip_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-inline ::std::string* ClientDownloadRequest_URLChainEntry::mutable_ip_address() {
-  set_has_ip_address();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  return ip_address_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientDownloadRequest_URLChainEntry::release_ip_address() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-  clear_has_ip_address();
-  return ip_address_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientDownloadRequest_URLChainEntry::set_allocated_ip_address(::std::string* ip_address) {
-  if (ip_address != NULL) {
-    set_has_ip_address();
-  } else {
-    clear_has_ip_address();
-  }
-  ip_address_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ip_address);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.ip_address)
-}
-
-// optional string referrer = 4;
-inline bool ClientDownloadRequest_URLChainEntry::has_referrer() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_has_referrer() {
-  _has_bits_[0] |= 0x00000004u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_has_referrer() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_referrer() {
-  referrer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_referrer();
-}
-inline const ::std::string& ClientDownloadRequest_URLChainEntry::referrer() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  return referrer_.GetNoArena();
-}
-inline void ClientDownloadRequest_URLChainEntry::set_referrer(const ::std::string& value) {
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-#if LANG_CXX11
-inline void ClientDownloadRequest_URLChainEntry::set_referrer(::std::string&& value) {
-  set_has_referrer();
-  referrer_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-#endif
-inline void ClientDownloadRequest_URLChainEntry::set_referrer(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-inline void ClientDownloadRequest_URLChainEntry::set_referrer(const char* value, size_t size) {
-  set_has_referrer();
-  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-inline ::std::string* ClientDownloadRequest_URLChainEntry::mutable_referrer() {
-  set_has_referrer();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  return referrer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientDownloadRequest_URLChainEntry::release_referrer() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-  clear_has_referrer();
-  return referrer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientDownloadRequest_URLChainEntry::set_allocated_referrer(::std::string* referrer) {
-  if (referrer != NULL) {
-    set_has_referrer();
-  } else {
-    clear_has_referrer();
-  }
-  referrer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.referrer)
-}
-
-// optional string main_frame_referrer = 5;
-inline bool ClientDownloadRequest_URLChainEntry::has_main_frame_referrer() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_has_main_frame_referrer() {
-  _has_bits_[0] |= 0x00000008u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_has_main_frame_referrer() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_main_frame_referrer() {
-  main_frame_referrer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_main_frame_referrer();
-}
-inline const ::std::string& ClientDownloadRequest_URLChainEntry::main_frame_referrer() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  return main_frame_referrer_.GetNoArena();
-}
-inline void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const ::std::string& value) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-#if LANG_CXX11
-inline void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(::std::string&& value) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-#endif
-inline void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-inline void ClientDownloadRequest_URLChainEntry::set_main_frame_referrer(const char* value, size_t size) {
-  set_has_main_frame_referrer();
-  main_frame_referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-inline ::std::string* ClientDownloadRequest_URLChainEntry::mutable_main_frame_referrer() {
-  set_has_main_frame_referrer();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  return main_frame_referrer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientDownloadRequest_URLChainEntry::release_main_frame_referrer() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-  clear_has_main_frame_referrer();
-  return main_frame_referrer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientDownloadRequest_URLChainEntry::set_allocated_main_frame_referrer(::std::string* main_frame_referrer) {
-  if (main_frame_referrer != NULL) {
-    set_has_main_frame_referrer();
-  } else {
-    clear_has_main_frame_referrer();
-  }
-  main_frame_referrer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), main_frame_referrer);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.URLChainEntry.main_frame_referrer)
-}
-
-// optional bool is_retargeting = 6;
-inline bool ClientDownloadRequest_URLChainEntry::has_is_retargeting() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_has_is_retargeting() {
-  _has_bits_[0] |= 0x00000020u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_has_is_retargeting() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_is_retargeting() {
-  is_retargeting_ = false;
-  clear_has_is_retargeting();
-}
-inline bool ClientDownloadRequest_URLChainEntry::is_retargeting() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.is_retargeting)
-  return is_retargeting_;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_is_retargeting(bool value) {
-  set_has_is_retargeting();
-  is_retargeting_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.is_retargeting)
-}
-
-// optional bool is_user_initiated = 7;
-inline bool ClientDownloadRequest_URLChainEntry::has_is_user_initiated() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_has_is_user_initiated() {
-  _has_bits_[0] |= 0x00000040u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_has_is_user_initiated() {
-  _has_bits_[0] &= ~0x00000040u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_is_user_initiated() {
-  is_user_initiated_ = false;
-  clear_has_is_user_initiated();
-}
-inline bool ClientDownloadRequest_URLChainEntry::is_user_initiated() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.is_user_initiated)
-  return is_user_initiated_;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_is_user_initiated(bool value) {
-  set_has_is_user_initiated();
-  is_user_initiated_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.is_user_initiated)
-}
-
-// optional double timestamp_in_millisec = 8;
-inline bool ClientDownloadRequest_URLChainEntry::has_timestamp_in_millisec() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_has_timestamp_in_millisec() {
-  _has_bits_[0] |= 0x00000010u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_has_timestamp_in_millisec() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-inline void ClientDownloadRequest_URLChainEntry::clear_timestamp_in_millisec() {
-  timestamp_in_millisec_ = 0;
-  clear_has_timestamp_in_millisec();
-}
-inline double ClientDownloadRequest_URLChainEntry::timestamp_in_millisec() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.URLChainEntry.timestamp_in_millisec)
-  return timestamp_in_millisec_;
-}
-inline void ClientDownloadRequest_URLChainEntry::set_timestamp_in_millisec(double value) {
-  set_has_timestamp_in_millisec();
-  timestamp_in_millisec_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.URLChainEntry.timestamp_in_millisec)
-}
-
-// -------------------------------------------------------------------
-
 // ClientDownloadRequest
 
 // required string url = 1;
 inline bool ClientDownloadRequest::has_url() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
 inline void ClientDownloadRequest::set_has_url() {
   _has_bits_[0] |= 0x00000001u;
@@ -13814,23 +15989,23 @@ inline void ClientDownloadRequest::set_a
     clear_has_url();
   }
   url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.url)
 }
 
 // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
 inline bool ClientDownloadRequest::has_digests() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
+  return (_has_bits_[0] & 0x00000010u) != 0;
 }
 inline void ClientDownloadRequest::set_has_digests() {
-  _has_bits_[0] |= 0x00000008u;
+  _has_bits_[0] |= 0x00000010u;
 }
 inline void ClientDownloadRequest::clear_has_digests() {
-  _has_bits_[0] &= ~0x00000008u;
+  _has_bits_[0] &= ~0x00000010u;
 }
 inline void ClientDownloadRequest::clear_digests() {
   if (digests_ != NULL) digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
   clear_has_digests();
 }
 inline const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest::digests() const {
   const ::safe_browsing::ClientDownloadRequest_Digests* p = digests_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.digests)
@@ -13860,23 +16035,23 @@ inline void ClientDownloadRequest::set_a
   } else {
     clear_has_digests();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.digests)
 }
 
 // required int64 length = 3;
 inline bool ClientDownloadRequest::has_length() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
+  return (_has_bits_[0] & 0x00000100u) != 0;
 }
 inline void ClientDownloadRequest::set_has_length() {
-  _has_bits_[0] |= 0x00000080u;
+  _has_bits_[0] |= 0x00000100u;
 }
 inline void ClientDownloadRequest::clear_has_length() {
-  _has_bits_[0] &= ~0x00000080u;
+  _has_bits_[0] &= ~0x00000100u;
 }
 inline void ClientDownloadRequest::clear_length() {
   length_ = GOOGLE_LONGLONG(0);
   clear_has_length();
 }
 inline ::google::protobuf::int64 ClientDownloadRequest::length() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.length)
   return length_;
@@ -13914,23 +16089,23 @@ ClientDownloadRequest::mutable_resources
 inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >&
 ClientDownloadRequest::resources() const {
   // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.resources)
   return resources_;
 }
 
 // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
 inline bool ClientDownloadRequest::has_signature() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
+  return (_has_bits_[0] & 0x00000020u) != 0;
 }
 inline void ClientDownloadRequest::set_has_signature() {
-  _has_bits_[0] |= 0x00000010u;
+  _has_bits_[0] |= 0x00000020u;
 }
 inline void ClientDownloadRequest::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000010u;
+  _has_bits_[0] &= ~0x00000020u;
 }
 inline void ClientDownloadRequest::clear_signature() {
   if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
   clear_has_signature();
 }
 inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest::signature() const {
   const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.signature)
@@ -13960,23 +16135,23 @@ inline void ClientDownloadRequest::set_a
   } else {
     clear_has_signature();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.signature)
 }
 
 // optional bool user_initiated = 6;
 inline bool ClientDownloadRequest::has_user_initiated() const {
-  return (_has_bits_[0] & 0x00000200u) != 0;
+  return (_has_bits_[0] & 0x00000800u) != 0;
 }
 inline void ClientDownloadRequest::set_has_user_initiated() {
-  _has_bits_[0] |= 0x00000200u;
+  _has_bits_[0] |= 0x00000800u;
 }
 inline void ClientDownloadRequest::clear_has_user_initiated() {
-  _has_bits_[0] &= ~0x00000200u;
+  _has_bits_[0] &= ~0x00000800u;
 }
 inline void ClientDownloadRequest::clear_user_initiated() {
   user_initiated_ = false;
   clear_has_user_initiated();
 }
 inline bool ClientDownloadRequest::user_initiated() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.user_initiated)
   return user_initiated_;
@@ -14047,23 +16222,23 @@ inline void ClientDownloadRequest::set_a
     clear_has_file_basename();
   }
   file_basename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_basename);
   // @@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::has_download_type() const {
-  return (_has_bits_[0] & 0x00000100u) != 0;
+  return (_has_bits_[0] & 0x00000400u) != 0;
 }
 inline void ClientDownloadRequest::set_has_download_type() {
-  _has_bits_[0] |= 0x00000100u;
+  _has_bits_[0] |= 0x00000400u;
 }
 inline void ClientDownloadRequest::clear_has_download_type() {
-  _has_bits_[0] &= ~0x00000100u;
+  _has_bits_[0] &= ~0x00000400u;
 }
 inline void ClientDownloadRequest::clear_download_type() {
   download_type_ = 0;
   clear_has_download_type();
 }
 inline ::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest::download_type() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.download_type)
   return static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(download_type_);
@@ -14135,23 +16310,23 @@ inline void ClientDownloadRequest::set_a
     clear_has_locale();
   }
   locale_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), locale);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.locale)
 }
 
 // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
 inline bool ClientDownloadRequest::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
+  return (_has_bits_[0] & 0x00000040u) != 0;
 }
 inline void ClientDownloadRequest::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000020u;
+  _has_bits_[0] |= 0x00000040u;
 }
 inline void ClientDownloadRequest::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000020u;
+  _has_bits_[0] &= ~0x00000040u;
 }
 inline void ClientDownloadRequest::clear_image_headers() {
   if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
   clear_has_image_headers();
 }
 inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest::image_headers() const {
   const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.image_headers)
@@ -14211,23 +16386,23 @@ ClientDownloadRequest::mutable_archived_
 inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >&
 ClientDownloadRequest::archived_binary() const {
   // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.archived_binary)
   return archived_binary_;
 }
 
 // optional .safe_browsing.ChromeUserPopulation population = 24;
 inline bool ClientDownloadRequest::has_population() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
+  return (_has_bits_[0] & 0x00000080u) != 0;
 }
 inline void ClientDownloadRequest::set_has_population() {
-  _has_bits_[0] |= 0x00000040u;
+  _has_bits_[0] |= 0x00000080u;
 }
 inline void ClientDownloadRequest::clear_has_population() {
-  _has_bits_[0] &= ~0x00000040u;
+  _has_bits_[0] &= ~0x00000080u;
 }
 inline void ClientDownloadRequest::clear_population() {
   if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
   clear_has_population();
 }
 inline const ::safe_browsing::ChromeUserPopulation& ClientDownloadRequest::population() const {
   const ::safe_browsing::ChromeUserPopulation* p = population_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.population)
@@ -14257,23 +16432,23 @@ inline void ClientDownloadRequest::set_a
   } else {
     clear_has_population();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.population)
 }
 
 // optional bool archive_valid = 26;
 inline bool ClientDownloadRequest::has_archive_valid() const {
-  return (_has_bits_[0] & 0x00000400u) != 0;
+  return (_has_bits_[0] & 0x00001000u) != 0;
 }
 inline void ClientDownloadRequest::set_has_archive_valid() {
-  _has_bits_[0] |= 0x00000400u;
+  _has_bits_[0] |= 0x00001000u;
 }
 inline void ClientDownloadRequest::clear_has_archive_valid() {
-  _has_bits_[0] &= ~0x00000400u;
+  _has_bits_[0] &= ~0x00001000u;
 }
 inline void ClientDownloadRequest::clear_archive_valid() {
   archive_valid_ = false;
   clear_has_archive_valid();
 }
 inline bool ClientDownloadRequest::archive_valid() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.archive_valid)
   return archive_valid_;
@@ -14281,23 +16456,23 @@ inline bool ClientDownloadRequest::archi
 inline void ClientDownloadRequest::set_archive_valid(bool value) {
   set_has_archive_valid();
   archive_valid_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.archive_valid)
 }
 
 // optional bool skipped_url_whitelist = 28;
 inline bool ClientDownloadRequest::has_skipped_url_whitelist() const {
-  return (_has_bits_[0] & 0x00000800u) != 0;
+  return (_has_bits_[0] & 0x00002000u) != 0;
 }
 inline void ClientDownloadRequest::set_has_skipped_url_whitelist() {
-  _has_bits_[0] |= 0x00000800u;
+  _has_bits_[0] |= 0x00002000u;
 }
 inline void ClientDownloadRequest::clear_has_skipped_url_whitelist() {
-  _has_bits_[0] &= ~0x00000800u;
+  _has_bits_[0] &= ~0x00002000u;
 }
 inline void ClientDownloadRequest::clear_skipped_url_whitelist() {
   skipped_url_whitelist_ = false;
   clear_has_skipped_url_whitelist();
 }
 inline bool ClientDownloadRequest::skipped_url_whitelist() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
   return skipped_url_whitelist_;
@@ -14305,23 +16480,23 @@ inline bool ClientDownloadRequest::skipp
 inline void ClientDownloadRequest::set_skipped_url_whitelist(bool value) {
   set_has_skipped_url_whitelist();
   skipped_url_whitelist_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
 }
 
 // optional bool skipped_certificate_whitelist = 31;
 inline bool ClientDownloadRequest::has_skipped_certificate_whitelist() const {
-  return (_has_bits_[0] & 0x00001000u) != 0;
+  return (_has_bits_[0] & 0x00004000u) != 0;
 }
 inline void ClientDownloadRequest::set_has_skipped_certificate_whitelist() {
-  _has_bits_[0] |= 0x00001000u;
+  _has_bits_[0] |= 0x00004000u;
 }
 inline void ClientDownloadRequest::clear_has_skipped_certificate_whitelist() {
-  _has_bits_[0] &= ~0x00001000u;
+  _has_bits_[0] &= ~0x00004000u;
 }
 inline void ClientDownloadRequest::clear_skipped_certificate_whitelist() {
   skipped_certificate_whitelist_ = false;
   clear_has_skipped_certificate_whitelist();
 }
 inline bool ClientDownloadRequest::skipped_certificate_whitelist() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_certificate_whitelist)
   return skipped_certificate_whitelist_;
@@ -14396,44 +16571,626 @@ ClientDownloadRequest::alternate_extensi
   return alternate_extensions_;
 }
 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
 ClientDownloadRequest::mutable_alternate_extensions() {
   // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.alternate_extensions)
   return &alternate_extensions_;
 }
 
-// repeated .safe_browsing.ClientDownloadRequest.URLChainEntry url_chain = 36;
-inline int ClientDownloadRequest::url_chain_size() const {
-  return url_chain_.size();
-}
-inline void ClientDownloadRequest::clear_url_chain() {
-  url_chain_.Clear();
-}
-inline const ::safe_browsing::ClientDownloadRequest_URLChainEntry& ClientDownloadRequest::url_chain(int index) const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Get(index);
-}
-inline ::safe_browsing::ClientDownloadRequest_URLChainEntry* ClientDownloadRequest::mutable_url_chain(int index) {
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Mutable(index);
-}
-inline ::safe_browsing::ClientDownloadRequest_URLChainEntry* ClientDownloadRequest::add_url_chain() {
-  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_.Add();
-}
-inline ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry >*
-ClientDownloadRequest::mutable_url_chain() {
-  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.url_chain)
-  return &url_chain_;
-}
-inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_URLChainEntry >&
-ClientDownloadRequest::url_chain() const {
-  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.url_chain)
-  return url_chain_;
+// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
+inline int ClientDownloadRequest::referrer_chain_size() const {
+  return referrer_chain_.size();
+}
+inline void ClientDownloadRequest::clear_referrer_chain() {
+  referrer_chain_.Clear();
+}
+inline const ::safe_browsing::ReferrerChainEntry& ClientDownloadRequest::referrer_chain(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Get(index);
+}
+inline ::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::mutable_referrer_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Mutable(index);
+}
+inline ::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::add_referrer_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_.Add();
+}
+inline ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
+ClientDownloadRequest::mutable_referrer_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return &referrer_chain_;
+}
+inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
+ClientDownloadRequest::referrer_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.referrer_chain)
+  return referrer_chain_;
+}
+
+// optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
+inline bool ClientDownloadRequest::has_deprecated_download_attribution_finch_enabled() const {
+  return (_has_bits_[0] & 0x00000200u) != 0;
+}
+inline void ClientDownloadRequest::set_has_deprecated_download_attribution_finch_enabled() {
+  _has_bits_[0] |= 0x00000200u;
+}
+inline void ClientDownloadRequest::clear_has_deprecated_download_attribution_finch_enabled() {
+  _has_bits_[0] &= ~0x00000200u;
+}
+inline void ClientDownloadRequest::clear_deprecated_download_attribution_finch_enabled() {
+  deprecated_download_attribution_finch_enabled_ = false;
+  clear_has_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 deprecated_download_attribution_finch_enabled_;
+}
+inline void ClientDownloadRequest::set_deprecated_download_attribution_finch_enabled(bool value) {
+  set_has_deprecated_download_attribution_finch_enabled();
+  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::has_udif_code_signature() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void ClientDownloadRequest::set_has_udif_code_signature() {
+  _has_bits_[0] |= 0x00000008u;
+}
+inline void ClientDownloadRequest::clear_has_udif_code_signature() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+inline void ClientDownloadRequest::clear_udif_code_signature() {
+  udif_code_signature_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_udif_code_signature();
+}
+inline const ::std::string& ClientDownloadRequest::udif_code_signature() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  return udif_code_signature_.GetNoArena();
+}
+inline void ClientDownloadRequest::set_udif_code_signature(const ::std::string& value) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+#if LANG_CXX11
+inline void ClientDownloadRequest::set_udif_code_signature(::std::string&& value) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+#endif
+inline void ClientDownloadRequest::set_udif_code_signature(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+inline void ClientDownloadRequest::set_udif_code_signature(const void* value, size_t size) {
+  set_has_udif_code_signature();
+  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+inline ::std::string* ClientDownloadRequest::mutable_udif_code_signature() {
+  set_has_udif_code_signature();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  return udif_code_signature_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ClientDownloadRequest::release_udif_code_signature() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.udif_code_signature)
+  clear_has_udif_code_signature();
+  return udif_code_signature_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ClientDownloadRequest::set_allocated_udif_code_signature(::std::string* udif_code_signature) {
+  if (udif_code_signature != NULL) {
+    set_has_udif_code_signature();
+  } else {
+    clear_has_udif_code_signature();
+  }
+  udif_code_signature_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), udif_code_signature);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.udif_code_signature)
+}
+
+// -------------------------------------------------------------------
+
+// ReferrerChainEntry_ServerRedirect
+
+// optional string url = 1;
+inline bool ReferrerChainEntry_ServerRedirect::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ReferrerChainEntry_ServerRedirect::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void ReferrerChainEntry_ServerRedirect::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void ReferrerChainEntry_ServerRedirect::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+inline const ::std::string& ReferrerChainEntry_ServerRedirect::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  return url_.GetNoArena();
+}
+inline void ReferrerChainEntry_ServerRedirect::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+#if LANG_CXX11
+inline void ReferrerChainEntry_ServerRedirect::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+#endif
+inline void ReferrerChainEntry_ServerRedirect::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+inline void ReferrerChainEntry_ServerRedirect::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+inline ::std::string* ReferrerChainEntry_ServerRedirect::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ReferrerChainEntry_ServerRedirect::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ReferrerChainEntry_ServerRedirect::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
+}
+
+// -------------------------------------------------------------------
+
+// ReferrerChainEntry
+
+// optional string url = 1;
+inline bool ReferrerChainEntry::has_url() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ReferrerChainEntry::set_has_url() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void ReferrerChainEntry::clear_has_url() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void ReferrerChainEntry::clear_url() {
+  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_url();
+}
+inline const ::std::string& ReferrerChainEntry::url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.url)
+  return url_.GetNoArena();
+}
+inline void ReferrerChainEntry::set_url(const ::std::string& value) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.url)
+}
+#if LANG_CXX11
+inline void ReferrerChainEntry::set_url(::std::string&& value) {
+  set_has_url();
+  url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.url)
+}
+#endif
+inline void ReferrerChainEntry::set_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.url)
+}
+inline void ReferrerChainEntry::set_url(const char* value, size_t size) {
+  set_has_url();
+  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.url)
+}
+inline ::std::string* ReferrerChainEntry::mutable_url() {
+  set_has_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.url)
+  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ReferrerChainEntry::release_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.url)
+  clear_has_url();
+  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ReferrerChainEntry::set_allocated_url(::std::string* url) {
+  if (url != NULL) {
+    set_has_url();
+  } else {
+    clear_has_url();
+  }
+  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.url)
+}
+
+// optional string main_frame_url = 9;
+inline bool ReferrerChainEntry::has_main_frame_url() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void ReferrerChainEntry::set_has_main_frame_url() {
+  _has_bits_[0] |= 0x00000008u;
+}
+inline void ReferrerChainEntry::clear_has_main_frame_url() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+inline void ReferrerChainEntry::clear_main_frame_url() {
+  main_frame_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_main_frame_url();
+}
+inline const ::std::string& ReferrerChainEntry::main_frame_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.main_frame_url)
+  return main_frame_url_.GetNoArena();
+}
+inline void ReferrerChainEntry::set_main_frame_url(const ::std::string& value) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+#if LANG_CXX11
+inline void ReferrerChainEntry::set_main_frame_url(::std::string&& value) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+#endif
+inline void ReferrerChainEntry::set_main_frame_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+inline void ReferrerChainEntry::set_main_frame_url(const char* value, size_t size) {
+  set_has_main_frame_url();
+  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.main_frame_url)
+}
+inline ::std::string* ReferrerChainEntry::mutable_main_frame_url() {
+  set_has_main_frame_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.main_frame_url)
+  return main_frame_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ReferrerChainEntry::release_main_frame_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.main_frame_url)
+  clear_has_main_frame_url();
+  return main_frame_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ReferrerChainEntry::set_allocated_main_frame_url(::std::string* main_frame_url) {
+  if (main_frame_url != NULL) {
+    set_has_main_frame_url();
+  } else {
+    clear_has_main_frame_url();
+  }
+  main_frame_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), main_frame_url);
+  // @@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::has_type() const {
+  return (_has_bits_[0] & 0x00000040u) != 0;
+}
+inline void ReferrerChainEntry::set_has_type() {
+  _has_bits_[0] |= 0x00000040u;
+}
+inline void ReferrerChainEntry::clear_has_type() {
+  _has_bits_[0] &= ~0x00000040u;
+}
+inline void ReferrerChainEntry::clear_type() {
+  type_ = 4;
+  clear_has_type();
+}
+inline ::safe_browsing::ReferrerChainEntry_URLType ReferrerChainEntry::type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.type)
+  return static_cast< ::safe_browsing::ReferrerChainEntry_URLType >(type_);
+}
+inline void ReferrerChainEntry::set_type(::safe_browsing::ReferrerChainEntry_URLType value) {
+  assert(::safe_browsing::ReferrerChainEntry_URLType_IsValid(value));
+  set_has_type();
+  type_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.type)
+}
+
+// repeated string ip_addresses = 3;
+inline int ReferrerChainEntry::ip_addresses_size() const {
+  return ip_addresses_.size();
+}
+inline void ReferrerChainEntry::clear_ip_addresses() {
+  ip_addresses_.Clear();
+}
+inline const ::std::string& ReferrerChainEntry::ip_addresses(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Get(index);
+}
+inline ::std::string* ReferrerChainEntry::mutable_ip_addresses(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Mutable(index);
+}
+inline void ReferrerChainEntry::set_ip_addresses(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
+  ip_addresses_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+inline void ReferrerChainEntry::set_ip_addresses(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
+  ip_addresses_.Mutable(index)->assign(std::move(value));
+}
+#endif
+inline void ReferrerChainEntry::set_ip_addresses(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  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) {
+  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::add_ip_addresses() {
+  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_.Add();
+}
+inline void ReferrerChainEntry::add_ip_addresses(const ::std::string& value) {
+  ip_addresses_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+#if LANG_CXX11
+inline void ReferrerChainEntry::add_ip_addresses(::std::string&& value) {
+  ip_addresses_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+#endif
+inline void ReferrerChainEntry::add_ip_addresses(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  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) {
+  ip_addresses_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
+}
+inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
+ReferrerChainEntry::ip_addresses() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return ip_addresses_;
+}
+inline ::google::protobuf::RepeatedPtrField< ::std::string>*
+ReferrerChainEntry::mutable_ip_addresses() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.ip_addresses)
+  return &ip_addresses_;
+}
+
+// optional string referrer_url = 4;
+inline bool ReferrerChainEntry::has_referrer_url() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void ReferrerChainEntry::set_has_referrer_url() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void ReferrerChainEntry::clear_has_referrer_url() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void ReferrerChainEntry::clear_referrer_url() {
+  referrer_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_referrer_url();
+}
+inline const ::std::string& ReferrerChainEntry::referrer_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_url)
+  return referrer_url_.GetNoArena();
+}
+inline void ReferrerChainEntry::set_referrer_url(const ::std::string& value) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+#if LANG_CXX11
+inline void ReferrerChainEntry::set_referrer_url(::std::string&& value) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+#endif
+inline void ReferrerChainEntry::set_referrer_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+inline void ReferrerChainEntry::set_referrer_url(const char* value, size_t size) {
+  set_has_referrer_url();
+  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+inline ::std::string* ReferrerChainEntry::mutable_referrer_url() {
+  set_has_referrer_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_url)
+  return referrer_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ReferrerChainEntry::release_referrer_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_url)
+  clear_has_referrer_url();
+  return referrer_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ReferrerChainEntry::set_allocated_referrer_url(::std::string* referrer_url) {
+  if (referrer_url != NULL) {
+    set_has_referrer_url();
+  } else {
+    clear_has_referrer_url();
+  }
+  referrer_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_url)
+}
+
+// optional string referrer_main_frame_url = 5;
+inline bool ReferrerChainEntry::has_referrer_main_frame_url() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void ReferrerChainEntry::set_has_referrer_main_frame_url() {
+  _has_bits_[0] |= 0x00000004u;
+}
+inline void ReferrerChainEntry::clear_has_referrer_main_frame_url() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+inline void ReferrerChainEntry::clear_referrer_main_frame_url() {
+  referrer_main_frame_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_referrer_main_frame_url();
+}
+inline const ::std::string& ReferrerChainEntry::referrer_main_frame_url() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  return referrer_main_frame_url_.GetNoArena();
+}
+inline void ReferrerChainEntry::set_referrer_main_frame_url(const ::std::string& value) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+#if LANG_CXX11
+inline void ReferrerChainEntry::set_referrer_main_frame_url(::std::string&& value) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+#endif
+inline void ReferrerChainEntry::set_referrer_main_frame_url(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+inline void ReferrerChainEntry::set_referrer_main_frame_url(const char* value, size_t size) {
+  set_has_referrer_main_frame_url();
+  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+inline ::std::string* ReferrerChainEntry::mutable_referrer_main_frame_url() {
+  set_has_referrer_main_frame_url();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  return referrer_main_frame_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ReferrerChainEntry::release_referrer_main_frame_url() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+  clear_has_referrer_main_frame_url();
+  return referrer_main_frame_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ReferrerChainEntry::set_allocated_referrer_main_frame_url(::std::string* referrer_main_frame_url) {
+  if (referrer_main_frame_url != NULL) {
+    set_has_referrer_main_frame_url();
+  } else {
+    clear_has_referrer_main_frame_url();
+  }
+  referrer_main_frame_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_main_frame_url);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
+}
+
+// optional bool is_retargeting = 6;
+inline bool ReferrerChainEntry::has_is_retargeting() const {
+  return (_has_bits_[0] & 0x00000020u) != 0;
+}
+inline void ReferrerChainEntry::set_has_is_retargeting() {
+  _has_bits_[0] |= 0x00000020u;
+}
+inline void ReferrerChainEntry::clear_has_is_retargeting() {
+  _has_bits_[0] &= ~0x00000020u;
+}
+inline void ReferrerChainEntry::clear_is_retargeting() {
+  is_retargeting_ = false;
+  clear_has_is_retargeting();
+}
+inline bool ReferrerChainEntry::is_retargeting() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.is_retargeting)
+  return is_retargeting_;
+}
+inline void ReferrerChainEntry::set_is_retargeting(bool value) {
+  set_has_is_retargeting();
+  is_retargeting_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.is_retargeting)
+}
+
+// optional double navigation_time_msec = 7;
+inline bool ReferrerChainEntry::has_navigation_time_msec() const {
+  return (_has_bits_[0] & 0x00000010u) != 0;
+}
+inline void ReferrerChainEntry::set_has_navigation_time_msec() {
+  _has_bits_[0] |= 0x00000010u;
+}
+inline void ReferrerChainEntry::clear_has_navigation_time_msec() {
+  _has_bits_[0] &= ~0x00000010u;
+}
+inline void ReferrerChainEntry::clear_navigation_time_msec() {
+  navigation_time_msec_ = 0;
+  clear_has_navigation_time_msec();
+}
+inline double ReferrerChainEntry::navigation_time_msec() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.navigation_time_msec)
+  return navigation_time_msec_;
+}
+inline void ReferrerChainEntry::set_navigation_time_msec(double value) {
+  set_has_navigation_time_msec();
+  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::server_redirect_chain_size() const {
+  return server_redirect_chain_.size();
+}
+inline void ReferrerChainEntry::clear_server_redirect_chain() {
+  server_redirect_chain_.Clear();
+}
+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 server_redirect_chain_.Get(index);
+}
+inline ::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::mutable_server_redirect_chain(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_.Mutable(index);
+}
+inline ::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::add_server_redirect_chain() {
+  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_.Add();
+}
+inline ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >*
+ReferrerChainEntry::mutable_server_redirect_chain() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return &server_redirect_chain_;
+}
+inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >&
+ReferrerChainEntry::server_redirect_chain() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
+  return server_redirect_chain_;
 }
 
 // -------------------------------------------------------------------
 
 // ClientDownloadResponse_MoreInfo
 
 // optional string description = 1;
 inline bool ClientDownloadResponse_MoreInfo::has_description() const {
@@ -14694,16 +17451,40 @@ inline void ClientDownloadResponse::set_
     set_has_token();
   } else {
     clear_has_token();
   }
   token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.token)
 }
 
+// optional bool upload = 5;
+inline bool ClientDownloadResponse::has_upload() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void ClientDownloadResponse::set_has_upload() {
+  _has_bits_[0] |= 0x00000008u;
+}
+inline void ClientDownloadResponse::clear_has_upload() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+inline void ClientDownloadResponse::clear_upload() {
+  upload_ = false;
+  clear_has_upload();
+}
+inline bool ClientDownloadResponse::upload() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.upload)
+  return upload_;
+}
+inline void ClientDownloadResponse::set_upload(bool value) {
+  set_has_upload();
+  upload_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.upload)
+}
+
 // -------------------------------------------------------------------
 
 // ClientDownloadReport_UserInformation
 
 // optional string email = 1;
 inline bool ClientDownloadReport_UserInformation::has_email() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
@@ -15681,375 +18462,16 @@ ClientIncidentReport_IncidentData_Binary
 inline const ::google::protobuf::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 contained_file_;
 }
 
 // -------------------------------------------------------------------
 
-// ClientIncidentReport_IncidentData_BlacklistLoadIncident
-
-// optional string path = 1;
-inline bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_path() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_path() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_path() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_path() {
-  path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_path();
-}
-inline const ::std::string& ClientIncidentReport_IncidentData_BlacklistLoadIncident::path() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  return path_.GetNoArena();
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const ::std::string& value) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-#if LANG_CXX11
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(::std::string&& value) {
-  set_has_path();
-  path_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-#endif
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_path(const char* value, size_t size) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-inline ::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_path() {
-  set_has_path();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_path() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-  clear_has_path();
-  return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_path(::std::string* path) {
-  if (path != NULL) {
-    set_has_path();
-  } else {
-    clear_has_path();
-  }
-  path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.path)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-inline bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_digest() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_digest() {
-  _has_bits_[0] |= 0x00000004u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_digest() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_digest() {
-  if (digest_ != NULL) digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-  clear_has_digest();
-}
-inline const ::safe_browsing::ClientDownloadRequest_Digests& ClientIncidentReport_IncidentData_BlacklistLoadIncident::digest() const {
-  const ::safe_browsing::ClientDownloadRequest_Digests* p = digest_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests*>(
-      &::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
-}
-inline ::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_digest() {
-  set_has_digest();
-  if (digest_ == NULL) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  return digest_;
-}
-inline ::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_digest() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-  clear_has_digest();
-  ::safe_browsing::ClientDownloadRequest_Digests* temp = digest_;
-  digest_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_digest(::safe_browsing::ClientDownloadRequest_Digests* digest) {
-  delete digest_;
-  digest_ = digest;
-  if (digest) {
-    set_has_digest();
-  } else {
-    clear_has_digest();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.digest)
-}
-
-// optional string version = 3;
-inline bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_version() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_version() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_version() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_version() {
-  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_version();
-}
-inline const ::std::string& ClientIncidentReport_IncidentData_BlacklistLoadIncident::version() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  return version_.GetNoArena();
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const ::std::string& value) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-#if LANG_CXX11
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(::std::string&& value) {
-  set_has_version();
-  version_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-#endif
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_version(const char* value, size_t size) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-inline ::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_version() {
-  set_has_version();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_version() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-  clear_has_version();
-  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_version(::std::string* version) {
-  if (version != NULL) {
-    set_has_version();
-  } else {
-    clear_has_version();
-  }
-  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.version)
-}
-
-// optional bool blacklist_initialized = 4;
-inline bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_blacklist_initialized() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_blacklist_initialized() {
-  _has_bits_[0] |= 0x00000020u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_blacklist_initialized() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_blacklist_initialized() {
-  blacklist_initialized_ = false;
-  clear_has_blacklist_initialized();
-}
-inline bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::blacklist_initialized() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.blacklist_initialized)
-  return blacklist_initialized_;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_blacklist_initialized(bool value) {
-  set_has_blacklist_initialized();
-  blacklist_initialized_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.blacklist_initialized)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
-inline bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_signature() {
-  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-  clear_has_signature();
-}
-inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BlacklistLoadIncident::signature() const {
-  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
-}
-inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_signature() {
-  set_has_signature();
-  if (signature_ == NULL) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  return signature_;
-}
-inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-  clear_has_signature();
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
-  signature_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
-  delete signature_;
-  signature_ = signature;
-  if (signature) {
-    set_has_signature();
-  } else {
-    clear_has_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.signature)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
-inline bool ClientIncidentReport_IncidentData_BlacklistLoadIncident::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000010u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::clear_image_headers() {
-  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-  clear_has_image_headers();
-}
-inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BlacklistLoadIncident::image_headers() const {
-  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
-}
-inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BlacklistLoadIncident::mutable_image_headers() {
-  set_has_image_headers();
-  if (image_headers_ == NULL) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  return image_headers_;
-}
-inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BlacklistLoadIncident::release_image_headers() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-  clear_has_image_headers();
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
-  image_headers_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData_BlacklistLoadIncident::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
-  delete image_headers_;
-  image_headers_ = image_headers;
-  if (image_headers) {
-    set_has_image_headers();
-  } else {
-    clear_has_image_headers();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident.image_headers)
-}
-
-// -------------------------------------------------------------------
-
-// ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident
-
-// optional string variations_seed_signature = 1;
-inline bool ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::has_variations_seed_signature() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_has_variations_seed_signature() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::clear_has_variations_seed_signature() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::clear_variations_seed_signature() {
-  variations_seed_signature_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_variations_seed_signature();
-}
-inline const ::std::string& ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::variations_seed_signature() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  return variations_seed_signature_.GetNoArena();
-}
-inline void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const ::std::string& value) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-#if LANG_CXX11
-inline void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(::std::string&& value) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-#endif
-inline void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-inline void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_variations_seed_signature(const char* value, size_t size) {
-  set_has_variations_seed_signature();
-  variations_seed_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-inline ::std::string* ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::mutable_variations_seed_signature() {
-  set_has_variations_seed_signature();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  return variations_seed_signature_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::release_variations_seed_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-  clear_has_variations_seed_signature();
-  return variations_seed_signature_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::set_allocated_variations_seed_signature(::std::string* variations_seed_signature) {
-  if (variations_seed_signature != NULL) {
-    set_has_variations_seed_signature();
-  } else {
-    clear_has_variations_seed_signature();
-  }
-  variations_seed_signature_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), variations_seed_signature);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident.variations_seed_signature)
-}
-
-// -------------------------------------------------------------------
-
 // ClientIncidentReport_IncidentData_ResourceRequestIncident
 
 // optional bytes digest = 1;
 inline bool ClientIncidentReport_IncidentData_ResourceRequestIncident::has_digest() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
 inline void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_has_digest() {
   _has_bits_[0] |= 0x00000001u;
@@ -16195,295 +18617,27 @@ inline void ClientIncidentReport_Inciden
   assert(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(value));
   set_has_type();
   type_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.type)
 }
 
 // -------------------------------------------------------------------
 
-// ClientIncidentReport_IncidentData_SuspiciousModuleIncident
-
-// optional string path = 1;
-inline bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_path() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_path() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_path() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_path() {
-  path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_path();
-}
-inline const ::std::string& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::path() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  return path_.GetNoArena();
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const ::std::string& value) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-#if LANG_CXX11
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(::std::string&& value) {
-  set_has_path();
-  path_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-#endif
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_path(const char* value, size_t size) {
-  set_has_path();
-  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-inline ::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_path() {
-  set_has_path();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_path() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-  clear_has_path();
-  return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_path(::std::string* path) {
-  if (path != NULL) {
-    set_has_path();
-  } else {
-    clear_has_path();
-  }
-  path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.path)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.Digests digest = 2;
-inline bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_digest() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_digest() {
-  _has_bits_[0] |= 0x00000004u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_digest() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_digest() {
-  if (digest_ != NULL) digest_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
-  clear_has_digest();
-}
-inline const ::safe_browsing::ClientDownloadRequest_Digests& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::digest() const {
-  const ::safe_browsing::ClientDownloadRequest_Digests* p = digest_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests*>(
-      &::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
-}
-inline ::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_digest() {
-  set_has_digest();
-  if (digest_ == NULL) {
-    digest_ = new ::safe_browsing::ClientDownloadRequest_Digests;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  return digest_;
-}
-inline ::safe_browsing::ClientDownloadRequest_Digests* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_digest() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-  clear_has_digest();
-  ::safe_browsing::ClientDownloadRequest_Digests* temp = digest_;
-  digest_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_digest(::safe_browsing::ClientDownloadRequest_Digests* digest) {
-  delete digest_;
-  digest_ = digest;
-  if (digest) {
-    set_has_digest();
-  } else {
-    clear_has_digest();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.digest)
-}
-
-// optional string version = 3;
-inline bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_version() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_version() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_version() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_version() {
-  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_version();
-}
-inline const ::std::string& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::version() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  return version_.GetNoArena();
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const ::std::string& value) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-#if LANG_CXX11
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(::std::string&& value) {
-  set_has_version();
-  version_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-#endif
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_version(const char* value, size_t size) {
-  set_has_version();
-  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-inline ::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_version() {
-  set_has_version();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_version() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-  clear_has_version();
-  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_version(::std::string* version) {
-  if (version != NULL) {
-    set_has_version();
-  } else {
-    clear_has_version();
-  }
-  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.version)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 4;
-inline bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_signature() {
-  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
-  clear_has_signature();
-}
-inline const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::signature() const {
-  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
-      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
-}
-inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_signature() {
-  set_has_signature();
-  if (signature_ == NULL) {
-    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  return signature_;
-}
-inline ::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-  clear_has_signature();
-  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
-  signature_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
-  delete signature_;
-  signature_ = signature;
-  if (signature) {
-    set_has_signature();
-  } else {
-    clear_has_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.signature)
-}
-
-// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
-inline bool ClientIncidentReport_IncidentData_SuspiciousModuleIncident::has_image_headers() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_has_image_headers() {
-  _has_bits_[0] |= 0x00000010u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_has_image_headers() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::clear_image_headers() {
-  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
-  clear_has_image_headers();
-}
-inline const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_SuspiciousModuleIncident::image_headers() const {
-  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
-      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
-}
-inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::mutable_image_headers() {
-  set_has_image_headers();
-  if (image_headers_ == NULL) {
-    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  return image_headers_;
-}
-inline ::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_SuspiciousModuleIncident::release_image_headers() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-  clear_has_image_headers();
-  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
-  image_headers_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData_SuspiciousModuleIncident::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
-  delete image_headers_;
-  image_headers_ = image_headers;
-  if (image_headers) {
-    set_has_image_headers();
-  } else {
-    clear_has_image_headers();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident.image_headers)
-}
-
-// -------------------------------------------------------------------
-
 // ClientIncidentReport_IncidentData
 
 // optional int64 incident_time_msec = 1;
 inline bool ClientIncidentReport_IncidentData::has_incident_time_msec() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
+  return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void ClientIncidentReport_IncidentData::set_has_incident_time_msec() {
-  _has_bits_[0] |= 0x00000040u;
+  _has_bits_[0] |= 0x00000008u;
 }
 inline void ClientIncidentReport_IncidentData::clear_has_incident_time_msec() {
-  _has_bits_[0] &= ~0x00000040u;
+  _has_bits_[0] &= ~0x00000008u;
 }
 inline void ClientIncidentReport_IncidentData::clear_incident_time_msec() {
   incident_time_msec_ = GOOGLE_LONGLONG(0);
   clear_has_incident_time_msec();
 }
 inline ::google::protobuf::int64 ClientIncidentReport_IncidentData::incident_time_msec() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.incident_time_msec)
   return incident_time_msec_;
@@ -16581,117 +18735,25 @@ inline void ClientIncidentReport_Inciden
   if (binary_integrity) {
     set_has_binary_integrity();
   } else {
     clear_has_binary_integrity();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
 }
 
-// optional .safe_browsing.ClientIncidentReport.IncidentData.BlacklistLoadIncident blacklist_load = 4;
-inline bool ClientIncidentReport_IncidentData::has_blacklist_load() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-inline void ClientIncidentReport_IncidentData::set_has_blacklist_load() {
-  _has_bits_[0] |= 0x00000004u;
-}
-inline void ClientIncidentReport_IncidentData::clear_has_blacklist_load() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline void ClientIncidentReport_IncidentData::clear_blacklist_load() {
-  if (blacklist_load_ != NULL) blacklist_load_->::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident::Clear();
-  clear_has_blacklist_load();
-}
-inline const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident& ClientIncidentReport_IncidentData::blacklist_load() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* p = blacklist_load_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_BlacklistLoadIncident_default_instance_);
-}
-inline ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* ClientIncidentReport_IncidentData::mutable_blacklist_load() {
-  set_has_blacklist_load();
-  if (blacklist_load_ == NULL) {
-    blacklist_load_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  return blacklist_load_;
-}
-inline ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* ClientIncidentReport_IncidentData::release_blacklist_load() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-  clear_has_blacklist_load();
-  ::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* temp = blacklist_load_;
-  blacklist_load_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData::set_allocated_blacklist_load(::safe_browsing::ClientIncidentReport_IncidentData_BlacklistLoadIncident* blacklist_load) {
-  delete blacklist_load_;
-  blacklist_load_ = blacklist_load;
-  if (blacklist_load) {
-    set_has_blacklist_load();
-  } else {
-    clear_has_blacklist_load();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.blacklist_load)
-}
-
-// optional .safe_browsing.ClientIncidentReport.IncidentData.VariationsSeedSignatureIncident variations_seed_signature = 6;
-inline bool ClientIncidentReport_IncidentData::has_variations_seed_signature() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-inline void ClientIncidentReport_IncidentData::set_has_variations_seed_signature() {
-  _has_bits_[0] |= 0x00000008u;
-}
-inline void ClientIncidentReport_IncidentData::clear_has_variations_seed_signature() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline void ClientIncidentReport_IncidentData::clear_variations_seed_signature() {
-  if (variations_seed_signature_ != NULL) variations_seed_signature_->::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident::Clear();
-  clear_has_variations_seed_signature();
-}
-inline const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident& ClientIncidentReport_IncidentData::variations_seed_signature() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* p = variations_seed_signature_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident_default_instance_);
-}
-inline ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* ClientIncidentReport_IncidentData::mutable_variations_seed_signature() {
-  set_has_variations_seed_signature();
-  if (variations_seed_signature_ == NULL) {
-    variations_seed_signature_ = new ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  return variations_seed_signature_;
-}
-inline ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* ClientIncidentReport_IncidentData::release_variations_seed_signature() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-  clear_has_variations_seed_signature();
-  ::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* temp = variations_seed_signature_;
-  variations_seed_signature_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData::set_allocated_variations_seed_signature(::safe_browsing::ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident* variations_seed_signature) {
-  delete variations_seed_signature_;
-  variations_seed_signature_ = variations_seed_signature;
-  if (variations_seed_signature) {
-    set_has_variations_seed_signature();
-  } else {
-    clear_has_variations_seed_signature();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.variations_seed_signature)
-}
-
 // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
 inline bool ClientIncidentReport_IncidentData::has_resource_request() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
+  return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void ClientIncidentReport_IncidentData::set_has_resource_request() {
-  _has_bits_[0] |= 0x00000010u;
+  _has_bits_[0] |= 0x00000004u;
 }
 inline void ClientIncidentReport_IncidentData::clear_has_resource_request() {
-  _has_bits_[0] &= ~0x00000010u;
+  _has_bits_[0] &= ~0x00000004u;
 }
 inline void ClientIncidentReport_IncidentData::clear_resource_request() {
   if (resource_request_ != NULL) resource_request_->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::Clear();
   clear_has_resource_request();
 }
 inline const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& ClientIncidentReport_IncidentData::resource_request() const {
   const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* p = resource_request_;
   // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
@@ -16719,62 +18781,16 @@ inline void ClientIncidentReport_Inciden
   if (resource_request) {
     set_has_resource_request();
   } else {
     clear_has_resource_request();
   }
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
 }
 
-// optional .safe_browsing.ClientIncidentReport.IncidentData.SuspiciousModuleIncident suspicious_module = 8;
-inline bool ClientIncidentReport_IncidentData::has_suspicious_module() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-inline void ClientIncidentReport_IncidentData::set_has_suspicious_module() {
-  _has_bits_[0] |= 0x00000020u;
-}
-inline void ClientIncidentReport_IncidentData::clear_has_suspicious_module() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-inline void ClientIncidentReport_IncidentData::clear_suspicious_module() {
-  if (suspicious_module_ != NULL) suspicious_module_->::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident::Clear();
-  clear_has_suspicious_module();
-}
-inline const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident& ClientIncidentReport_IncidentData::suspicious_module() const {
-  const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* p = suspicious_module_;
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident*>(
-      &::safe_browsing::_ClientIncidentReport_IncidentData_SuspiciousModuleIncident_default_instance_);
-}
-inline ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* ClientIncidentReport_IncidentData::mutable_suspicious_module() {
-  set_has_suspicious_module();
-  if (suspicious_module_ == NULL) {
-    suspicious_module_ = new ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident;
-  }
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  return suspicious_module_;
-}
-inline ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* ClientIncidentReport_IncidentData::release_suspicious_module() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-  clear_has_suspicious_module();
-  ::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* temp = suspicious_module_;
-  suspicious_module_ = NULL;
-  return temp;
-}
-inline void ClientIncidentReport_IncidentData::set_allocated_suspicious_module(::safe_browsing::ClientIncidentReport_IncidentData_SuspiciousModuleIncident* suspicious_module) {
-  delete suspicious_module_;
-  suspicious_module_ = suspicious_module;
-  if (suspicious_module) {
-    set_has_suspicious_module();
-  } else {
-    clear_has_suspicious_module();
-  }
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.suspicious_module)
-}
-
 // -------------------------------------------------------------------
 
 // ClientIncidentReport_DownloadDetails
 
 // optional bytes token = 1;
 inline bool ClientIncidentReport_DownloadDetails::has_token() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
@@ -18510,38 +20526,38 @@ inline bool ClientIncidentReport_Environ
   return metrics_consent_;
 }
 inline void ClientIncidentReport_EnvironmentData_Process::set_metrics_consent(bool value) {
   set_has_metrics_consent();
   metrics_consent_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.metrics_consent)
 }
 
-// optional bool extended_consent = 8;
-inline bool ClientIncidentReport_EnvironmentData_Process::has_extended_consent() const {
+// optional bool OBSOLETE_extended_consent = 8;
+inline bool ClientIncidentReport_EnvironmentData_Process::has_obsolete_extended_consent() const {
   return (_has_bits_[0] & 0x00000010u) != 0;
 }
-inline void ClientIncidentReport_EnvironmentData_Process::set_has_extended_consent() {
+inline void ClientIncidentReport_EnvironmentData_Process::set_has_obsolete_extended_consent() {
   _has_bits_[0] |= 0x00000010u;
 }
-inline void ClientIncidentReport_EnvironmentData_Process::clear_has_extended_consent() {
+inline void ClientIncidentReport_EnvironmentData_Process::clear_has_obsolete_extended_consent() {
   _has_bits_[0] &= ~0x00000010u;
 }
-inline void ClientIncidentReport_EnvironmentData_Process::clear_extended_consent() {
-  extended_consent_ = false;
-  clear_has_extended_consent();
-}
-inline bool ClientIncidentReport_EnvironmentData_Process::extended_consent() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.extended_consent)
-  return extended_consent_;
-}
-inline void ClientIncidentReport_EnvironmentData_Process::set_extended_consent(bool value) {
-  set_has_extended_consent();
-  extended_consent_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.extended_consent)
+inline void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_extended_consent() {
+  obsolete_extended_consent_ = false;
+  clear_has_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 obsolete_extended_consent_;
+}
+inline void ClientIncidentReport_EnvironmentData_Process::set_obsolete_extended_consent(bool value) {
+  set_has_obsolete_extended_consent();
+  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::dll_size() const {
   return dll_.size();
 }
 inline void ClientIncidentReport_EnvironmentData_Process::clear_dll() {
   dll_.Clear();
@@ -18663,38 +20679,38 @@ ClientIncidentReport_EnvironmentData_Pro
   return &module_state_;
 }
 inline const ::google::protobuf::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 module_state_;
 }
 
-// optional bool field_trial_participant = 12;
-inline bool ClientIncidentReport_EnvironmentData_Process::has_field_trial_participant() const {
+// optional bool OBSOLETE_field_trial_participant = 12;
+inline bool ClientIncidentReport_EnvironmentData_Process::has_obsolete_field_trial_participant() const {
   return (_has_bits_[0] & 0x00000020u) != 0;
 }
-inline void ClientIncidentReport_EnvironmentData_Process::set_has_field_trial_participant() {
+inline void ClientIncidentReport_EnvironmentData_Process::set_has_obsolete_field_trial_participant() {
   _has_bits_[0] |= 0x00000020u;
 }
-inline void ClientIncidentReport_EnvironmentData_Process::clear_has_field_trial_participant() {
+inline void ClientIncidentReport_EnvironmentData_Process::clear_has_obsolete_field_trial_participant() {
   _has_bits_[0] &= ~0x00000020u;
 }
-inline void ClientIncidentReport_EnvironmentData_Process::clear_field_trial_participant() {
-  field_trial_participant_ = false;
-  clear_has_field_trial_participant();
-}
-inline bool ClientIncidentReport_EnvironmentData_Process::field_trial_participant() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.field_trial_participant)
-  return field_trial_participant_;
-}
-inline void ClientIncidentReport_EnvironmentData_Process::set_field_trial_participant(bool value) {
-  set_has_field_trial_participant();
-  field_trial_participant_ = value;
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.field_trial_participant)
+inline void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_field_trial_participant() {
+  obsolete_field_trial_participant_ = false;
+  clear_has_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 obsolete_field_trial_participant_;
+}
+inline void ClientIncidentReport_EnvironmentData_Process::set_obsolete_field_trial_participant(bool value) {
+  set_has_obsolete_field_trial_participant();
+  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::has_os() const {
@@ -20859,77 +22875,77 @@ inline ::google::protobuf::int32 ClientS
   return code_;
 }
 inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_code(::google::protobuf::int32 value) {
   set_has_code();
   code_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.code)
 }
 
-// optional bytes reason = 2;
-inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_reason() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_reason() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_has_reason() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_reason() {
-  reason_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_reason();
-}
-inline const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::reason() const {
-  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-  return reason_.GetNoArena();
-}
-inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_reason(const ::std::string& value) {
-  set_has_reason();
-  reason_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-}
-#if LANG_CXX11
-inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_reason(::std::string&& value) {
-  set_has_reason();
-  reason_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-}
-#endif
-inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_reason(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_reason();
-  reason_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-}
-inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_reason(const void* value, size_t size) {
-  set_has_reason();
-  reason_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-}
-inline ::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::mutable_reason() {
-  set_has_reason();
-  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-  return reason_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::release_reason() {
-  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
-  clear_has_reason();
-  return reason_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_allocated_reason(::std::string* reason) {
-  if (reason != NULL) {
-    set_has_reason();
-  } else {
-    clear_has_reason();
-  }
-  reason_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), reason);
-  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.reason)
+// optional bytes message = 2;
+inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_message() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_message() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_has_message() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_message() {
+  message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_message();
+}
+inline const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::message() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+  return message_.GetNoArena();
+}
+inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const ::std::string& value) {
+  set_has_message();
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+}
+#if LANG_CXX11
+inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(::std::string&& value) {
+  set_has_message();
+  message_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+}
+#endif
+inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_message();
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+}
+inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const void* value, size_t size) {
+  set_has_message();
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+}
+inline ::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::mutable_message() {
+  set_has_message();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+  return message_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::release_message() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
+  clear_has_message();
+  return message_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_allocated_message(::std::string* message) {
+  if (message != NULL) {
+    set_has_message();
+  } else {
+    clear_has_message();
+  }
+  message_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), message);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
 }
 
 // optional bytes version = 3;
 inline bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_version() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_version() {
   _has_bits_[0] |= 0x00000002u;
@@ -21580,27 +23596,167 @@ inline void ClientSafeBrowsingReportRequ
     clear_has_tag_name();
   }
   tag_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag_name);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
 }
 
 // -------------------------------------------------------------------
 
+// ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties
+
+// optional string client_version = 1;
+inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_client_version() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_client_version() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_client_version() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_client_version() {
+  client_version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_client_version();
+}
+inline const ::std::string& ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::client_version() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+  return client_version_.GetNoArena();
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const ::std::string& value) {
+  set_has_client_version();
+  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+#if LANG_CXX11
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(::std::string&& value) {
+  set_has_client_version();
+  client_version_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+#endif
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_client_version();
+  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const char* value, size_t size) {
+  set_has_client_version();
+  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+inline ::std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::mutable_client_version() {
+  set_has_client_version();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+  return client_version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::release_client_version() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+  clear_has_client_version();
+  return client_version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_allocated_client_version(::std::string* client_version) {
+  if (client_version != NULL) {
+    set_has_client_version();
+  } else {
+    clear_has_client_version();
+  }
+  client_version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), client_version);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
+}
+
+// optional int64 google_play_services_version = 2;
+inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_google_play_services_version() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_google_play_services_version() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_google_play_services_version() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_google_play_services_version() {
+  google_play_services_version_ = GOOGLE_LONGLONG(0);
+  clear_has_google_play_services_version();
+}
+inline ::google::protobuf::int64 ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::google_play_services_version() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.google_play_services_version)
+  return google_play_services_version_;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_google_play_services_version(::google::protobuf::int64 value) {
+  set_has_google_play_services_version();
+  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::has_is_instant_apps() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_is_instant_apps() {
+  _has_bits_[0] |= 0x00000004u;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_is_instant_apps() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_is_instant_apps() {
+  is_instant_apps_ = false;
+  clear_has_is_instant_apps();
+}
+inline bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::is_instant_apps() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.is_instant_apps)
+  return is_instant_apps_;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_is_instant_apps(bool value) {
+  set_has_is_instant_apps();
+  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::has_url_api_type() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_url_api_type() {
+  _has_bits_[0] |= 0x00000008u;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_url_api_type() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_url_api_type() {
+  url_api_type_ = 0;
+  clear_has_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 static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType >(url_api_type_);
+}
+inline void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_url_api_type(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value) {
+  assert(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(value));
+  set_has_url_api_type();
+  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::has_type() const {
-  return (_has_bits_[0] & 0x00000100u) != 0;
+  return (_has_bits_[0] & 0x00000040u) != 0;
 }
 inline void ClientSafeBrowsingReportRequest::set_has_type() {
-  _has_bits_[0] |= 0x00000100u;
+  _has_bits_[0] |= 0x00000040u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_has_type() {
-  _has_bits_[0] &= ~0x00000100u;
+  _has_bits_[0] &= ~0x00000040u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_type() {
   type_ = 0;
   clear_has_type();
 }
 inline ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::type() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.type)
   return static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType >(type_);
@@ -21609,23 +23765,23 @@ inline void ClientSafeBrowsingReportRequ
   assert(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType_IsValid(value));
   set_has_type();
   type_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.type)
 }
 
 // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
 inline bool ClientSafeBrowsingReportRequest::has_download_verdict() const {
-  return (_has_bits_[0] & 0x00000200u) != 0;
+  return (_has_bits_[0] & 0x00000800u) != 0;
 }
 inline void ClientSafeBrowsingReportRequest::set_has_download_verdict() {
-  _has_bits_[0] |= 0x00000200u;
+  _has_bits_[0] |= 0x00000800u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_has_download_verdict() {
-  _has_bits_[0] &= ~0x00000200u;
+  _has_bits_[0] &= ~0x00000800u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_download_verdict() {
   download_verdict_ = 0;
   clear_has_download_verdict();
 }
 inline ::safe_browsing::ClientDownloadResponse_Verdict ClientSafeBrowsingReportRequest::download_verdict() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.download_verdict)
   return static_cast< ::safe_browsing::ClientDownloadResponse_Verdict >(download_verdict_);
@@ -21851,25 +24007,55 @@ ClientSafeBrowsingReportRequest::mutable
   return &resources_;
 }
 inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource >&
 ClientSafeBrowsingReportRequest::resources() const {
   // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.resources)
   return resources_;
 }
 
+// repeated .safe_browsing.HTMLElement dom = 16;
+inline int ClientSafeBrowsingReportRequest::dom_size() const {
+  return dom_.size();
+}
+inline void ClientSafeBrowsingReportRequest::clear_dom() {
+  dom_.Clear();
+}
+inline const ::safe_browsing::HTMLElement& ClientSafeBrowsingReportRequest::dom(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return dom_.Get(index);
+}
+inline ::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::mutable_dom(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return dom_.Mutable(index);
+}
+inline ::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::add_dom() {
+  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return dom_.Add();
+}
+inline ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement >*
+ClientSafeBrowsingReportRequest::mutable_dom() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return &dom_;
+}
+inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement >&
+ClientSafeBrowsingReportRequest::dom() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.dom)
+  return dom_;
+}
+
 // optional bool complete = 5;
 inline bool ClientSafeBrowsingReportRequest::has_complete() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
+  return (_has_bits_[0] & 0x00000080u) != 0;
 }
 inline void ClientSafeBrowsingReportRequest::set_has_complete() {
-  _has_bits_[0] |= 0x00000020u;
+  _has_bits_[0] |= 0x00000080u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_has_complete() {
-  _has_bits_[0] &= ~0x00000020u;
+  _has_bits_[0] &= ~0x00000080u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_complete() {
   complete_ = false;
   clear_has_complete();
 }
 inline bool ClientSafeBrowsingReportRequest::complete() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.complete)
   return complete_;
@@ -22009,23 +24195,23 @@ inline void ClientSafeBrowsingReportRequ
     clear_has_client_country();
   }
   client_country_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), client_country);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
 }
 
 // optional bool did_proceed = 8;
 inline bool ClientSafeBrowsingReportRequest::has_did_proceed() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
+  return (_has_bits_[0] & 0x00000100u) != 0;
 }
 inline void ClientSafeBrowsingReportRequest::set_has_did_proceed() {
-  _has_bits_[0] |= 0x00000040u;
+  _has_bits_[0] |= 0x00000100u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_has_did_proceed() {
-  _has_bits_[0] &= ~0x00000040u;
+  _has_bits_[0] &= ~0x00000100u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_did_proceed() {
   did_proceed_ = false;
   clear_has_did_proceed();
 }
 inline bool ClientSafeBrowsingReportRequest::did_proceed() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.did_proceed)
   return did_proceed_;
@@ -22033,23 +24219,23 @@ inline bool ClientSafeBrowsingReportRequ
 inline void ClientSafeBrowsingReportRequest::set_did_proceed(bool value) {
   set_has_did_proceed();
   did_proceed_ = value;
   // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.did_proceed)
 }
 
 // optional bool repeat_visit = 9;
 inline bool ClientSafeBrowsingReportRequest::has_repeat_visit() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
+  return (_has_bits_[0] & 0x00000200u) != 0;
 }
 inline void ClientSafeBrowsingReportRequest::set_has_repeat_visit() {
-  _has_bits_[0] |= 0x00000080u;
+  _has_bits_[0] |= 0x00000200u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_has_repeat_visit() {
-  _has_bits_[0] &= ~0x00000080u;
+  _has_bits_[0] &= ~0x00000200u;
 }
 inline void ClientSafeBrowsingReportRequest::clear_repeat_visit() {
   repeat_visit_ = false;
   clear_has_repeat_visit();
 }
 inline bool ClientSafeBrowsingReportRequest::repeat_visit() const {
   // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.repeat_visit)
   return repeat_visit_;
@@ -22118,16 +24304,778 @@ inline void ClientSafeBrowsingReportRequ
     set_has_token();
   } else {
     clear_has_token();
   }
   token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
   // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.token)
 }
 
+// optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
+inline bool ClientSafeBrowsingReportRequest::has_client_properties() const {
+  return (_has_bits_[0] & 0x00000020u) != 0;
+}
+inline void ClientSafeBrowsingReportRequest::set_has_client_properties() {
+  _has_bits_[0] |= 0x00000020u;
+}
+inline void ClientSafeBrowsingReportRequest::clear_has_client_properties() {
+  _has_bits_[0] &= ~0x00000020u;
+}
+inline void ClientSafeBrowsingReportRequest::clear_client_properties() {
+  if (client_properties_ != NULL) client_properties_->::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Clear();
+  clear_has_client_properties();
+}
+inline const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& ClientSafeBrowsingReportRequest::client_properties() const {
+  const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* p = client_properties_;
+  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(
+      &::safe_browsing::_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);
+}
+inline ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::mutable_client_properties() {
+  set_has_client_properties();
+  if (client_properties_ == NULL) {
+    client_properties_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
+  return client_properties_;
+}
+inline ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::release_client_properties() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
+  clear_has_client_properties();
+  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* temp = client_properties_;
+  client_properties_ = NULL;
+  return temp;
+}
+inline void ClientSafeBrowsingReportRequest::set_allocated_client_properties(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties) {
+  delete client_properties_;
+  client_properties_ = client_properties;
+  if (client_properties) {
+    set_has_client_properties();
+  } else {
+    clear_has_client_properties();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
+}
+
+// optional bool show_download_in_folder = 18;
+inline bool ClientSafeBrowsingReportRequest::has_show_download_in_folder() const {
+  return (_has_bits_[0] & 0x00000400u) != 0;
+}
+inline void ClientSafeBrowsingReportRequest::set_has_show_download_in_folder() {
+  _has_bits_[0] |= 0x00000400u;
+}
+inline void ClientSafeBrowsingReportRequest::clear_has_show_download_in_folder() {
+  _has_bits_[0] &= ~0x00000400u;
+}
+inline void ClientSafeBrowsingReportRequest::clear_show_download_in_folder() {
+  show_download_in_folder_ = false;
+  clear_has_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 show_download_in_folder_;
+}
+inline void ClientSafeBrowsingReportRequest::set_show_download_in_folder(bool value) {
+  set_has_show_download_in_folder();
+  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::has_name() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void HTMLElement_Attribute::set_has_name() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void HTMLElement_Attribute::clear_has_name() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void HTMLElement_Attribute::clear_name() {
+  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_name();
+}
+inline const ::std::string& HTMLElement_Attribute::name() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.Attribute.name)
+  return name_.GetNoArena();
+}
+inline void HTMLElement_Attribute::set_name(const ::std::string& value) {
+  set_has_name();
+  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.Attribute.name)
+}
+#if LANG_CXX11
+inline void HTMLElement_Attribute::set_name(::std::string&& value) {
+  set_has_name();
+  name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.Attribute.name)
+}
+#endif
+inline void HTMLElement_Attribute::set_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_name();
+  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.Attribute.name)
+}
+inline void HTMLElement_Attribute::set_name(const char* value, size_t size) {
+  set_has_name();
+  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.Attribute.name)
+}
+inline ::std::string* HTMLElement_Attribute::mutable_name() {
+  set_has_name();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.Attribute.name)
+  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* HTMLElement_Attribute::release_name() {
+  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.Attribute.name)
+  clear_has_name();
+  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void HTMLElement_Attribute::set_allocated_name(::std::string* name) {
+  if (name != NULL) {
+    set_has_name();
+  } else {
+    clear_has_name();
+  }
+  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.Attribute.name)
+}
+
+// optional string value = 2;
+inline bool HTMLElement_Attribute::has_value() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void HTMLElement_Attribute::set_has_value() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void HTMLElement_Attribute::clear_has_value() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void HTMLElement_Attribute::clear_value() {
+  value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_value();
+}
+inline const ::std::string& HTMLElement_Attribute::value() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.Attribute.value)
+  return value_.GetNoArena();
+}
+inline void HTMLElement_Attribute::set_value(const ::std::string& value) {
+  set_has_value();
+  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.Attribute.value)
+}
+#if LANG_CXX11
+inline void HTMLElement_Attribute::set_value(::std::string&& value) {
+  set_has_value();
+  value_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.Attribute.value)
+}
+#endif
+inline void HTMLElement_Attribute::set_value(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_value();
+  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.Attribute.value)
+}
+inline void HTMLElement_Attribute::set_value(const char* value, size_t size) {
+  set_has_value();
+  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.Attribute.value)
+}
+inline ::std::string* HTMLElement_Attribute::mutable_value() {
+  set_has_value();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.Attribute.value)
+  return value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* HTMLElement_Attribute::release_value() {
+  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.Attribute.value)
+  clear_has_value();
+  return value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void HTMLElement_Attribute::set_allocated_value(::std::string* value) {
+  if (value != NULL) {
+    set_has_value();
+  } else {
+    clear_has_value();
+  }
+  value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.Attribute.value)
+}
+
+// -------------------------------------------------------------------
+
+// HTMLElement
+
+// optional int32 id = 1;
+inline bool HTMLElement::has_id() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void HTMLElement::set_has_id() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void HTMLElement::clear_has_id() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void HTMLElement::clear_id() {
+  id_ = 0;
+  clear_has_id();
+}
+inline ::google::protobuf::int32 HTMLElement::id() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.id)
+  return id_;
+}
+inline void HTMLElement::set_id(::google::protobuf::int32 value) {
+  set_has_id();
+  id_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.id)
+}
+
+// optional string tag = 2;
+inline bool HTMLElement::has_tag() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void HTMLElement::set_has_tag() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void HTMLElement::clear_has_tag() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void HTMLElement::clear_tag() {
+  tag_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_tag();
+}
+inline const ::std::string& HTMLElement::tag() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.tag)
+  return tag_.GetNoArena();
+}
+inline void HTMLElement::set_tag(const ::std::string& value) {
+  set_has_tag();
+  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.tag)
+}
+#if LANG_CXX11
+inline void HTMLElement::set_tag(::std::string&& value) {
+  set_has_tag();
+  tag_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.tag)
+}
+#endif
+inline void HTMLElement::set_tag(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_tag();
+  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.tag)
+}
+inline void HTMLElement::set_tag(const char* value, size_t size) {
+  set_has_tag();
+  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.tag)
+}
+inline ::std::string* HTMLElement::mutable_tag() {
+  set_has_tag();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.tag)
+  return tag_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* HTMLElement::release_tag() {
+  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.tag)
+  clear_has_tag();
+  return tag_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void HTMLElement::set_allocated_tag(::std::string* tag) {
+  if (tag != NULL) {
+    set_has_tag();
+  } else {
+    clear_has_tag();
+  }
+  tag_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.tag)
+}
+
+// repeated int32 child_ids = 3;
+inline int HTMLElement::child_ids_size() const {
+  return child_ids_.size();
+}
+inline void HTMLElement::clear_child_ids() {
+  child_ids_.Clear();
+}
+inline ::google::protobuf::int32 HTMLElement::child_ids(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.child_ids)
+  return child_ids_.Get(index);
+}
+inline void HTMLElement::set_child_ids(int index, ::google::protobuf::int32 value) {
+  child_ids_.Set(index, value);
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.child_ids)
+}
+inline void HTMLElement::add_child_ids(::google::protobuf::int32 value) {
+  child_ids_.Add(value);
+  // @@protoc_insertion_point(field_add:safe_browsing.HTMLElement.child_ids)
+}
+inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+HTMLElement::child_ids() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.HTMLElement.child_ids)
+  return child_ids_;
+}
+inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+HTMLElement::mutable_child_ids() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.HTMLElement.child_ids)
+  return &child_ids_;
+}
+
+// optional int32 resource_id = 5;
+inline bool HTMLElement::has_resource_id() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void HTMLElement::set_has_resource_id() {
+  _has_bits_[0] |= 0x00000004u;
+}
+inline void HTMLElement::clear_has_resource_id() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+inline void HTMLElement::clear_resource_id() {
+  resource_id_ = 0;
+  clear_has_resource_id();
+}
+inline ::google::protobuf::int32 HTMLElement::resource_id() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.resource_id)
+  return resource_id_;
+}
+inline void HTMLElement::set_resource_id(::google::protobuf::int32 value) {
+  set_has_resource_id();
+  resource_id_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.resource_id)
+}
+
+// repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
+inline int HTMLElement::attribute_size() const {
+  return attribute_.size();
+}
+inline void HTMLElement::clear_attribute() {
+  attribute_.Clear();
+}
+inline const ::safe_browsing::HTMLElement_Attribute& HTMLElement::attribute(int index) const {
+  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.attribute)
+  return attribute_.Get(index);
+}
+inline ::safe_browsing::HTMLElement_Attribute* HTMLElement::mutable_attribute(int index) {
+  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.attribute)
+  return attribute_.Mutable(index);
+}
+inline ::safe_browsing::HTMLElement_Attribute* HTMLElement::add_attribute() {
+  // @@protoc_insertion_point(field_add:safe_browsing.HTMLElement.attribute)
+  return attribute_.Add();
+}
+inline ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >*
+HTMLElement::mutable_attribute() {
+  // @@protoc_insertion_point(field_mutable_list:safe_browsing.HTMLElement.attribute)
+  return &attribute_;
+}
+inline const ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >&
+HTMLElement::attribute() const {
+  // @@protoc_insertion_point(field_list:safe_browsing.HTMLElement.attribute)
+  return attribute_;
+}
+
+// -------------------------------------------------------------------
+
+// ImageData_Dimensions
+
+// optional int32 width = 1;
+inline bool ImageData_Dimensions::has_width() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ImageData_Dimensions::set_has_width() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void ImageData_Dimensions::clear_has_width() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void ImageData_Dimensions::clear_width() {
+  width_ = 0;
+  clear_has_width();
+}
+inline ::google::protobuf::int32 ImageData_Dimensions::width() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.Dimensions.width)
+  return width_;
+}
+inline void ImageData_Dimensions::set_width(::google::protobuf::int32 value) {
+  set_has_width();
+  width_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.Dimensions.width)
+}
+
+// optional int32 height = 2;
+inline bool ImageData_Dimensions::has_height() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void ImageData_Dimensions::set_has_height() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void ImageData_Dimensions::clear_has_height() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void ImageData_Dimensions::clear_height() {
+  height_ = 0;
+  clear_has_height();
+}
+inline ::google::protobuf::int32 ImageData_Dimensions::height() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.Dimensions.height)
+  return height_;
+}
+inline void ImageData_Dimensions::set_height(::google::protobuf::int32 value) {
+  set_has_height();
+  height_ = value;
+  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.Dimensions.height)
+}
+
+// -------------------------------------------------------------------
+
+// ImageData
+
+// optional bytes data = 1;
+inline bool ImageData::has_data() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ImageData::set_has_data() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void ImageData::clear_has_data() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void ImageData::clear_data() {
+  data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_data();
+}
+inline const ::std::string& ImageData::data() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.data)
+  return data_.GetNoArena();
+}
+inline void ImageData::set_data(const ::std::string& value) {
+  set_has_data();
+  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.data)
+}
+#if LANG_CXX11
+inline void ImageData::set_data(::std::string&& value) {
+  set_has_data();
+  data_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ImageData.data)
+}
+#endif
+inline void ImageData::set_data(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_data();
+  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ImageData.data)
+}
+inline void ImageData::set_data(const void* value, size_t size) {
+  set_has_data();
+  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ImageData.data)
+}
+inline ::std::string* ImageData::mutable_data() {
+  set_has_data();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.data)
+  return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ImageData::release_data() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.data)
+  clear_has_data();
+  return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ImageData::set_allocated_data(::std::string* data) {
+  if (data != NULL) {
+    set_has_data();
+  } else {
+    clear_has_data();
+  }
+  data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.data)
+}
+
+// optional string mime_type = 2;
+inline bool ImageData::has_mime_type() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void ImageData::set_has_mime_type() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void ImageData::clear_has_mime_type() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void ImageData::clear_mime_type() {
+  mime_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_mime_type();
+}
+inline const ::std::string& ImageData::mime_type() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.mime_type)
+  return mime_type_.GetNoArena();
+}
+inline void ImageData::set_mime_type(const ::std::string& value) {
+  set_has_mime_type();
+  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.mime_type)
+}
+#if LANG_CXX11
+inline void ImageData::set_mime_type(::std::string&& value) {
+  set_has_mime_type();
+  mime_type_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ImageData.mime_type)
+}
+#endif
+inline void ImageData::set_mime_type(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_mime_type();
+  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.ImageData.mime_type)
+}
+inline void ImageData::set_mime_type(const char* value, size_t size) {
+  set_has_mime_type();
+  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ImageData.mime_type)
+}
+inline ::std::string* ImageData::mutable_mime_type() {
+  set_has_mime_type();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.mime_type)
+  return mime_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ImageData::release_mime_type() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.mime_type)
+  clear_has_mime_type();
+  return mime_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ImageData::set_allocated_mime_type(::std::string* mime_type) {
+  if (mime_type != NULL) {
+    set_has_mime_type();
+  } else {
+    clear_has_mime_type();
+  }
+  mime_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mime_type);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.mime_type)
+}
+
+// optional .safe_browsing.ImageData.Dimensions dimensions = 3;
+inline bool ImageData::has_dimensions() const {
+  return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void ImageData::set_has_dimensions() {
+  _has_bits_[0] |= 0x00000004u;
+}
+inline void ImageData::clear_has_dimensions() {
+  _has_bits_[0] &= ~0x00000004u;
+}
+inline void ImageData::clear_dimensions() {
+  if (dimensions_ != NULL) dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
+  clear_has_dimensions();
+}
+inline const ::safe_browsing::ImageData_Dimensions& ImageData::dimensions() const {
+  const ::safe_browsing::ImageData_Dimensions* p = dimensions_;
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.dimensions)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData_Dimensions*>(
+      &::safe_browsing::_ImageData_Dimensions_default_instance_);
+}
+inline ::safe_browsing::ImageData_Dimensions* ImageData::mutable_dimensions() {
+  set_has_dimensions();
+  if (dimensions_ == NULL) {
+    dimensions_ = new ::safe_browsing::ImageData_Dimensions;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.dimensions)
+  return dimensions_;
+}
+inline ::safe_browsing::ImageData_Dimensions* ImageData::release_dimensions() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.dimensions)
+  clear_has_dimensions();
+  ::safe_browsing::ImageData_Dimensions* temp = dimensions_;
+  dimensions_ = NULL;
+  return temp;
+}
+inline void ImageData::set_allocated_dimensions(::safe_browsing::ImageData_Dimensions* dimensions) {
+  delete dimensions_;
+  dimensions_ = dimensions;
+  if (dimensions) {
+    set_has_dimensions();
+  } else {
+    clear_has_dimensions();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.dimensions)
+}
+
+// optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
+inline bool ImageData::has_original_dimensions() const {
+  return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void ImageData::set_has_original_dimensions() {
+  _has_bits_[0] |= 0x00000008u;
+}
+inline void ImageData::clear_has_original_dimensions() {
+  _has_bits_[0] &= ~0x00000008u;
+}
+inline void ImageData::clear_original_dimensions() {
+  if (original_dimensions_ != NULL) original_dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
+  clear_has_original_dimensions();
+}
+inline const ::safe_browsing::ImageData_Dimensions& ImageData::original_dimensions() const {
+  const ::safe_browsing::ImageData_Dimensions* p = original_dimensions_;
+  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.original_dimensions)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData_Dimensions*>(
+      &::safe_browsing::_ImageData_Dimensions_default_instance_);
+}
+inline ::safe_browsing::ImageData_Dimensions* ImageData::mutable_original_dimensions() {
+  set_has_original_dimensions();
+  if (original_dimensions_ == NULL) {
+    original_dimensions_ = new ::safe_browsing::ImageData_Dimensions;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.original_dimensions)
+  return original_dimensions_;
+}
+inline ::safe_browsing::ImageData_Dimensions* ImageData::release_original_dimensions() {
+  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.original_dimensions)
+  clear_has_original_dimensions();
+  ::safe_browsing::ImageData_Dimensions* temp = original_dimensions_;
+  original_dimensions_ = NULL;
+  return temp;
+}
+inline void ImageData::set_allocated_original_dimensions(::safe_browsing::ImageData_Dimensions* original_dimensions) {
+  delete original_dimensions_;
+  original_dimensions_ = original_dimensions;
+  if (original_dimensions) {
+    set_has_original_dimensions();
+  } else {
+    clear_has_original_dimensions();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.original_dimensions)
+}
+
+// -------------------------------------------------------------------
+
+// NotificationImageReportRequest
+
+// optional string notification_origin = 1;
+inline bool NotificationImageReportRequest::has_notification_origin() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void NotificationImageReportRequest::set_has_notification_origin() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void NotificationImageReportRequest::clear_has_notification_origin() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void NotificationImageReportRequest::clear_notification_origin() {
+  notification_origin_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_notification_origin();
+}
+inline const ::std::string& NotificationImageReportRequest::notification_origin() const {
+  // @@protoc_insertion_point(field_get:safe_browsing.NotificationImageReportRequest.notification_origin)
+  return notification_origin_.GetNoArena();
+}
+inline void NotificationImageReportRequest::set_notification_origin(const ::std::string& value) {
+  set_has_notification_origin();
+  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+#if LANG_CXX11
+inline void NotificationImageReportRequest::set_notification_origin(::std::string&& value) {
+  set_has_notification_origin();
+  notification_origin_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+#endif
+inline void NotificationImageReportRequest::set_notification_origin(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_notification_origin();
+  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+inline void NotificationImageReportRequest::set_notification_origin(const char* value, size_t size) {
+  set_has_notification_origin();
+  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+inline ::std::string* NotificationImageReportRequest::mutable_notification_origin() {
+  set_has_notification_origin();
+  // @@protoc_insertion_point(field_mutable:safe_browsing.NotificationImageReportRequest.notification_origin)
+  return notification_origin_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* NotificationImageReportRequest::release_notification_origin() {
+  // @@protoc_insertion_point(field_release:safe_browsing.NotificationImageReportRequest.notification_origin)
+  clear_has_notification_origin();
+  return notification_origin_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void NotificationImageReportRequest::set_allocated_notification_origin(::std::string* notification_origin) {
+  if (notification_origin != NULL) {
+    set_has_notification_origin();
+  } else {
+    clear_has_notification_origin();
+  }
+  notification_origin_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), notification_origin);
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.NotificationImageReportRequest.notification_origin)
+}
+
+// optional .safe_browsing.ImageData image = 2;
+inline bool NotificationImageReportRequest::has_image() const {
+  return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void NotificationImageReportRequest::set_has_image() {
+  _has_bits_[0] |= 0x00000002u;
+}
+inline void NotificationImageReportRequest::clear_has_image() {
+  _has_bits_[0] &= ~0x00000002u;
+}
+inline void NotificationImageReportRequest::clear_image() {
+  if (image_ != NULL) image_->::safe_browsing::ImageData::Clear();
+  clear_has_image();
+}
+inline const ::safe_browsing::ImageData& NotificationImageReportRequest::image() const {
+  const ::safe_browsing::ImageData* p = image_;
+  // @@protoc_insertion_point(field_get:safe_browsing.NotificationImageReportRequest.image)
+  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData*>(
+      &::safe_browsing::_ImageData_default_instance_);
+}
+inline ::safe_browsing::ImageData* NotificationImageReportRequest::mutable_image() {
+  set_has_image();
+  if (image_ == NULL) {
+    image_ = new ::safe_browsing::ImageData;
+  }
+  // @@protoc_insertion_point(field_mutable:safe_browsing.NotificationImageReportRequest.image)
+  return image_;
+}
+inline ::safe_browsing::ImageData* NotificationImageReportRequest::release_image() {
+  // @@protoc_insertion_point(field_release:safe_browsing.NotificationImageReportRequest.image)
+  clear_has_image();
+  ::safe_browsing::ImageData* temp = image_;
+  image_ = NULL;
+  return temp;
+}
+inline void NotificationImageReportRequest::set_allocated_image(::safe_browsing::ImageData* image) {
+  delete image_;
+  image_ = image;
+  if (image) {
+    set_has_image();
+  } else {
+    clear_has_image();
+  }
+  // @@protoc_insertion_point(field_set_allocated:safe_browsing.NotificationImageReportRequest.image)
+}
+
 #ifdef __GNUC__
   #pragma GCC diagnostic pop
 #endif  // __GNUC__
 #endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
 // -------------------------------------------------------------------
 
 // -------------------------------------------------------------------
 
@@ -22240,38 +25188,60 @@ inline void ClientSafeBrowsingReportRequ
 // -------------------------------------------------------------------
 
 // -------------------------------------------------------------------
 
 // -------------------------------------------------------------------
 
 // -------------------------------------------------------------------
 
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
 
 // @@protoc_insertion_point(namespace_scope)
 
 
 }  // namespace safe_browsing
 
 namespace google {
 namespace protobuf {
 
 template <> struct is_proto_enum< ::safe_browsing::ChromeUserPopulation_UserPopulation> : ::google::protobuf::internal::true_type {};
-template <> struct is_proto_enum< ::safe_browsing::ClientDownloadRequest_URLChainEntry_URLType> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::safe_browsing::LoginReputationClientRequest_TriggerType> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::safe_browsing::LoginReputationClientResponse_VerdictType> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientDownloadRequest_ResourceType> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientDownloadRequest_DownloadType> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::safe_browsing::ReferrerChainEntry_URLType> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientDownloadResponse_Verdict> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientDownloadReport_Reason> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientUploadResponse_UploadStatus> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState> : ::google::protobuf::internal::true_type {};
 template <> struct is_proto_enum< ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType> : ::google::protobuf::internal::true_type {};
 
 }  // namespace protobuf
 }  // namespace google
 
 // @@protoc_insertion_point(global_scope)
 
 #endif  // PROTOBUF_csd_2eproto__INCLUDED