# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: grr/proto/jobs.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from grr.proto import semantic_pb2 as grr_dot_proto_dot_semantic__pb2
from grr.proto import knowledge_base_pb2 as grr_dot_proto_dot_knowledge__base__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='grr/proto/jobs.proto',
  package='',
  syntax='proto2',
  serialized_pb=_b('\n\x14grr/proto/jobs.proto\x1a\x18grr/proto/semantic.proto\x1a\x1egrr/proto/knowledge_base.proto\"\xa0\x02\n\x0bHttpRequest\x12\x13\n\x0braw_headers\x18\x01 \x01(\t\x12\x12\n\nuser_agent\x18\x02 \x01(\t\x12\x11\n\tsource_ip\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x17\n\x04user\x18\x05 \x01(\t:\tanonymous\x12T\n\ttimestamp\x18\x06 \x01(\x04\x42\x41\xe2\xfc\xe3\xc4\x01;\n\x0bRDFDatetime\x12,Timestamp: unique identifier for the request\x12\x13\n\x06method\x18\x07 \x01(\t:\x03GET\x12\x10\n\x08referrer\x18\x08 \x01(\t\x12\x32\n\x04size\x18\t \x01(\x04\x42$\xe2\xfc\xe3\xc4\x01\x1e\x12\x1cSize of the request in bytes\"\xc1\x10\n\nGrrMessage\x12\x63\n\nsession_id\x18\x01 \x01(\tBO\xe2\xfc\xe3\xc4\x01I\n\rFlowSessionID\x12\x38The session id of the flow that this message belongs to.\x12j\n\nrequest_id\x18\x02 \x01(\x04\x42V\xe2\xfc\xe3\xc4\x01P\x12NThe message is in response to this request number (requests increment from 1).\x12Q\n\x0bresponse_id\x18\x03 \x01(\x04\x42<\xe2\xfc\xe3\xc4\x01\x36\x12\x34Responses for each request are also numbered from 1.\x12\x87\x01\n\x04name\x18\x04 \x01(\tBy\xe2\xfc\xe3\xc4\x01s\x12qThis is the name of the client action that will be executed. It is set by the flow and is executed by the client.\x12\x0c\n\x04\x61rgs\x18\x05 \x01(\x0c\x12\x1e\n\x03\x61rg\x18\x14 \x01(\x0b\x32\x11.EmbeddedRDFValue\x12\x64\n\x06source\x18\x06 \x01(\tBT\xe2\xfc\xe3\xc4\x01N\n\x06RDFURN\x12\x44\x43lient name where the message came from (Filled in by the frontend).\x12\x43\n\nauth_state\x18\x07 \x01(\x0e\x32\x1e.GrrMessage.AuthorizationState:\x0fUNAUTHENTICATED\x12\'\n\x04type\x18\x08 \x01(\x0e\x32\x10.GrrMessage.Type:\x07MESSAGE\x12\x9f\x01\n\x08priority\x18\t \x01(\x0e\x32\x14.GrrMessage.Priority:\x0fMEDIUM_PRIORITYBf\xe2\xfc\xe3\xc4\x01`\x12^The priority of this message - allows higher priority messages to leap to the front of queues.\x12m\n\x03ttl\x18\n \x01(\r:\x02\x31\x30\x42\\\xe2\xfc\xe3\xc4\x01V\x12TTime to live - each time a request is retransmitted this decrement until it expires.\x12o\n\x10require_fastpoll\x18\x0b \x01(\x08:\x04trueBO\xe2\xfc\xe3\xc4\x01I\x12GIf this is true, the client will enter fast poll mode after processing.\x12Y\n\tcpu_limit\x18\x0c \x01(\x02:\x04\x33\x36\x30\x30\x42@\xe2\xfc\xe3\xc4\x01:\x12\x38Maximum number of CPU seconds to be used by this action.\x12\x44\n\x08\x61rgs_age\x18\r \x01(\x04\x42\x32\xe2\xfc\xe3\xc4\x01,\n\x0bRDFDatetime\x12\x1dThe age of the args rdfvalue.\x12\x15\n\rargs_rdf_name\x18\x0e \x01(\t\x12\x0f\n\x07task_id\x18\x0f \x01(\x04\x12\x13\n\x08task_ttl\x18\x10 \x01(\x05:\x01\x37\x12\x46\n\x05queue\x18\x11 \x01(\tB7\xe2\xfc\xe3\xc4\x01\x31\n\x06RDFURN\x12\'The scheduler queue this message is in.\x12_\n\x03\x65ta\x18\x12 \x01(\x04\x42R\xe2\xfc\xe3\xc4\x01L\n\x0bRDFDatetime\x12=The time when this message will become available for leasing.\x12\x12\n\nlast_lease\x18\x13 \x01(\t\x12\xc1\x02\n\x13network_bytes_limit\x18\x15 \x01(\x04:\x0b\x31\x30\x37\x33\x37\x34\x31\x38\x32\x34\x30\x42\x96\x02\xe2\xfc\xe3\xc4\x01\x8f\x02\x12\x8c\x02Maximum number of network bytes to be sent, 10G default. All bytes charged against the flow session ID count towards the limit but only during TransferBuffer is the limit enforced. This means we can blockfile transfers but still communicate after the limit is reached.\x12[\n\ttimestamp\x18\x16 \x01(\x04\x42H\xe2\xfc\xe3\xc4\x01\x42\n\x0bRDFDatetime\x12\x33\x41n optional timestamp when this message was stored.\"P\n\x12\x41uthorizationState\x12\x13\n\x0fUNAUTHENTICATED\x10\x00\x12\x11\n\rAUTHENTICATED\x10\x01\x12\x12\n\x0e\x44\x45SYNCHRONIZED\x10\x02\"-\n\x04Type\x12\x0b\n\x07MESSAGE\x10\x00\x12\n\n\x06STATUS\x10\x01\x12\x0c\n\x08ITERATOR\x10\x02\"D\n\x08Priority\x12\x10\n\x0cLOW_PRIORITY\x10\x00\x12\x13\n\x0fMEDIUM_PRIORITY\x10\x01\x12\x11\n\rHIGH_PRIORITY\x10\x02\"\'\n\x0bMessageList\x12\x18\n\x03job\x18\x01 \x03(\x0b\x32\x0b.GrrMessage\"\xd4\x02\n\x11PackedMessageList\x12\x14\n\x0cmessage_list\x18\x01 \x01(\x0c\x12H\n\x06source\x18\x03 \x01(\tB8\xe2\xfc\xe3\xc4\x01\x32\n\x06RDFURN\x12(The source where this message came from.\x12\x45\n\x0b\x63ompression\x18\x04 \x01(\x0e\x32\".PackedMessageList.CompressionType:\x0cUNCOMPRESSED\x12\x61\n\ttimestamp\x18\x06 \x01(\x04\x42N\xe2\xfc\xe3\xc4\x01H\n\x0bRDFDatetime\x12\x39The client sends its timestamp to prevent replay attacks.\"5\n\x0f\x43ompressionType\x12\x10\n\x0cUNCOMPRESSED\x10\x00\x12\x10\n\x0cZCOMPRESSION\x10\x01\"\x81\x02\n\x10\x43ipherProperties\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\"\n\x03key\x18\x02 \x01(\x0c\x42\x15\xe2\xfc\xe3\xc4\x01\x0f\n\rEncryptionKey\x12*\n\x0bmetadata_iv\x18\x03 \x01(\x0c\x42\x15\xe2\xfc\xe3\xc4\x01\x0f\n\rEncryptionKey\x12\'\n\x08hmac_key\x18\x05 \x01(\x0c\x42\x15\xe2\xfc\xe3\xc4\x01\x0f\n\rEncryptionKey\x12:\n\thmac_type\x18\x06 \x01(\x0e\x32\x1a.CipherProperties.HMACType:\x0bSIMPLE_HMAC\"*\n\x08HMACType\x12\x0f\n\x0bSIMPLE_HMAC\x10\x00\x12\r\n\tFULL_HMAC\x10\x01\"\x84\x01\n\x0e\x43ipherMetadata\x12_\n\x06source\x18\x01 \x01(\tBO\xe2\xfc\xe3\xc4\x01I\n\x06RDFURN\x12?The common name this cipher should be used to communicate with.\x12\x11\n\tsignature\x18\x02 \x01(\x0c\"\xe9\x02\n\x13\x43lientCommunication\x12\x11\n\tencrypted\x18\x01 \x01(\x0c\x12\x18\n\x10\x65ncrypted_cipher\x18\x02 \x01(\x0c\x12!\n\x19\x65ncrypted_cipher_metadata\x18\t \x01(\x0c\x12(\n\tpacket_iv\x18\x08 \x01(\x0c\x42\x15\xe2\xfc\xe3\xc4\x01\x0f\n\rEncryptionKey\x12\"\n\x0corig_request\x18\x03 \x01(\x0b\x32\x0c.HttpRequest\x12\x15\n\nqueue_size\x18\x04 \x01(\r:\x01\x30\x12/\n\x06status\x18\x05 \x01(\x0e\x32\x1b.ClientCommunication.Status:\x02OK\x12\x13\n\x0b\x61pi_version\x18\x06 \x01(\r\x12\x0c\n\x04hmac\x18\x07 \x01(\x0c\x12\x11\n\tfull_hmac\x18\n \x01(\x0c\"6\n\x06Status\x12\x07\n\x02OK\x10\xc8\x01\x12\x10\n\x0b\x42\x41\x44_REQUEST\x10\x90\x03\x12\x11\n\x0c\x43IPHER_ERROR\x10\x96\x03\"\x9b\x03\n\tGrrStatus\x12-\n\x06status\x18\x01 \x01(\x0e\x32\x19.GrrStatus.ReturnedStatus:\x02OK\x12\x17\n\rerror_message\x18\x02 \x01(\t:\x00\x12\x13\n\tbacktrace\x18\x03 \x01(\t:\x00\x12\"\n\rcpu_time_used\x18\x04 \x01(\x0b\x32\x0b.CpuSeconds\x12\x42\n\x10\x63hild_session_id\x18\x05 \x01(\tB(\xe2\xfc\xe3\xc4\x01\"\n\tSessionID\x12\x15The URN of a subflow.\x12\x1a\n\x12network_bytes_sent\x18\x06 \x01(\x04\x12\x14\n\x0cnanny_status\x18\x07 \x01(\t\"\x96\x01\n\x0eReturnedStatus\x12\x06\n\x02OK\x10\x00\x12\x0b\n\x07IOERROR\x10\x01\x12\x1b\n\x17RETRANSMISSION_DETECTED\x10\x02\x12\x11\n\rCLIENT_KILLED\x10\x03\x12\x1a\n\x16NETWORK_LIMIT_EXCEEDED\x10\x04\x12\x10\n\x0cWORKER_STUCK\x10\t\x12\x11\n\rGENERIC_ERROR\x10\n\"\x93\x05\n\x0fGrrNotification\x12%\n\nsession_id\x18\x01 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tSessionID\x12\x37\n\x08priority\x18\x02 \x01(\x0e\x32\x14.GrrMessage.Priority:\x0fMEDIUM_PRIORITY\x12W\n\x0c\x66irst_queued\x18\x03 \x01(\x04\x42\x41\xe2\xfc\xe3\xc4\x01;\n\x0bRDFDatetime\x12,The first time this notification was queued.\x12|\n\x0blast_status\x18\x04 \x01(\x04\x42g\xe2\xfc\xe3\xc4\x01\x61\x12_If this is for a status based event (flows), the request number of the last status we received.\x12l\n\x0bin_progress\x18\x05 \x01(\x08:\x05\x66\x61lseBP\xe2\xfc\xe3\xc4\x01J\x12HThis indicates that the flow is currently being processed by the worker.\x12T\n\ttimestamp\x18\x06 \x01(\x04\x42\x41\xe2\xfc\xe3\xc4\x01;\n\x0bRDFDatetime\x12,The time the notification was scheduled for.\x12\x84\x01\n\x03ttl\x18\x07 \x01(\r:\x02\x31\x30\x42s\xe2\xfc\xe3\xc4\x01m\x12kTime to live - each time a notification is rescheduled, this is decremented until the notification expires.\"\xac\x02\n\x0b\x43lientCrash\x12$\n\tclient_id\x18\x01 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tClientURN\x12%\n\nsession_id\x18\x02 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tSessionID\x12\'\n\x0b\x63lient_info\x18\x03 \x01(\x0b\x32\x12.ClientInformation\x12@\n\ttimestamp\x18\x04 \x01(\x04\x42-\xe2\xfc\xe3\xc4\x01\'\n\x0bRDFDatetime\x12\x18When the client crashed.\x12%\n\ncrash_type\x18\x05 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tSessionID\x12\x15\n\rcrash_message\x18\x06 \x01(\t\x12\x11\n\tbacktrace\x18\x07 \x01(\t\x12\x14\n\x0cnanny_status\x18\x08 \x01(\t\"\xbc\x01\n\x10HuntNotification\x12%\n\nsession_id\x18\x01 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tSessionID\x12$\n\tclient_id\x18\x02 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tClientURN\x12(\n\x06status\x18\x03 \x01(\x0e\x32\x18.HuntNotification.Status\"1\n\x06Status\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02OK\x10\x01\x12\t\n\x05\x45RROR\x10\x02\x12\x07\n\x03\x42\x41\x44\x10\x03\"\xc6\x02\n\x16HuntResultNotification\x12g\n\x15result_collection_urn\x18\x01 \x01(\tBH\xe2\xfc\xe3\xc4\x01\x42\n\x06RDFURN\x12\x38The URN of the result collection containing this result.\x12j\n\ttimestamp\x18\x02 \x01(\x04\x42W\xe2\xfc\xe3\xc4\x01Q\n\x0bRDFDatetime\x12\x42The timestamp identifying the result within the result collection.\x12W\n\x06suffix\x18\x03 \x01(\x04\x42G\xe2\xfc\xe3\xc4\x01\x41\x12?The suffix identifying the result within the result collection.\"\xc6\x01\n\x10\x46lowNotification\x12%\n\nsession_id\x18\x01 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tSessionID\x12\x11\n\tflow_name\x18\x02 \x01(\t\x12$\n\tclient_id\x18\x03 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tClientURN\x12(\n\x06status\x18\x04 \x01(\x0e\x32\x18.FlowNotification.Status\"(\n\x06Status\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02OK\x10\x01\x12\t\n\x05\x45RROR\x10\x02\"\x92\x01\n\x11\x43lientInformation\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\x16\n\x0e\x63lient_version\x18\x02 \x01(\r\x12\x10\n\x08revision\x18\x03 \x01(\x04\x12\x12\n\nbuild_time\x18\x04 \x01(\t\x12\x1a\n\x12\x63lient_description\x18\x05 \x01(\t\x12\x0e\n\x06labels\x18\x06 \x03(\t\"\x8d\x03\n\x08\x44\x61taBlob\x12\x0f\n\x07integer\x18\x01 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0e\n\x06string\x18\x03 \x01(\t\x12\x12\n\nproto_name\x18\x04 \x01(\t\x12\x0c\n\x04none\x18\x05 \x01(\t\x12\x0f\n\x07\x62oolean\x18\x06 \x01(\x08\x12\x18\n\x04list\x18\x08 \x01(\x0b\x32\n.BlobArray\x12\x13\n\x04\x64ict\x18\t \x01(\x0b\x32\x05.Dict\x12S\n\trdf_value\x18\n \x01(\x0b\x32\x11.EmbeddedRDFValueB-\xe2\xfc\xe3\xc4\x01\'\x12%Store an embedded arbitrary RDFValue.\x12\r\n\x05\x66loat\x18\x0b \x01(\x02\x12\x17\n\x03set\x18\x0c \x01(\x0b\x32\n.BlobArray\x12<\n\x0b\x63ompression\x18\x07 \x01(\x0e\x32\x19.DataBlob.CompressionType:\x0cUNCOMPRESSED\"5\n\x0f\x43ompressionType\x12\x10\n\x0cUNCOMPRESSED\x10\x00\x12\x10\n\x0cZCOMPRESSION\x10\x01\"\'\n\tBlobArray\x12\x1a\n\x07\x63ontent\x18\x01 \x03(\x0b\x32\t.DataBlob\"+\n\x08PrintStr\x12\x11\n\x05level\x18\x01 \x01(\x05:\x02\x31\x30\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\xa1\x01\n\x0e\x43opyPathToFile\x12\x11\n\x06offset\x18\x01 \x01(\x04:\x01\x30\x12\x11\n\x06length\x18\x02 \x01(\x04:\x01\x30\x12\x1b\n\x08src_path\x18\x03 \x01(\x0b\x32\t.PathSpec\x12\x1c\n\tdest_path\x18\x05 \x01(\x0b\x32\t.PathSpec\x12\x19\n\x0bgzip_output\x18\x06 \x01(\x08:\x04true\x12\x13\n\x08lifetime\x18\x07 \x01(\x02:\x01\x30\"t\n\x0f\x42ufferReference\x12\x11\n\x06offset\x18\x01 \x01(\x04:\x01\x30\x12\x11\n\x06length\x18\x02 \x01(\x04:\x01\x30\x12\x10\n\x08\x63\x61llback\x18\x03 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x1b\n\x08pathspec\x18\x06 \x01(\x0b\x32\t.PathSpec\"\xf4\x03\n\x0cRequestState\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05ts_id\x18\x02 \x01(\x04\x12\x12\n\nnext_state\x18\x03 \x01(\t\x12\x1a\n\x06status\x18\x04 \x01(\x0b\x32\n.GrrStatus\x12]\n\x04\x64\x61ta\x18\x05 \x01(\x0b\x32\x05.DictBH\xe2\xfc\xe3\xc4\x01\x42\x12@This can contain any data we want to associate with the request.\x12\x19\n\x0eresponse_count\x18\x06 \x01(\r:\x01\x30\x12\x1d\n\x12transmission_count\x18\x07 \x01(\r:\x01\x30\x12~\n\tclient_id\x18\x08 \x01(\tBk\xe2\xfc\xe3\xc4\x01\x65\n\tClientURN\x12XThe client id where the request was heading - we only receiveresponses from this client.\x12\x62\n\nsession_id\x18\t \x01(\tBN\xe2\xfc\xe3\xc4\x01H\n\tSessionID\x12;This is the session_id of the flow this request belongs to.\x12\x1c\n\x07request\x18\n \x01(\x0b\x32\x0b.GrrMessage\"|\n\nCpuSeconds\x12\x34\n\ruser_cpu_time\x18\x01 \x01(\x02\x42\x1d\xe2\xfc\xe3\xc4\x01\x17\"\x15User cpu seconds used\x12\x38\n\x0fsystem_cpu_time\x18\x02 \x01(\x02\x42\x1f\xe2\xfc\xe3\xc4\x01\x19\"\x17System cpu seconds used\"\x92\x01\n\tCpuSample\x12\x15\n\ruser_cpu_time\x18\x01 \x01(\x02\x12\x17\n\x0fsystem_cpu_time\x18\x02 \x01(\x02\x12\x13\n\x0b\x63pu_percent\x18\x03 \x01(\x02\x12@\n\ttimestamp\x18\x04 \x01(\x04\x42-\xe2\xfc\xe3\xc4\x01\'\n\x0bRDFDatetime\x12\x18The time of this sample.\"\x9e\x01\n\x08IOSample\x12\x12\n\nread_count\x18\x01 \x01(\x04\x12\x13\n\x0bwrite_count\x18\x02 \x01(\x04\x12\x12\n\nread_bytes\x18\x03 \x01(\x04\x12\x13\n\x0bwrite_bytes\x18\x04 \x01(\x04\x12@\n\ttimestamp\x18\x05 \x01(\x04\x42-\xe2\xfc\xe3\xc4\x01\'\n\x0bRDFDatetime\x12\x18The time of this sample.\"\xdd\x01\n\x0b\x43lientStats\x12\x1f\n\x0b\x63pu_samples\x18\x01 \x03(\x0b\x32\n.CpuSample\x12\x10\n\x08RSS_size\x18\x02 \x01(\x04\x12\x10\n\x08VMS_size\x18\x03 \x01(\x04\x12\x16\n\x0ememory_percent\x18\x04 \x01(\x02\x12\x16\n\x0e\x62ytes_received\x18\x05 \x01(\x04\x12\x12\n\nbytes_sent\x18\x06 \x01(\x04\x12\x1d\n\nio_samples\x18\x07 \x03(\x0b\x32\t.IOSample\x12\x13\n\x0b\x63reate_time\x18\x08 \x01(\x04\x12\x11\n\tboot_time\x18\t \x01(\x04\"I\n\x0bStartupInfo\x12\'\n\x0b\x63lient_info\x18\x01 \x01(\x0b\x32\x12.ClientInformation\x12\x11\n\tboot_time\x18\x02 \x01(\x04\"?\n\x0e\x45xecuteRequest\x12\x0b\n\x03\x63md\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\x12\x12\n\ntime_limit\x18\x03 \x01(\x05\"{\n\x0f\x45xecuteResponse\x12 \n\x07request\x18\x01 \x01(\x0b\x32\x0f.ExecuteRequest\x12\x13\n\x0b\x65xit_status\x18\x02 \x01(\x05\x12\x0e\n\x06stdout\x18\x03 \x01(\x0c\x12\x0e\n\x06stderr\x18\x04 \x01(\x0c\x12\x11\n\ttime_used\x18\x05 \x01(\x05\"\x8a\r\n\x08PathSpec\x12+\n\x08pathtype\x18\x01 \x01(\x0e\x32\x12.PathSpec.PathType:\x05UNSET\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x1d\n\x0bmount_point\x18\x03 \x01(\tB\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12T\n\x0bstream_name\x18\x0b \x01(\tB?\xe2\xfc\xe3\xc4\x01\x39\x12\x35\x41 name for the data stream. For example, an ADS name.\x18\x01\x12\x1e\n\x0bnested_path\x18\x05 \x01(\x0b\x32\t.PathSpec\x12\x18\n\x06offset\x18\x06 \x01(\x04\x42\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12\x43\n\x0cpath_options\x18\x07 \x01(\x0e\x32\x11.PathSpec.Options:\x10\x43\x41SE_INSENSITIVEB\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12Y\n\x0frecursion_depth\x18\x0c \x01(\x04:\x01\x33\x42=\xe2\xfc\xe3\xc4\x01\x37\x12\x33Recursion depth when RECURSIVE option is specified.\x18\x02\x12\x17\n\x05inode\x18\x08 \x01(\x04\x42\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12Q\n\tntfs_type\x18\t \x01(\x0e\x32\x1a.PathSpec.tsk_fs_attr_type:\x18TSK_FS_ATTR_TYPE_DEFAULTB\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12\x19\n\x07ntfs_id\x18\n \x01(\x04\x42\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12\xa3\x01\n\x12\x66ile_size_override\x18\r \x01(\x04:\x06\x35\x31\x32\x30\x30\x30\x42\x7f\xe2\xfc\xe3\xc4\x01y\n\x08\x42yteSize\x12mFor files which are non seekable from their end (e.g. /proc files), this is the minimum amount of bytes read.\x12]\n\x0eis_virtualroot\x18\x0e \x01(\x08\x42\x45\xe2\xfc\xe3\xc4\x01?\x12=Indicates that this pathspec already contains a virtual root.\"f\n\x08PathType\x12\x12\n\x05UNSET\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x06\n\x02OS\x10\x00\x12\x07\n\x03TSK\x10\x01\x12\x0c\n\x08REGISTRY\x10\x02\x12\x12\n\x06MEMORY\x10\x03\x1a\x06\xf0\xb9\xcb\xb9\x01\x02\x12\x13\n\x07TMPFILE\x10\x04\x1a\x06\xf0\xb9\xcb\xb9\x01\x02\"K\n\x07Options\x12\x14\n\x10\x43\x41SE_INSENSITIVE\x10\x00\x12\x10\n\x0c\x43\x41SE_LITERAL\x10\x01\x12\t\n\x05REGEX\x10\x02\x12\r\n\tRECURSIVE\x10\x03\"\xb2\x05\n\x10tsk_fs_attr_type\x12\x1c\n\x18TSK_FS_ATTR_TYPE_DEFAULT\x10\x01\x12\x1c\n\x18TSK_FS_ATTR_TYPE_NTFS_SI\x10\x10\x12\"\n\x1eTSK_FS_ATTR_TYPE_NTFS_ATTRLIST\x10 \x12\x1f\n\x1bTSK_FS_ATTR_TYPE_NTFS_FNAME\x10\x30\x12\x1e\n\x1aTSK_FS_ATTR_TYPE_NTFS_VVER\x10@\x12\x1f\n\x1bTSK_FS_ATTR_TYPE_NTFS_OBJID\x10@\x12\x1d\n\x19TSK_FS_ATTR_TYPE_NTFS_SEC\x10P\x12\x1f\n\x1bTSK_FS_ATTR_TYPE_NTFS_VNAME\x10`\x12\x1f\n\x1bTSK_FS_ATTR_TYPE_NTFS_VINFO\x10p\x12\x1f\n\x1aTSK_FS_ATTR_TYPE_NTFS_DATA\x10\x80\x01\x12\"\n\x1dTSK_FS_ATTR_TYPE_NTFS_IDXROOT\x10\x90\x01\x12#\n\x1eTSK_FS_ATTR_TYPE_NTFS_IDXALLOC\x10\xa0\x01\x12!\n\x1cTSK_FS_ATTR_TYPE_NTFS_BITMAP\x10\xb0\x01\x12!\n\x1cTSK_FS_ATTR_TYPE_NTFS_SYMLNK\x10\xc0\x01\x12\"\n\x1dTSK_FS_ATTR_TYPE_NTFS_REPARSE\x10\xc0\x01\x12!\n\x1cTSK_FS_ATTR_TYPE_NTFS_EAINFO\x10\xd0\x01\x12\x1d\n\x18TSK_FS_ATTR_TYPE_NTFS_EA\x10\xe0\x01\x12\x1f\n\x1aTSK_FS_ATTR_TYPE_NTFS_PROP\x10\xf0\x01\x12\x1e\n\x19TSK_FS_ATTR_TYPE_NTFS_LOG\x10\x80\x02\x12 \n\x1bTSK_FS_ATTR_TYPE_UNIX_INDIR\x10\x81 \x1a\x02\x10\x01\"J\n\x0eListDirRequest\x12\x1b\n\x08pathspec\x18\x01 \x01(\x0b\x32\t.PathSpec\x12\x1b\n\x08iterator\x18\x02 \x01(\x0b\x32\t.Iterator\"u\n\x0cUploadPolicy\x12$\n\tclient_id\x18\x01 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tClientURN\x12?\n\x07\x65xpires\x18\x02 \x01(\x04\x42.\xe2\xfc\xe3\xc4\x01(\n\x0bRDFDatetime\x12\x19When this upload expires.\"\xc2\x01\n\x0bUploadToken\x12P\n\x10\x65ncrypted_policy\x18\x01 \x01(\x0c\x42\x36\xe2\xfc\xe3\xc4\x01\x30\x12.An encoded and encrypted UploadPolicy message.\x12>\n\x04hmac\x18\x02 \x01(\x0c\x42\x30\xe2\xfc\xe3\xc4\x01*\x12(The HMAC for the encoded policy message.\x12!\n\x02iv\x18\x03 \x01(\x0c\x42\x15\xe2\xfc\xe3\xc4\x01\x0f\n\rEncryptionKey\"T\n\x11UploadFileRequest\x12\x1b\n\x08pathspec\x18\x01 \x01(\x0b\x32\t.PathSpec\x12\"\n\x0cupload_token\x18\x02 \x01(\x0b\x32\x0c.UploadToken\"l\n\x0cUploadedFile\x12\x1e\n\nstat_entry\x18\x01 \x01(\x0b\x32\n.StatEntry\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t\x12\x16\n\x0e\x62ytes_uploaded\x18\x03 \x01(\x04\x12\x13\n\x04hash\x18\x04 \x01(\x0b\x32\x05.Hash\"\x98\x01\n\rStatFSRequest\x12\x34\n\tpath_list\x18\x01 \x03(\tB!\xe2\xfc\xe3\xc4\x01\x1b\x12\x19List of paths for statfs.\x12Q\n\x08pathtype\x18\x02 \x01(\x0e\x32\x12.PathSpec.PathType:\x02OSB\'\xe2\xfc\xe3\xc4\x01!\x12\x1fType of path to call statfs on.\"\xc2\t\n\tStatEntry\x12\x42\n\x07st_mode\x18\x02 \x01(\x04:\x01\x30\x42.\xe2\xfc\xe3\xc4\x01(\n\x08StatMode\x12\x1c\x41 unix file permission mode.\x12\x0e\n\x06st_ino\x18\x03 \x01(\r\x12\x0e\n\x06st_dev\x18\x04 \x01(\r\x12\x10\n\x08st_nlink\x18\x05 \x01(\r\x12\x0e\n\x06st_uid\x18\x06 \x01(\r\x12\x0e\n\x06st_gid\x18\x07 \x01(\r\x12\x0f\n\x07st_size\x18\x08 \x01(\x04\x12?\n\x08st_atime\x18\t \x01(\x04\x42-\xe2\xfc\xe3\xc4\x01\'\n\x12RDFDatetimeSeconds\x12\x11Last access time.\x12\x41\n\x08st_mtime\x18\n \x01(\x04\x42/\xe2\xfc\xe3\xc4\x01)\n\x12RDFDatetimeSeconds\x12\x13Last modified time.\x12\x45\n\x08st_ctime\x18\x0b \x01(\x04\x42\x33\xe2\xfc\xe3\xc4\x01-\n\x12RDFDatetimeSeconds\x12\x17Last inode change time.\x12\x11\n\tst_blocks\x18\x0c \x01(\r\x12\x12\n\nst_blksize\x18\r \x01(\r\x12\x0f\n\x07st_rdev\x18\x0e \x01(\r\x12\x14\n\x0cst_flags_osx\x18\x15 \x01(\r\x12\x16\n\x0est_flags_linux\x18\x16 \x01(\r\x12\x0f\n\x07symlink\x18\x0f \x01(\t\x12\xb9\x01\n\rregistry_type\x18\x10 \x01(\x0e\x32\x17.StatEntry.RegistryTypeB\x88\x01\xe2\xfc\xe3\xc4\x01\x81\x01\x12\x7fIf this is a stat of a registry value, this field contains the type of this value. The content will also be encoded in residet.\x12\x10\n\x08resident\x18\x11 \x01(\x0c\x12W\n\x08pathspec\x18\x12 \x01(\x0b\x32\t.PathSpecB:\xe2\xfc\xe3\xc4\x01\x34\x12\x32The path specification to this file on the client.\x12\x9e\x01\n\rregistry_data\x18\x13 \x01(\x0b\x32\t.DataBlobB|\xe2\xfc\xe3\xc4\x01v\x12tIf this entry represents a registry value, this field will contain that value encoded according to the correct type.\x12=\n\tst_crtime\x18\x14 \x01(\x04\x42*\xe2\xfc\xe3\xc4\x01$\n\x12RDFDatetimeSeconds\x12\x0e\x43reation time.\"\xc4\x01\n\x0cRegistryType\x12\x0c\n\x08REG_NONE\x10\x00\x12\n\n\x06REG_SZ\x10\x01\x12\x11\n\rREG_EXPAND_SZ\x10\x02\x12\x0e\n\nREG_BINARY\x10\x03\x12\r\n\tREG_DWORD\x10\x04\x12\x1b\n\x17REG_DWORD_LITTLE_ENDIAN\x10\x04\x12\x18\n\x14REG_DWORD_BIG_ENDIAN\x10\x05\x12\x0c\n\x08REG_LINK\x10\x06\x12\x10\n\x0cREG_MULTI_SZ\x10\x07\x12\r\n\tREG_QWORD\x10\x0b\x1a\x02\x10\x01\"\'\n\nCollection\x12\x19\n\x05items\x18\x01 \x03(\x0b\x32\n.StatEntry\"0\n\nWmiRequest\x12\r\n\x05query\x18\x01 \x01(\t\x12\x13\n\x0b\x62\x61se_object\x18\x02 \x01(\t\"6\n\x08KeyValue\x12\x14\n\x01k\x18\x01 \x01(\x0b\x32\t.DataBlob\x12\x14\n\x01v\x18\x02 \x01(\x0b\x32\t.DataBlob\"D\n\x04\x44ict\x12<\n\x03\x64\x61t\x18\x01 \x03(\x0b\x32\t.KeyValueB$\xe2\xfc\xe3\xc4\x01\x1e\x12\x16\x41n arbitrary key/value\"\x04\x44\x61ta\"O\n\x0e\x41ttributedDict\x12=\n\x03\x64\x61t\x18\x01 \x03(\x0b\x32\t.KeyValueB%\xe2\xfc\xe3\xc4\x01\x1f\x12\x17\x41n arbitrary key/value.\"\x04\x44\x61ta\"i\n\x0b\x43\x65rtificate\x12\x1f\n\x04type\x18\x01 \x01(\x0e\x32\x11.Certificate.Type\x12\x0b\n\x03pem\x18\x02 \x01(\x0c\x12\n\n\x02\x63n\x18\x03 \x01(\t\" \n\x04Type\x12\x07\n\x03\x43SR\x10\x00\x12\x07\n\x03\x43RT\x10\x01\x12\x06\n\x02\x43\x41\x10\x02\"\x86\x07\n\x05Uname\x12\x43\n\x06system\x18\x01 \x01(\tB3\xe2\xfc\xe3\xc4\x01-\x12+The system platform (Windows|Darwin|Linux).\x12\x32\n\x04node\x18\x02 \x01(\tB$\xe2\xfc\xe3\xc4\x01\x1e\x12\x1cThe hostname of this system.\x12G\n\x07release\x18\x03 \x01(\tB6\xe2\xfc\xe3\xc4\x01\x30\x12.The OS release identifier e.g. 7, OSX, debian.\x12K\n\x07version\x18\x04 \x01(\tB:\xe2\xfc\xe3\xc4\x01\x34\x12\x32The OS version ID e.g. 6.1.7601SP1, 10.9.2, 14.04.\x12\x44\n\x07machine\x18\x05 \x01(\tB3\xe2\xfc\xe3\xc4\x01-\x12+The system architecture e.g. AMD64, x86_64.\x12R\n\x06kernel\x18\x06 \x01(\tBB\xe2\xfc\xe3\xc4\x01<\x12:The kernel version string e.g. 6.1.7601, 13.1.0, 3.15-rc2.\x12?\n\x04\x66qdn\x18\x07 \x01(\tB1\xe2\xfc\xe3\xc4\x01+\x12)The system\'s fully qualified domain name.\x12\x45\n\x0cinstall_date\x18\x08 \x01(\x04\x42/\xe2\xfc\xe3\xc4\x01)\n\x0bRDFDatetime\x12\x1aWhen system was installed.\x12/\n\x08libc_ver\x18\t \x01(\tB\x1d\xe2\xfc\xe3\xc4\x01\x17\x12\x15The C library version\x12\xb6\x01\n\x0c\x61rchitecture\x18\n \x01(\tB\x9f\x01\xe2\xfc\xe3\xc4\x01\x98\x01\x12\x95\x01The architecture of this binary. (Note this can be different from the machine architecture in the case of a 32 bit binary running on a 64 bit system)\x12\x62\n\tpep425tag\x18\x0b \x01(\tBO\xe2\xfc\xe3\xc4\x01I\x12GThe unique signature of this python system (as defined by PEP425 tags).\"\xee\x02\n\x11\x46olderInformation\x12\x10\n\x08\x61pp_data\x18\x01 \x01(\t\x12\r\n\x05\x63\x61\x63he\x18\x02 \x01(\t\x12\x0f\n\x07\x63ookies\x18\x03 \x01(\t\x12\x0f\n\x07\x64\x65sktop\x18\x04 \x01(\t\x12\x11\n\tfavorites\x18\x05 \x01(\t\x12\x0f\n\x07history\x18\x06 \x01(\t\x12\x16\n\x0elocal_app_data\x18\x07 \x01(\t\x12\x10\n\x08my_music\x18\t \x01(\t\x12\x13\n\x0bmy_pictures\x18\n \x01(\t\x12\x10\n\x08my_video\x18\x0b \x01(\t\x12\x10\n\x08net_hood\x18\x0c \x01(\t\x12\x10\n\x08personal\x18\r \x01(\t\x12\x12\n\nprint_hood\x18\x0e \x01(\t\x12\x10\n\x08programs\x18\x0f \x01(\t\x12\x0e\n\x06recent\x18\x10 \x01(\t\x12\x0f\n\x07send_to\x18\x11 \x01(\t\x12\x12\n\nstart_menu\x18\x12 \x01(\t\x12\x0f\n\x07startup\x18\x13 \x01(\t\x12\x11\n\ttemplates\x18\x14 \x01(\t\"\xc3\x01\n\x0eNetworkAddress\x12,\n\x0c\x61\x64\x64ress_type\x18\x01 \x01(\x0e\x32\x16.NetworkAddress.Family\x12\x16\n\x0ehuman_readable\x18\x02 \x01(\t\x12&\n\x0cpacked_bytes\x18\x03 \x01(\x0c\x42\x10\xe2\xfc\xe3\xc4\x01\n\n\x08RDFBytes\"\x1d\n\x06\x46\x61mily\x12\x08\n\x04INET\x10\x00\x12\t\n\x05INET6\x10\x01:$\xda\xfc\xe3\xc4\x01\x1e\n\x1cNetwork Address information.\"\x8e\x06\n\tInterface\x12?\n\x0bmac_address\x18\x01 \x01(\x0c\x42*\xe2\xfc\xe3\xc4\x01$\n\nMacAddress\x12\x16Interface MAC address.\x12\x15\n\rip4_addresses\x18\x02 \x03(\x0c\x12\x0e\n\x06ifname\x18\x03 \x01(\t\x12\x15\n\rip6_addresses\x18\x04 \x03(\x0c\x12W\n\taddresses\x18\x05 \x03(\x0b\x32\x0f.NetworkAddressB3\xe2\xfc\xe3\xc4\x01-\x12+A network address attached to an interface.\x12R\n\x12\x64hcp_lease_expires\x18\x06 \x01(\x04\x42\x36\xe2\xfc\xe3\xc4\x01\x30\n\x0bRDFDatetime\x12!Time when DHCP lease will expire.\x12T\n\x13\x64hcp_lease_obtained\x18\x07 \x01(\x04\x42\x37\xe2\xfc\xe3\xc4\x01\x31\n\x0bRDFDatetime\x12\"Time when DHCP lease was obtained.\x12P\n\x10\x64hcp_server_list\x18\x08 \x03(\x0b\x32\x0f.NetworkAddressB%\xe2\xfc\xe3\xc4\x01\x1f\x12\x1dIP addresses of DHCP servers.\x12O\n\x0fip_gateway_list\x18\t \x03(\x0b\x32\x0f.NetworkAddressB%\xe2\xfc\xe3\xc4\x01\x1f\x12\x1dIP addresses of DHCP servers.:\xdb\x01\xda\xfc\xe3\xc4\x01\xd4\x01\n\xd1\x01Information about a network interface. New fields have beennamed to follow the CyBox NetworkInterfaceType:https://cybox.mitre.org/language/version2.1/xsddocs/objects/System_Object_xsd.html#NetworkInterfaceType\"\xb0\x05\n\x04Hash\x12>\n\x06sha256\x18\x01 \x01(\x0c\x42.\xe2\xfc\xe3\xc4\x01(\n\nHashDigest\x12\x1aSHA256 binary hash digest.\x12:\n\x04sha1\x18\x02 \x01(\x0c\x42,\xe2\xfc\xe3\xc4\x01&\n\nHashDigest\x12\x18SHA1 binary hash digest.\x12\x38\n\x03md5\x18\x03 \x01(\x0c\x42+\xe2\xfc\xe3\xc4\x01%\n\nHashDigest\x12\x17MD5 binary hash digest.\x12\x64\n\x0bpecoff_sha1\x18\x04 \x01(\x0c\x42O\xe2\xfc\xe3\xc4\x01I\n\nHashDigest\x12;Authenticode SHA1 hash digest for signed region of PE file.\x12\x62\n\npecoff_md5\x18\x05 \x01(\x0c\x42N\xe2\xfc\xe3\xc4\x01H\n\nHashDigest\x12:Authenticode MD5 hash digest for signed region of PE file.\x12h\n\rpecoff_sha256\x18\x07 \x01(\x0c\x42Q\xe2\xfc\xe3\xc4\x01K\n\nHashDigest\x12=Authenticode SHA256 hash digest for signed region of PE file.\x12\x63\n\x0bsigned_data\x18\x06 \x03(\x0b\x32\x17.AuthenticodeSignedDataB5\xe2\xfc\xe3\xc4\x01/\x12-Signed data which may be present in PE files.\x12Y\n\tnum_bytes\x18\x08 \x01(\x04\x42\x46\xe2\xfc\xe3\xc4\x01@\x12>The number of bytes used to create the hashes in this message.\"R\n\x16\x41uthenticodeSignedData\x12\x10\n\x08revision\x18\x01 \x01(\x04\x12\x11\n\tcert_type\x18\x02 \x01(\x04\x12\x13\n\x0b\x63\x65rtificate\x18\x03 \x01(\x0c\"\xbd\x01\n\x10\x46ingerprintTuple\x12\'\n\x07\x66p_type\x18\x01 \x01(\x0e\x32\x16.FingerprintTuple.Type\x12+\n\x07hashers\x18\x02 \x03(\x0e\x32\x1a.FingerprintTuple.HashType\"(\n\x04Type\x12\x0f\n\x0b\x46PT_GENERIC\x10\x00\x12\x0f\n\x0b\x46PT_PE_COFF\x10\x01\")\n\x08HashType\x12\x07\n\x03MD5\x10\x00\x12\x08\n\x04SHA1\x10\x01\x12\n\n\x06SHA256\x10\x02\"\xa2\x01\n\x12\x46ingerprintRequest\x12\x1b\n\x08pathspec\x18\x01 \x01(\x0b\x32\t.PathSpec\x12!\n\x06tuples\x18\x02 \x03(\x0b\x32\x11.FingerprintTuple\x12L\n\x0cmax_filesize\x18\x03 \x01(\x04:\x0b\x31\x30\x37\x33\x37\x34\x31\x38\x32\x34\x30\x42)\xe2\xfc\xe3\xc4\x01#\x12!Maximum file size to fingerprint.\"\xca\x01\n\x13\x46ingerprintResponse\x12.\n\x0ematching_types\x18\x01 \x03(\x0e\x32\x16.FingerprintTuple.Type\x12\x16\n\x07results\x18\x02 \x03(\x0b\x32\x05.Dict\x12\x1b\n\x08pathspec\x18\x03 \x01(\x0b\x32\t.PathSpec\x12\x13\n\x04hash\x18\x04 \x01(\x0b\x32\x05.Hash\x12\x39\n\nbytes_read\x18\x05 \x01(\x04\x42%\xe2\xfc\xe3\xc4\x01\x1f\x12\x1dTotal number of bytes hashed.\"\xf6\x01\n\nSignedBlob\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x0e\n\x06\x64igest\x18\x02 \x01(\x0c\x12)\n\x0b\x64igest_type\x18\x03 \x01(\x0e\x32\x14.SignedBlob.HashType\x12\x11\n\tsignature\x18\x04 \x01(\x0c\x12\x31\n\x0esignature_type\x18\x05 \x01(\x0e\x32\x19.SignedBlob.SignatureType\")\n\x08HashType\x12\x07\n\x03MD5\x10\x00\x12\x08\n\x04SHA1\x10\x01\x12\n\n\x06SHA256\x10\x02\".\n\rSignatureType\x12\x10\n\x0cRSA_PKCS1v15\x10\x00\x12\x0b\n\x07RSA_PSS\x10\x01\"\xcf\x01\n\x0fSymmetricCipher\x12M\n\n_algorithm\x18\x01 \x01(\x0e\x32\x1a.SymmetricCipher.AlgorithmB\x1d\xe2\xfc\xe3\xc4\x01\x17\x12\x15The algorithm to use.\x12#\n\x04_key\x18\x02 \x01(\x0c\x42\x15\xe2\xfc\xe3\xc4\x01\x0f\n\rEncryptionKey\x12\"\n\x03_iv\x18\x03 \x01(\x0c\x42\x15\xe2\xfc\xe3\xc4\x01\x0f\n\rEncryptionKey\"$\n\tAlgorithm\x12\x08\n\x04NONE\x10\x00\x12\r\n\tAES128CBC\x10\x01\"P\n\x14\x45xecutePythonRequest\x12 \n\x0bpython_code\x18\x01 \x01(\x0b\x32\x0b.SignedBlob\x12\x16\n\x07py_args\x18\x02 \x01(\x0b\x32\x05.Dict\">\n\x15\x45xecutePythonResponse\x12\x12\n\nreturn_val\x18\x01 \x01(\x0c\x12\x11\n\ttime_used\x18\x02 \x01(\x05\"\xbf\x03\n\x16\x43lientComponentSummary\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xe2\xfc\xe3\xc4\x01\x1c\x12\x1aThe name of the component.\x12=\n\x07version\x18\x02 \x01(\tB,\xe2\xfc\xe3\xc4\x01&\x12$The version string of the component.\x12\x37\n\x04seed\x18\x04 \x01(\tB)\xe2\xfc\xe3\xc4\x01#\x12!A ramdom seed for this component.\x12<\n\x07modules\x18\x05 \x03(\tB+\xe2\xfc\xe3\xc4\x01%\x12#The modules which will be imported.\x12Y\n\x03url\x18\x06 \x01(\tBL\xe2\xfc\xe3\xc4\x01\x46\x12\x44The URL that a signed blob of this component can be downloaded from.\x12\x62\n\x06\x63ipher\x18\x07 \x01(\x0b\x32\x10.SymmetricCipherB@\xe2\xfc\xe3\xc4\x01:\x12\x38This cipher will be used to encrypt the ClientComponent.\"\xfc\x01\n\x0f\x43lientComponent\x12R\n\x07summary\x18\x01 \x01(\x0b\x32\x17.ClientComponentSummaryB(\xe2\xfc\xe3\xc4\x01\"\x12 Information about the component.\x12\x44\n\x08raw_data\x18\x02 \x01(\x0c\x42\x32\xe2\xfc\xe3\xc4\x01,\x12*The raw ZIP file which will be installed. \x12O\n\x0c\x62uild_system\x18\x03 \x01(\x0b\x32\x06.UnameB1\xe2\xfc\xe3\xc4\x01+\x12)The platform this component was built on.\"Y\n\rLoadComponent\x12H\n\x07summary\x18\x01 \x01(\x0b\x32\x17.ClientComponentSummaryB\x1e\xe2\xfc\xe3\xc4\x01\x18\x12\x16The component to load.\"\xf8\x04\n\x14\x45xecuteBinaryRequest\x12\x1f\n\nexecutable\x18\x01 \x01(\x0b\x32\x0b.SignedBlob\x12\x12\n\nwrite_path\x18\x02 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x03 \x03(\t\x12\x12\n\ntime_limit\x18\x04 \x01(\x05\x12\xd7\x01\n\tmore_data\x18\x05 \x01(\x08\x42\xc3\x01\xe2\xfc\xe3\xc4\x01\xbc\x01\x12\xb9\x01If the binary does not fit inside a single request, the server will set this flag and send the file in chunks. The file will not be actually executed until the more_data flags is False.\x12\xa0\x01\n\x06offset\x18\x06 \x01(\x03\x42\x8f\x01\xe2\xfc\xe3\xc4\x01\x88\x01\x12\x85\x01The position in the file where this chunk exists. This must be the end of the file to ensure we did not lose any requests on the way.\x12\x8b\x01\n\x0euse_client_env\x18\x07 \x01(\x08:\x05\x66\x61lseBl\xe2\xfc\xe3\xc4\x01\x66\x12\x64Indicates if this command should be run in the context of the installed client or the target system.\"_\n\x15\x45xecuteBinaryResponse\x12\x13\n\x0b\x65xit_status\x18\x01 \x01(\x05\x12\x0e\n\x06stdout\x18\x02 \x01(\x0c\x12\x0e\n\x06stderr\x18\x03 \x01(\x0c\x12\x11\n\ttime_used\x18\x04 \x01(\x05\"\xea\x03\n\x0fSendFileRequest\x12K\n\x08pathspec\x18\x01 \x01(\x0b\x32\t.PathSpecB.\xe2\xfc\xe3\xc4\x01(\x12&The pathspec for the file to retrieve.\x12j\n\x0e\x61\x64\x64ress_family\x18\x02 \x01(\x0e\x32\x16.NetworkAddress.Family:\x04INETB4\xe2\xfc\xe3\xc4\x01.\x12,address family to use (AF_INET or AF_INET6).\x12\x39\n\x04host\x18\x03 \x01(\tB+\xe2\xfc\xe3\xc4\x01%\x12#Hostname or IP to send the file to.\x12\x41\n\x04port\x18\x04 \x01(\x04:\x05\x31\x32\x33\x34\x35\x42,\xe2\xfc\xe3\xc4\x01&\x12$Port number on the listening server.\x12N\n\x03key\x18\x05 \x01(\x0c\x42\x41\xe2\xfc\xe3\xc4\x01;\n\tAES128Key\x12.An encryption key given in hex representation.\x12P\n\x02iv\x18\x06 \x01(\x0c\x42\x44\xe2\xfc\xe3\xc4\x01>\n\tAES128Key\x12\x31The iv for AES, also given in hex representation.\"\xcb\x08\n\x08GrepSpec\x12>\n\x06target\x18\x01 \x01(\x0b\x32\t.PathSpecB#\xe2\xfc\xe3\xc4\x01\x1d\x12\x1bThis file will be searched.\x12\x45\n\x0cstart_offset\x18\x02 \x01(\x04:\x01\x30\x42,\xe2\xfc\xe3\xc4\x01&\x12$Start searching at this file offset.\x12P\n\x06length\x18\x03 \x01(\x04:\x0b\x31\x30\x37\x33\x37\x34\x31\x38\x32\x34\x30\x42\x33\xe2\xfc\xe3\xc4\x01-\x12+How far (in bytes) into the file to search.\x12^\n\x05regex\x18\x04 \x01(\tBO\xe2\xfc\xe3\xc4\x01I\n\x11RegularExpression\x12\x34The regular expression which will be used to search.\x12K\n\x07literal\x18\x05 \x01(\x0c\x42:\xe2\xfc\xe3\xc4\x01\x34\n\x11LiteralExpression\x12\x1fSearch for this literal string.\x12q\n\x04mode\x18\x06 \x01(\x0e\x32\x0e.GrepSpec.Mode:\x08\x41LL_HITSBI\xe2\xfc\xe3\xc4\x01\x43\x12\x41When should searching stop? Stop after one hit or search for all?\x12K\n\x0c\x62ytes_before\x18\x07 \x01(\r:\x02\x31\x30\x42\x31\xe2\xfc\xe3\xc4\x01+\x12\'Include this many bytes before the hit.\x18\x01\x12I\n\x0b\x62ytes_after\x18\x08 \x01(\r:\x02\x31\x30\x42\x30\xe2\xfc\xe3\xc4\x01*\x12&Include this many bytes after the hit.\x18\x01\x12\xc2\x01\n\nxor_in_key\x18\t \x01(\r:\x01\x30\x42\xaa\x01\xe2\xfc\xe3\xc4\x01\xa3\x01\x12\x9e\x01When searching memory we need to ensure we dont hit on our own process. This allows us to obfuscate the search string in memory to avoid us finding ourselves.\x18\x01\x12\xc3\x01\n\x0bxor_out_key\x18\n \x01(\r:\x01\x30\x42\xaa\x01\xe2\xfc\xe3\xc4\x01\xa3\x01\x12\x9e\x01When searching memory we need to ensure we dont hit on our own process. This allows us to obfuscate the search string in memory to avoid us finding ourselves.\x18\x01\"#\n\x04Mode\x12\x0c\n\x08\x41LL_HITS\x10\x00\x12\r\n\tFIRST_HIT\x10\x01\"\x82\x0b\n\x08\x46indSpec\x12%\n\x08iterator\x18\x01 \x01(\x0b\x32\t.IteratorB\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x02\x12L\n\x08pathspec\x18\x02 \x01(\x0b\x32\t.PathSpecB/\xe2\xfc\xe3\xc4\x01)\x12\'The base path to recursive search from \x12\x43\n\tpath_glob\x18\r \x01(\tB0\xe2\xfc\xe3\xc4\x01*\n\x0eGlobExpression\x12\x18\x41 glob for the filename.\x12t\n\npath_regex\x18\x03 \x01(\tB`\xe2\xfc\xe3\xc4\x01Z\n\x11RegularExpression\x12\x33This matches the filename. Overrides the path_glob.\x18\x01\"\x0e\x46ilename RegEx\x12T\n\ndata_regex\x18\x04 \x01(\tB@\xe2\xfc\xe3\xc4\x01:\n\x11RegularExpression\x12%This matches the content of the file.\x12R\n\nstart_time\x18\x05 \x01(\x04:\x01\x30\x42;\xe2\xfc\xe3\xc4\x01\x35\n\x0bRDFDatetime\x12&File must be modified after this time.\x12\x88\x01\n\x08\x65nd_time\x18\x06 \x01(\x04:\x13\x39\x32\x32\x33\x33\x37\x32\x30\x33\x36\x38\x35\x34\x37\x37\x35\x38\x30\x37\x42\x61\xe2\xfc\xe3\xc4\x01[\n\x0bRDFDatetime\x12LFile must be modified before this time (default=heat death of the universe).\x12#\n\ncross_devs\x18\x07 \x01(\x08:\x05\x66\x61lseB\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12\x1f\n\tmax_depth\x18\x08 \x01(\x05:\x02\x31\x35\x42\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12@\n\x03hit\x18\t \x01(\x0b\x32\n.StatEntryB\'\xe2\xfc\xe3\xc4\x01!\x12\x1dResponses come in this field.\x18\x02\x12#\n\x08max_data\x18\n \x01(\x04:\x07\x31\x30\x32\x34\x30\x30\x30\x42\x08\xe2\xfc\xe3\xc4\x01\x02\x18\x01\x12=\n\rmin_file_size\x18\x0b \x01(\x04:\x01\x30\x42#\xe2\xfc\xe3\xc4\x01\x1d\x12\x1bMinimum file size in bytes.\x12\x64\n\rmax_file_size\x18\x0c \x01(\x04:\x13\x39\x32\x32\x33\x33\x37\x32\x30\x33\x36\x38\x35\x34\x37\x37\x35\x38\x30\x37\x42\x38\xe2\xfc\xe3\xc4\x01\x32\x12\x30Maximum file size in bytes (default=sys.maxint).\x12\xf6\x01\n\tperm_mask\x18\x0e \x01(\x04:\x04\x34\x30\x39\x35\x42\xdc\x01\xe2\xfc\xe3\xc4\x01\xd5\x01\x12\xd2\x01Permission mask to apply to a file\'s permissions using AND operation when looking for a match against perm_mode. Default is 7777 in octal. Allows you to target only the permissions you care about with perm_mode\x12K\n\tperm_mode\x18\x0f \x01(\x04\x42\x38\xe2\xfc\xe3\xc4\x01\x32\n\x08StatMode\x12&File permission mode to match against.\x12;\n\x03uid\x18\x10 \x01(\x04\x42.\xe2\xfc\xe3\xc4\x01(\x12&User ID to match against a file\'s UID.\x12<\n\x03gid\x18\x11 \x01(\x04\x42/\xe2\xfc\xe3\xc4\x01)\x12\'Group ID to match against a file\'s GID.\"\x8f\x02\n\x0cPlistRequest\x12N\n\x08pathspec\x18\x01 \x01(\x0b\x32\t.PathSpecB1\xe2\xfc\xe3\xc4\x01+\x12)The pathspec for the plist file to query.\x12\x44\n\x07\x63ontext\x18\x02 \x01(\tB3\xe2\xfc\xe3\xc4\x01-\x12+A path into the plist to base the filter on\x12i\n\x05query\x18\x03 \x01(\tBZ\xe2\xfc\xe3\xc4\x01T\n\nPlistQuery\x12\x46\x41 filter query to match the contents of the plist at the base_context.\"\xed\x01\n\x15GetClientStatsRequest\x12\x62\n\nstart_time\x18\x05 \x01(\x04:\x01\x30\x42K\xe2\xfc\xe3\xc4\x01\x45\n\x0bRDFDatetime\x12\x36Request stats data points with timestamp > start_time.\x12p\n\x08\x65nd_time\x18\x06 \x01(\x04:\x13\x39\x32\x32\x33\x33\x37\x32\x30\x33\x36\x38\x35\x34\x37\x37\x35\x38\x30\x37\x42I\xe2\xfc\xe3\xc4\x01\x43\n\x0bRDFDatetime\x12\x34Request stats data points with timestamp < end_time.\"\xc6\x01\n\x14\x46oremanClientRuleSet\x12>\n\nmatch_mode\x18\x01 \x01(\x0e\x32\x1f.ForemanClientRuleSet.MatchMode:\tMATCH_ALL\x12!\n\x05rules\x18\x02 \x03(\x0b\x32\x12.ForemanClientRule\"K\n\tMatchMode\x12\x1e\n\tMATCH_ALL\x10\x00\x1a\x0f\xea\xb9\xcb\xb9\x01\tMatch all\x12\x1e\n\tMATCH_ANY\x10\x01\x1a\x0f\xea\xb9\xcb\xb9\x01\tMatch any\"\xe4\x02\n\x11\x46oremanClientRule\x12*\n\trule_type\x18\x01 \x01(\x0e\x32\x17.ForemanClientRule.Type\x12 \n\x02os\x18\x02 \x01(\x0b\x32\x14.ForemanOsClientRule\x12&\n\x05label\x18\x03 \x01(\x0b\x32\x17.ForemanLabelClientRule\x12&\n\x05regex\x18\x04 \x01(\x0b\x32\x17.ForemanRegexClientRule\x12*\n\x07integer\x18\x05 \x01(\x0b\x32\x19.ForemanIntegerClientRule\"r\n\x04Type\x12\x1e\n\x02OS\x10\x00\x1a\x16\xea\xb9\xcb\xb9\x01\x10Operating system\x12\x16\n\x05LABEL\x10\x01\x1a\x0b\xea\xb9\xcb\xb9\x01\x05Label\x12\x16\n\x05REGEX\x10\x02\x1a\x0b\xea\xb9\xcb\xb9\x01\x05Regex\x12\x1a\n\x07INTEGER\x10\x03\x1a\r\xea\xb9\xcb\xb9\x01\x07Integer:\x11\xda\xfc\xe3\xc4\x01\x0b\x12\trule_type\"N\n\x13\x46oremanOsClientRule\x12\x12\n\nos_windows\x18\x01 \x01(\x08\x12\x10\n\x08os_linux\x18\x02 \x01(\x08\x12\x11\n\tos_darwin\x18\x03 \x01(\x08\"\x9f\x02\n\x16\x46oremanLabelClientRule\x12\x13\n\x0blabel_names\x18\x01 \x03(\t\x12@\n\nmatch_mode\x18\x02 \x01(\x0e\x32!.ForemanLabelClientRule.MatchMode:\tMATCH_ALL\"\xad\x01\n\tMatchMode\x12\x1e\n\tMATCH_ALL\x10\x00\x1a\x0f\xea\xb9\xcb\xb9\x01\tMatch all\x12\x1e\n\tMATCH_ANY\x10\x01\x1a\x0f\xea\xb9\xcb\xb9\x01\tMatch any\x12/\n\x12\x44OES_NOT_MATCH_ALL\x10\x02\x1a\x17\xea\xb9\xcb\xb9\x01\x11\x44oesn\'t match all\x12/\n\x12\x44OES_NOT_MATCH_ANY\x10\x03\x1a\x17\xea\xb9\xcb\xb9\x01\x11\x44oesn\'t match any\"\x82\x02\n\x16\x46oremanRegexClientRule\x12\x0f\n\x04path\x18\x01 \x01(\t:\x01/\x12\x45\n\x0e\x61ttribute_name\x18\x02 \x01(\tB-\xe2\xfc\xe3\xc4\x01\'\n\rAFF4Attribute\x12\x16\x41n AFF4 attribute name\x12\x8f\x01\n\x0f\x61ttribute_regex\x18\x03 \x01(\tBv\xe2\xfc\xe3\xc4\x01p\n\x11RegularExpression\x12[If these are specified we fire when the attribute\'s str() representation matches the regex.\"\xf6\x01\n\x18\x46oremanIntegerClientRule\x12\x0f\n\x04path\x18\x01 \x01(\t:\x01/\x12\x45\n\x0e\x61ttribute_name\x18\x02 \x01(\tB-\xe2\xfc\xe3\xc4\x01\'\n\rAFF4Attribute\x12\x16\x41n AFF4 attribute name\x12;\n\x08operator\x18\x03 \x01(\x0e\x32\".ForemanIntegerClientRule.Operator:\x05\x45QUAL\x12\r\n\x05value\x18\x04 \x01(\x04\"6\n\x08Operator\x12\t\n\x05\x45QUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\"\xa6\x01\n\x11\x46oremanRuleAction\x12\x11\n\tflow_name\x18\x01 \x01(\t\x12\x13\n\x04\x61rgv\x18\x02 \x01(\x0b\x32\x05.Dict\x12\x11\n\thunt_name\x18\x03 \x01(\t\x12@\n\x07hunt_id\x18\x04 \x01(\tB/\xe2\xfc\xe3\xc4\x01)\n\tSessionID\x12\x1cThe id of the hunt to start.\x12\x14\n\x0c\x63lient_limit\x18\x05 \x01(\x04\"\xfd\x01\n\x0b\x46oremanRule\x12.\n\x0f\x63lient_rule_set\x18\x07 \x01(\x0b\x32\x15.ForemanClientRuleSet\x12#\n\x07\x61\x63tions\x18\x03 \x03(\x0b\x32\x12.ForemanRuleAction\x12\x41\n\x07\x63reated\x18\x04 \x01(\x04\x42\x30\xe2\xfc\xe3\xc4\x01*\n\x0bRDFDatetime\x12\x1bWhen this rule was created.\x12\x41\n\x07\x65xpires\x18\x05 \x01(\x04\x42\x30\xe2\xfc\xe3\xc4\x01*\n\x0bRDFDatetime\x12\x1bWhen this rule will expire.\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\"Y\n\tHuntError\x12$\n\tclient_id\x18\x01 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tClientURN\x12\x13\n\x0blog_message\x18\x02 \x01(\t\x12\x11\n\tbacktrace\x18\x03 \x01(\t\"\xc9\x01\n\x07\x46lowLog\x12$\n\tclient_id\x18\x01 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tClientURN\x12\x13\n\x0blog_message\x18\x02 \x01(\t\x12?\n\x03urn\x18\x03 \x01(\tB2\xe2\xfc\xe3\xc4\x01,\n\x06RDFURN\x12\"Session ID that generated the log.\x12\x42\n\tflow_name\x18\x04 \x01(\tB/\xe2\xfc\xe3\xc4\x01)\x12\'Human readable name for the session ID.\"\x9a\x01\n\x0f\x43lientResources\x12$\n\tclient_id\x18\x01 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tClientURN\x12%\n\nsession_id\x18\x02 \x01(\tB\x11\xe2\xfc\xe3\xc4\x01\x0b\n\tSessionID\x12\x1e\n\tcpu_usage\x18\x03 \x01(\x0b\x32\x0b.CpuSeconds\x12\x1a\n\x12network_bytes_sent\x18\x04 \x01(\x04\"2\n\x0eStatsHistogram\x12 \n\x04\x62ins\x18\x03 \x03(\x0b\x32\x12.StatsHistogramBin\"9\n\x11StatsHistogramBin\x12\x17\n\x0frange_max_value\x18\x01 \x01(\x02\x12\x0b\n\x03num\x18\x02 \x01(\x04\"\\\n\x0cRunningStats\x12\"\n\thistogram\x18\x01 \x01(\x0b\x32\x0f.StatsHistogram\x12\x0b\n\x03num\x18\x02 \x01(\x04\x12\x0b\n\x03sum\x18\x03 \x01(\x01\x12\x0e\n\x06sum_sq\x18\x04 \x01(\x01\"\xc3\x01\n\x14\x43lientResourcesStats\x12%\n\x0euser_cpu_stats\x18\x01 \x01(\x0b\x32\r.RunningStats\x12\'\n\x10system_cpu_stats\x18\x02 \x01(\x0b\x32\r.RunningStats\x12/\n\x18network_bytes_sent_stats\x18\x03 \x01(\x0b\x32\r.RunningStats\x12*\n\x10worst_performers\x18\x04 \x03(\x0b\x32\x10.ClientResources\"\x9a\x01\n\x08Iterator\x12\x1b\n\x0c\x63lient_state\x18\x01 \x01(\x0b\x32\x05.Dict\x12\x0f\n\x04skip\x18\x02 \x01(\r:\x01\x30\x12\x13\n\x06number\x18\x03 \x01(\r:\x03\x31\x30\x30\x12\'\n\x05state\x18\x04 \x01(\x0e\x32\x0f.Iterator.State:\x07RUNNING\"\"\n\x05State\x12\x0b\n\x07RUNNING\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\"M\n\x14IteratedStatResponse\x12\x18\n\x04stat\x18\x01 \x01(\x0b\x32\n.StatEntry\x12\x1b\n\x08iterator\x18\x02 \x01(\x0b\x32\t.Iterator\"\x9f\x02\n\x0cNotification\x12\x0c\n\x04type\x18\x01 \x01(\t\x12N\n\x07subject\x18\x02 \x01(\tB=\xe2\xfc\xe3\xc4\x01\x37\n\x06RDFURN\x12-The subject which this notification is about.\x12\x0f\n\x07message\x18\x03 \x01(\t\x12V\n\x06source\x18\x04 \x01(\tBF\xe2\xfc\xe3\xc4\x01@\n\x06RDFURN\x12\x36The user or service which generated this notification.\x12H\n\ttimestamp\x18\x05 \x01(\x04\x42\x35\xe2\xfc\xe3\xc4\x01/\n\x0bRDFDatetime\x12 Time the notification was added.\"\xae\x02\n\x12GlobalNotification\x12&\n\x04type\x18\x01 \x01(\x0e\x32\x18.GlobalNotification.Type\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t\x12\x0c\n\x04link\x18\x04 \x01(\t\x12S\n\tshow_from\x18\x05 \x01(\x04\x42@\xe2\xfc\xe3\xc4\x01:\n\x0bRDFDatetime\x12+Notification will be shown after this time.\x12\x42\n\x08\x64uration\x18\x06 \x01(\x04\x42\x30\xe2\xfc\xe3\xc4\x01*\n\x08\x44uration\x12\x1e\x44uration of this notification.\"(\n\x04Type\x12\x08\n\x04INFO\x10\x00\x12\x0b\n\x07WARNING\x10\x01\x12\t\n\x05\x45RROR\x10\x02\"C\n\x15GlobalNotificationSet\x12*\n\rnotifications\x18\x01 \x03(\x0b\x32\x13.GlobalNotification\"t\n\x10\x45mbeddedRDFValue\x12\x44\n\x0c\x65mbedded_age\x18\x01 \x01(\x04\x42.\xe2\xfc\xe3\xc4\x01(\n\x0bRDFDatetime\x12\x19The age of this RDFValue.\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\x8e\x06\n\nAuditEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04user\x18\x02 \x01(\t\x12+\n\x06\x61\x63tion\x18\x03 \x01(\x0e\x32\x12.AuditEvent.Action:\x07UNKNOWN\x12\x11\n\tflow_name\x18\x04 \x01(\t\x12\x11\n\tflow_args\x18\x05 \x01(\x0c\x12G\n\x06\x63lient\x18\x06 \x01(\tB7\xe2\xfc\xe3\xc4\x01\x31\n\x06RDFURN\x12\'The client, this action was applied to.\x12?\n\ttimestamp\x18\x07 \x01(\x04\x42,\xe2\xfc\xe3\xc4\x01&\n\x0bRDFDatetime\x12\x17Time event was created.\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12L\n\x03urn\x18\t \x01(\tB?\xe2\xfc\xe3\xc4\x01\x39\n\x06RDFURN\x12/The relevant hunt/flow/cron urn for this event.\"\xa5\x03\n\x06\x41\x63tion\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08RUN_FLOW\x10\x01\x12\'\n#CLIENT_APPROVAL_BREAK_GLASS_REQUEST\x10\x02\x12\x19\n\x15\x43LIENT_APPROVAL_GRANT\x10\x03\x12\x1b\n\x17\x43LIENT_APPROVAL_REQUEST\x10\x04\x12\x17\n\x13\x43RON_APPROVAL_GRANT\x10\x05\x12\x19\n\x15\x43RON_APPROVAL_REQUEST\x10\x06\x12\x17\n\x13HUNT_APPROVAL_GRANT\x10\x07\x12\x19\n\x15HUNT_APPROVAL_REQUEST\x10\x08\x12\x10\n\x0cHUNT_CREATED\x10\t\x12\x11\n\rHUNT_MODIFIED\x10\n\x12\x0f\n\x0bHUNT_PAUSED\x10\x0b\x12\x10\n\x0cHUNT_STARTED\x10\x0c\x12\x10\n\x0cHUNT_STOPPED\x10\r\x12\x14\n\x10\x43LIENT_ADD_LABEL\x10\x0e\x12\x17\n\x13\x43LIENT_REMOVE_LABEL\x10\x0f\x12\x0c\n\x08USER_ADD\x10\x10\x12\x0f\n\x0bUSER_UPDATE\x10\x11\x12\x0f\n\x0bUSER_DELETE\x10\x12\"\xc0\x03\n\x13GoogleCloudInstance\x12g\n\tunique_id\x18\x01 \x01(\tBT\xe2\xfc\xe3\xc4\x01N\x12LGlobally unique instance ID, a concatenation of zone/project_id/instance_id.\x12;\n\x04zone\x18\x02 \x01(\tB-\xe2\xfc\xe3\xc4\x01\'\x12%Zone ID where the instance is running\x12>\n\nproject_id\x18\x03 \x01(\tB*\xe2\xfc\xe3\xc4\x01$\x12\"Project ID containing the instance\x12\x45\n\x0binstance_id\x18\x04 \x01(\tB0\xe2\xfc\xe3\xc4\x01*\x12(Instance ID (may not be globally unique)\x12+\n\x08hostname\x18\x05 \x01(\tB\x19\xe2\xfc\xe3\xc4\x01\x13\x12\x11Instance hostname\x12O\n\x0cmachine_type\x18\x06 \x01(\tB9\xe2\xfc\xe3\xc4\x01\x33\x12\x31Machine type name of the instance\'s host machine.\"\xd7\x02\n\x13\x41mazonCloudInstance\x12\x39\n\x0binstance_id\x18\x01 \x01(\tB$\xe2\xfc\xe3\xc4\x01\x1e\x12\x1cGlobally unique instance ID.\x12?\n\x06\x61mi_id\x18\x02 \x01(\tB/\xe2\xfc\xe3\xc4\x01)\x12\'The AMI ID used to launch the instance.\x12H\n\x08hostname\x18\x03 \x01(\tB6\xe2\xfc\xe3\xc4\x01\x30\x12.The private IPv4 DNS hostname of the instance.\x12\x44\n\x0fpublic_hostname\x18\x04 \x01(\tB+\xe2\xfc\xe3\xc4\x01%\x12#The instance\'s public DNS hostname.\x12\x34\n\rinstance_type\x18\x05 \x01(\tB\x1d\xe2\xfc\xe3\xc4\x01\x17\x12\x15The type of instance.\"\xcf\x01\n\rCloudInstance\x12\x36\n\ncloud_type\x18\x01 \x01(\x0e\x32\x1b.CloudInstance.InstanceType:\x05UNSET\x12$\n\x06google\x18\x02 \x01(\x0b\x32\x14.GoogleCloudInstance\x12$\n\x06\x61mazon\x18\x03 \x01(\x0b\x32\x14.AmazonCloudInstance\":\n\x0cInstanceType\x12\x12\n\x05UNSET\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\n\n\x06\x41MAZON\x10\x00\x12\n\n\x06GOOGLE\x10\x01\"\xe3\x07\n\rClientSummary\x12\x37\n\tclient_id\x18\x01 \x01(\tB$\xe2\xfc\xe3\xc4\x01\x1e\n\tClientURN\x12\x11The Client\'s URN.\x12Q\n\ttimestamp\x18\x02 \x01(\x04\x42>\xe2\xfc\xe3\xc4\x01\x38\n\x0bRDFDatetime\x12)Timestamp for the creation of the record.\x12:\n\x0bsystem_info\x18\x03 \x01(\x0b\x32\x06.UnameB\x1d\xe2\xfc\xe3\xc4\x01\x17\x12\x15\x43lient\'s system info.\x12X\n\x0b\x63lient_info\x18\x04 \x01(\x0b\x32\x12.ClientInformationB/\xe2\xfc\xe3\xc4\x01)\x12\'Basic information about the GRR client.\x12M\n\x0cinstall_date\x18\x05 \x01(\x04\x42\x37\xe2\xfc\xe3\xc4\x01\x31\n\x0bRDFDatetime\x12\"The date the system was installed.\x12\x45\n\ninterfaces\x18\x07 \x03(\x0b\x32\n.InterfaceB%\xe2\xfc\xe3\xc4\x01\x1f\x12\x1d\x41ll interfaces on the system.\x12:\n\rserial_number\x18\x08 \x01(\tB#\xe2\xfc\xe3\xc4\x01\x1d\x12\x1bSerial Number from HW info.\x12\x46\n\x13system_manufacturer\x18\t \x01(\tB)\xe2\xfc\xe3\xc4\x01#\x12!System Manufacturer from HW info.\x12)\n\x0bsystem_uuid\x18\r \x01(\tB\x14\xe2\xfc\xe3\xc4\x01\x0e\x12\x0cSystem UUID.\x12:\n\x05users\x18\n \x03(\x0b\x32\x05.UserB$\xe2\xfc\xe3\xc4\x01\x1e\x12\x1cUser accounts on the system.\x12^\n\ncloud_type\x18\x0b \x01(\x0e\x32\x1b.CloudInstance.InstanceType:\x05UNSETB&\xe2\xfc\xe3\xc4\x01 \x12\x1e\x43loud type: AMAZON/GOOGLE etc.\x12\xa0\x01\n\x11\x63loud_instance_id\x18\x0c \x01(\tB\x84\x01\xe2\xfc\xe3\xc4\x01~\x12|Cloud instance unique ID. For Amazon EC2 it is the instance ID, for GCE it is the zone/project_id/instance_id concatenation.:,\xda\xfc\xe3\xc4\x01&\n$A summary of the client information.\"j\n\x10\x43ronJobRunStatus\x12,\n\x06status\x18\x01 \x01(\x0e\x32\x18.CronJobRunStatus.Status:\x02OK\"(\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x0b\n\x07TIMEOUT\x10\x01\x12\t\n\x05\x45RROR\x10\x02\"\x80\x01\n\x15MetricFieldDefinition\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x34\n\nfield_type\x18\x02 \x01(\x0e\x32 .MetricFieldDefinition.FieldType\"\x1d\n\tFieldType\x12\x07\n\x03INT\x10\x00\x12\x07\n\x03STR\x10\x01\"\xa3\n\n\x0eMetricMetadata\x12%\n\x07varname\x18\x01 \x01(\tB\x14\xe2\xfc\xe3\xc4\x01\x0e\x12\x0cMetric name.\x12^\n\x0bmetric_type\x18\x02 \x01(\x0e\x32\x1a.MetricMetadata.MetricTypeB-\xe2\xfc\xe3\xc4\x01\'\x12%Metric type: counter, gauge or event.\x12\xfc\x01\n\nvalue_type\x18\x03 \x01(\x0e\x32\x19.MetricMetadata.ValueTypeB\xcc\x01\xe2\xfc\xe3\xc4\x01\xc5\x01\x12\xc2\x01Metric value type: int, float, str or distribution. Please note that counter metrics always have type INT and event metrics always have type DISTRIBUTION. Gauge metrics can be INT, FLOAT or STR.\x12[\n\x0b\x66ields_defs\x18\x04 \x03(\x0b\x32\x16.MetricFieldDefinitionB.\xe2\xfc\xe3\xc4\x01(\x12&Fields definitions for a given metric.\x12\x35\n\tdocstring\x18\x05 \x01(\tB\"\xe2\xfc\xe3\xc4\x01\x1c\x12\x1a\x44\x65scription of the metric.\x12h\n\x05units\x18\x06 \x01(\x0e\x32\x1b.MetricMetadata.MetricUnitsB<\xe2\xfc\xe3\xc4\x01\x36\x12\x34\x46or numerical metrics - measuring unit that is used.\"\xbc\x03\n\nMetricType\x12U\n\x07\x43OUNTER\x10\x00\x1aH\xea\xb9\xcb\xb9\x01\x42Integer metric that can only be incremented and never decremented.\x12\xd0\x01\n\x05GAUGE\x10\x01\x1a\xc4\x01\xea\xb9\xcb\xb9\x01\xbd\x01Gauge metrics can be either string, integer or float. Their value may be any value of their type and they may change their value arbitrarily (unlike counters, which can only be incremented.\x12\x83\x01\n\x05\x45VENT\x10\x02\x1ax\xea\xb9\xcb\xb9\x01rEvent metrics are used to record events that take certain amount of time. They\'re stored as latency distributions.\"\x91\x01\n\x0bMetricUnits\x12\x0b\n\x07SECONDS\x10\x00\x12\x10\n\x0cMILLISECONDS\x10\x01\x12\x10\n\x0cMICROSECONDS\x10\x02\x12\x0f\n\x0bNANOSECONDS\x10\x03\x12\x08\n\x04\x42ITS\x10\n\x12\t\n\x05\x42YTES\x10\x0b\x12\r\n\tKILOBYTES\x10\x0c\x12\r\n\tMEGABYTES\x10\r\x12\r\n\tGIGABYTES\x10\x0e\":\n\tValueType\x12\x07\n\x03INT\x10\x00\x12\t\n\x05\x46LOAT\x10\x01\x12\x07\n\x03STR\x10\x02\x12\x10\n\x0c\x44ISTRIBUTION\x10\x03\"=\n\x19StatsStoreMetricsMetadata\x12 \n\x07metrics\x18\x01 \x03(\x0b\x32\x0f.MetricMetadata\"\xd2\x03\n\x0c\x44istribution\x12\x46\n\x03sum\x18\x01 \x01(\x02\x42\x39\xe2\xfc\xe3\xc4\x01\x33\x12\x31Sum of all the values recorded in a distribution.\x12J\n\x05\x63ount\x18\x02 \x01(\x04\x42;\xe2\xfc\xe3\xc4\x01\x35\x12\x33\x43ount of all the values recorded in a distribution.\x12\xdb\x01\n\x04\x62ins\x18\x03 \x03(\x02\x42\xcc\x01\xe2\xfc\xe3\xc4\x01\xc5\x01\x12\xc2\x01Values of upper range limits of all the bins in the distribution. The first bin will have a lower range limit of -Infinity. The last bin will accept all the values bigger than its\' higher range.\x12P\n\x0c\x62ins_heights\x18\x04 \x03(\x02\x42:\xe2\xfc\xe3\xc4\x01\x34\x12\x32Heights of all the bins defined in the bins field.\"r\n\x14StatsStoreFieldValue\x12\x34\n\nfield_type\x18\x01 \x01(\x0e\x32 .MetricFieldDefinition.FieldType\x12\x11\n\tstr_value\x18\x02 \x01(\t\x12\x11\n\tint_value\x18\x03 \x01(\x03\"\xd4\x01\n\x0fStatsStoreValue\x12-\n\nvalue_type\x18\x01 \x01(\x0e\x32\x19.MetricMetadata.ValueType\x12\x11\n\tstr_value\x18\x02 \x01(\t\x12\x11\n\tint_value\x18\x03 \x01(\x03\x12\x13\n\x0b\x66loat_value\x18\x04 \x01(\x02\x12)\n\x12\x64istribution_value\x18\x05 \x01(\x0b\x32\r.Distribution\x12,\n\rfields_values\x18\x06 \x03(\x0b\x32\x15.StatsStoreFieldValue\"\xb2\x01\n\x0f\x41\x46\x46\x34ObjectLabel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05owner\x18\x02 \x01(\tB1\xe2\xfc\xe3\xc4\x01+\x12)Username of the user who added the label.\x12O\n\ttimestamp\x18\x03 \x01(\x04\x42<\xe2\xfc\xe3\xc4\x01\x36\n\x0bRDFDatetime\x12\'Timestamp for when the label was added.\"8\n\x14\x41\x46\x46\x34ObjectLabelsList\x12 \n\x06labels\x18\x01 \x03(\x0b\x32\x10.AFF4ObjectLabel\"\xb6\x01\n\x0fPersistenceFile\x12\x1b\n\x08pathspec\x18\x01 \x01(\x0b\x32\t.PathSpec\x12\x85\x01\n\nsource_urn\x18\x02 \x01(\tBq\xe2\xfc\xe3\xc4\x01k\n\x06RDFURN\x12\x61URN for rdfvalue that used this file for  persistence. e.g. WindowsServiceInformation, StatEntry.\"\xca\x01\n\x12\x45ndToEndTestResult\x12@\n\x07success\x18\x01 \x01(\x08:\x05\x66\x61lseB(\xe2\xfc\xe3\xc4\x01\"\x12 Whether the test was successful.\x12\x17\n\x0ftest_class_name\x18\x02 \x01(\t\x12L\n\ttimestamp\x18\x03 \x01(\x04\x42\x39\xe2\xfc\xe3\xc4\x01\x33\n\x0bRDFDatetime\x12$Timestamp for when the test was run.\x12\x0b\n\x03log\x18\x04 \x01(\t\"\x0e\n\x0c\x45mptyMessage\"\xb1\x04\n\x0fNSRLInformation\x12:\n\x04sha1\x18\x01 \x01(\x0c\x42,\xe2\xfc\xe3\xc4\x01&\n\nHashDigest\x12\x18SHA1 binary hash digest.\x12\x38\n\x03md5\x18\x02 \x01(\x0c\x42+\xe2\xfc\xe3\xc4\x01%\n\nHashDigest\x12\x17MD5 binary hash digest.\x12\x36\n\x05\x63rc32\x18\x03 \x01(\rB\'\xe2\xfc\xe3\xc4\x01!\x12\x1f\x33\x32 bit Cyclic redundancy check.\x12,\n\tfile_size\x18\x04 \x01(\x04\x42\x19\xe2\xfc\xe3\xc4\x01\x13\x12\x11Size of the file.\x12,\n\tfile_name\x18\x05 \x01(\tB\x19\xe2\xfc\xe3\xc4\x01\x13\x12\x11Name of the file.\x12G\n\x0cproduct_code\x18\x06 \x03(\x04\x42\x31\xe2\xfc\xe3\xc4\x01+\x12)Code of the product this file is part of.\x12\x43\n\x0eop_system_code\x18\x07 \x03(\tB+\xe2\xfc\xe3\xc4\x01%\x12#Operating system this file runs on.\x12\x43\n\tfile_type\x18\x08 \x01(\x0e\x32\x19.NSRLInformation.FileTypeB\x15\xe2\xfc\xe3\xc4\x01\x0f\x12\rType of file.\"A\n\x08\x46ileType\x12\x0f\n\x0bNORMAL_FILE\x10\x00\x12\x12\n\x0eMALICIOUS_FILE\x10\x01\x12\x10\n\x0cSPECIAL_FILE\x10\x02\"(\n\x16PendingFlowTermination\x12\x0e\n\x06reason\x18\x01 \x01(\t\"6\n\x18\x44umpProcessMemoryRequest\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\r\n\x05pause\x18\x02 \x01(\x08\"\xb8\x01\n\rSignaturePart\x12]\n\tsignature\x18\x01 \x01(\x0c\x42J\xe2\xfc\xe3\xc4\x01\x44\x12\x42The signature covers the plain text of the encrypted cipher field.\x12H\n\x10\x65ncrypted_cipher\x18\x02 \x01(\x0c\x42.\xe2\xfc\xe3\xc4\x01(\x12&The encrypted CipherProperties object.')
  ,
  dependencies=[grr_dot_proto_dot_semantic__pb2.DESCRIPTOR,grr_dot_proto_dot_knowledge__base__pb2.DESCRIPTOR,])



_GRRMESSAGE_AUTHORIZATIONSTATE = _descriptor.EnumDescriptor(
  name='AuthorizationState',
  full_name='GrrMessage.AuthorizationState',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNAUTHENTICATED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='AUTHENTICATED', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DESYNCHRONIZED', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2290,
  serialized_end=2370,
)
_sym_db.RegisterEnumDescriptor(_GRRMESSAGE_AUTHORIZATIONSTATE)

_GRRMESSAGE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='GrrMessage.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MESSAGE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STATUS', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ITERATOR', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2372,
  serialized_end=2417,
)
_sym_db.RegisterEnumDescriptor(_GRRMESSAGE_TYPE)

_GRRMESSAGE_PRIORITY = _descriptor.EnumDescriptor(
  name='Priority',
  full_name='GrrMessage.Priority',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LOW_PRIORITY', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MEDIUM_PRIORITY', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HIGH_PRIORITY', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2419,
  serialized_end=2487,
)
_sym_db.RegisterEnumDescriptor(_GRRMESSAGE_PRIORITY)

_PACKEDMESSAGELIST_COMPRESSIONTYPE = _descriptor.EnumDescriptor(
  name='CompressionType',
  full_name='PackedMessageList.CompressionType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNCOMPRESSED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ZCOMPRESSION', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2818,
  serialized_end=2871,
)
_sym_db.RegisterEnumDescriptor(_PACKEDMESSAGELIST_COMPRESSIONTYPE)

_CIPHERPROPERTIES_HMACTYPE = _descriptor.EnumDescriptor(
  name='HMACType',
  full_name='CipherProperties.HMACType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SIMPLE_HMAC', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FULL_HMAC', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3089,
  serialized_end=3131,
)
_sym_db.RegisterEnumDescriptor(_CIPHERPROPERTIES_HMACTYPE)

_CLIENTCOMMUNICATION_STATUS = _descriptor.EnumDescriptor(
  name='Status',
  full_name='ClientCommunication.Status',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OK', index=0, number=200,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BAD_REQUEST', index=1, number=400,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CIPHER_ERROR', index=2, number=406,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3576,
  serialized_end=3630,
)
_sym_db.RegisterEnumDescriptor(_CLIENTCOMMUNICATION_STATUS)

_GRRSTATUS_RETURNEDSTATUS = _descriptor.EnumDescriptor(
  name='ReturnedStatus',
  full_name='GrrStatus.ReturnedStatus',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OK', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IOERROR', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RETRANSMISSION_DETECTED', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENT_KILLED', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NETWORK_LIMIT_EXCEEDED', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='WORKER_STUCK', index=5, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GENERIC_ERROR', index=6, number=10,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3894,
  serialized_end=4044,
)
_sym_db.RegisterEnumDescriptor(_GRRSTATUS_RETURNEDSTATUS)

_HUNTNOTIFICATION_STATUS = _descriptor.EnumDescriptor(
  name='Status',
  full_name='HuntNotification.Status',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OK', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERROR', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BAD', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=5151,
  serialized_end=5200,
)
_sym_db.RegisterEnumDescriptor(_HUNTNOTIFICATION_STATUS)

_FLOWNOTIFICATION_STATUS = _descriptor.EnumDescriptor(
  name='Status',
  full_name='FlowNotification.Status',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OK', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERROR', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=5151,
  serialized_end=5191,
)
_sym_db.RegisterEnumDescriptor(_FLOWNOTIFICATION_STATUS)

_DATABLOB_COMPRESSIONTYPE = _descriptor.EnumDescriptor(
  name='CompressionType',
  full_name='DataBlob.CompressionType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNCOMPRESSED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ZCOMPRESSION', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2818,
  serialized_end=2871,
)
_sym_db.RegisterEnumDescriptor(_DATABLOB_COMPRESSIONTYPE)

_PATHSPEC_PATHTYPE = _descriptor.EnumDescriptor(
  name='PathType',
  full_name='PathSpec.PathType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSET', index=0, number=-1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OS', index=1, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK', index=2, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REGISTRY', index=3, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MEMORY', index=4, number=3,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\360\271\313\271\001\002')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TMPFILE', index=5, number=4,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\360\271\313\271\001\002')),
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=8880,
  serialized_end=8982,
)
_sym_db.RegisterEnumDescriptor(_PATHSPEC_PATHTYPE)

_PATHSPEC_OPTIONS = _descriptor.EnumDescriptor(
  name='Options',
  full_name='PathSpec.Options',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='CASE_INSENSITIVE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CASE_LITERAL', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REGEX', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RECURSIVE', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=8984,
  serialized_end=9059,
)
_sym_db.RegisterEnumDescriptor(_PATHSPEC_OPTIONS)

_PATHSPEC_TSK_FS_ATTR_TYPE = _descriptor.EnumDescriptor(
  name='tsk_fs_attr_type',
  full_name='PathSpec.tsk_fs_attr_type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_DEFAULT', index=0, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_SI', index=1, number=16,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_ATTRLIST', index=2, number=32,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_FNAME', index=3, number=48,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_VVER', index=4, number=64,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_OBJID', index=5, number=64,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_SEC', index=6, number=80,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_VNAME', index=7, number=96,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_VINFO', index=8, number=112,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_DATA', index=9, number=128,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_IDXROOT', index=10, number=144,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_IDXALLOC', index=11, number=160,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_BITMAP', index=12, number=176,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_SYMLNK', index=13, number=192,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_REPARSE', index=14, number=192,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_EAINFO', index=15, number=208,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_EA', index=16, number=224,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_PROP', index=17, number=240,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_NTFS_LOG', index=18, number=256,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK_FS_ATTR_TYPE_UNIX_INDIR', index=19, number=4097,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001')),
  serialized_start=9062,
  serialized_end=9752,
)
_sym_db.RegisterEnumDescriptor(_PATHSPEC_TSK_FS_ATTR_TYPE)

_STATENTRY_REGISTRYTYPE = _descriptor.EnumDescriptor(
  name='RegistryType',
  full_name='StatEntry.RegistryType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='REG_NONE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_SZ', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_EXPAND_SZ', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_BINARY', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_DWORD', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_DWORD_LITTLE_ENDIAN', index=5, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_DWORD_BIG_ENDIAN', index=6, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_LINK', index=7, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_MULTI_SZ', index=8, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REG_QWORD', index=9, number=11,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001')),
  serialized_start=11520,
  serialized_end=11716,
)
_sym_db.RegisterEnumDescriptor(_STATENTRY_REGISTRYTYPE)

_CERTIFICATE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='Certificate.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='CSR', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CRT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CA', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=12089,
  serialized_end=12121,
)
_sym_db.RegisterEnumDescriptor(_CERTIFICATE_TYPE)

_NETWORKADDRESS_FAMILY = _descriptor.EnumDescriptor(
  name='Family',
  full_name='NetworkAddress.Family',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='INET', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INET6', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=13526,
  serialized_end=13555,
)
_sym_db.RegisterEnumDescriptor(_NETWORKADDRESS_FAMILY)

_FINGERPRINTTUPLE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='FingerprintTuple.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FPT_GENERIC', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FPT_PE_COFF', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=15262,
  serialized_end=15302,
)
_sym_db.RegisterEnumDescriptor(_FINGERPRINTTUPLE_TYPE)

_FINGERPRINTTUPLE_HASHTYPE = _descriptor.EnumDescriptor(
  name='HashType',
  full_name='FingerprintTuple.HashType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MD5', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHA1', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHA256', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=15304,
  serialized_end=15345,
)
_sym_db.RegisterEnumDescriptor(_FINGERPRINTTUPLE_HASHTYPE)

_SIGNEDBLOB_HASHTYPE = _descriptor.EnumDescriptor(
  name='HashType',
  full_name='SignedBlob.HashType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MD5', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHA1', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHA256', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=15304,
  serialized_end=15345,
)
_sym_db.RegisterEnumDescriptor(_SIGNEDBLOB_HASHTYPE)

_SIGNEDBLOB_SIGNATURETYPE = _descriptor.EnumDescriptor(
  name='SignatureType',
  full_name='SignedBlob.SignatureType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='RSA_PKCS1v15', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RSA_PSS', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=15918,
  serialized_end=15964,
)
_sym_db.RegisterEnumDescriptor(_SIGNEDBLOB_SIGNATURETYPE)

_SYMMETRICCIPHER_ALGORITHM = _descriptor.EnumDescriptor(
  name='Algorithm',
  full_name='SymmetricCipher.Algorithm',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='AES128CBC', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=16138,
  serialized_end=16174,
)
_sym_db.RegisterEnumDescriptor(_SYMMETRICCIPHER_ALGORITHM)

_GREPSPEC_MODE = _descriptor.EnumDescriptor(
  name='Mode',
  full_name='GrepSpec.Mode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALL_HITS', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FIRST_HIT', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=19408,
  serialized_end=19443,
)
_sym_db.RegisterEnumDescriptor(_GREPSPEC_MODE)

_FOREMANCLIENTRULESET_MATCHMODE = _descriptor.EnumDescriptor(
  name='MatchMode',
  full_name='ForemanClientRuleSet.MatchMode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MATCH_ALL', index=0, number=0,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\tMatch all')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MATCH_ANY', index=1, number=1,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\tMatch any')),
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=21496,
  serialized_end=21571,
)
_sym_db.RegisterEnumDescriptor(_FOREMANCLIENTRULESET_MATCHMODE)

_FOREMANCLIENTRULE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='ForemanClientRule.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OS', index=0, number=0,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\020Operating system')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LABEL', index=1, number=1,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\005Label')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REGEX', index=2, number=2,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\005Regex')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INTEGER', index=3, number=3,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\007Integer')),
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=21797,
  serialized_end=21911,
)
_sym_db.RegisterEnumDescriptor(_FOREMANCLIENTRULE_TYPE)

_FOREMANLABELCLIENTRULE_MATCHMODE = _descriptor.EnumDescriptor(
  name='MatchMode',
  full_name='ForemanLabelClientRule.MatchMode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MATCH_ALL', index=0, number=0,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\tMatch all')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MATCH_ANY', index=1, number=1,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\tMatch any')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DOES_NOT_MATCH_ALL', index=2, number=2,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\021Doesn\'t match all')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DOES_NOT_MATCH_ANY', index=3, number=3,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\021Doesn\'t match any')),
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=22127,
  serialized_end=22300,
)
_sym_db.RegisterEnumDescriptor(_FOREMANLABELCLIENTRULE_MATCHMODE)

_FOREMANINTEGERCLIENTRULE_OPERATOR = _descriptor.EnumDescriptor(
  name='Operator',
  full_name='ForemanIntegerClientRule.Operator',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EQUAL', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LESS_THAN', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GREATER_THAN', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=22756,
  serialized_end=22810,
)
_sym_db.RegisterEnumDescriptor(_FOREMANINTEGERCLIENTRULE_OPERATOR)

_ITERATOR_STATE = _descriptor.EnumDescriptor(
  name='State',
  full_name='Iterator.State',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='RUNNING', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FINISHED', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=24213,
  serialized_end=24247,
)
_sym_db.RegisterEnumDescriptor(_ITERATOR_STATE)

_GLOBALNOTIFICATION_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='GlobalNotification.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='INFO', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='WARNING', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERROR', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=24881,
  serialized_end=24921,
)
_sym_db.RegisterEnumDescriptor(_GLOBALNOTIFICATION_TYPE)

_AUDITEVENT_ACTION = _descriptor.EnumDescriptor(
  name='Action',
  full_name='AuditEvent.Action',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RUN_FLOW', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENT_APPROVAL_BREAK_GLASS_REQUEST', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENT_APPROVAL_GRANT', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENT_APPROVAL_REQUEST', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CRON_APPROVAL_GRANT', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CRON_APPROVAL_REQUEST', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HUNT_APPROVAL_GRANT', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HUNT_APPROVAL_REQUEST', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HUNT_CREATED', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HUNT_MODIFIED', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HUNT_PAUSED', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HUNT_STARTED', index=12, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HUNT_STOPPED', index=13, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENT_ADD_LABEL', index=14, number=14,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENT_REMOVE_LABEL', index=15, number=15,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='USER_ADD', index=16, number=16,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='USER_UPDATE', index=17, number=17,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='USER_DELETE', index=18, number=18,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=25472,
  serialized_end=25893,
)
_sym_db.RegisterEnumDescriptor(_AUDITEVENT_ACTION)

_CLOUDINSTANCE_INSTANCETYPE = _descriptor.EnumDescriptor(
  name='InstanceType',
  full_name='CloudInstance.InstanceType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSET', index=0, number=-1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='AMAZON', index=1, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GOOGLE', index=2, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=26842,
  serialized_end=26900,
)
_sym_db.RegisterEnumDescriptor(_CLOUDINSTANCE_INSTANCETYPE)

_CRONJOBRUNSTATUS_STATUS = _descriptor.EnumDescriptor(
  name='Status',
  full_name='CronJobRunStatus.Status',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OK', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TIMEOUT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERROR', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=27966,
  serialized_end=28006,
)
_sym_db.RegisterEnumDescriptor(_CRONJOBRUNSTATUS_STATUS)

_METRICFIELDDEFINITION_FIELDTYPE = _descriptor.EnumDescriptor(
  name='FieldType',
  full_name='MetricFieldDefinition.FieldType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='INT', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STR', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=28108,
  serialized_end=28137,
)
_sym_db.RegisterEnumDescriptor(_METRICFIELDDEFINITION_FIELDTYPE)

_METRICMETADATA_METRICTYPE = _descriptor.EnumDescriptor(
  name='MetricType',
  full_name='MetricMetadata.MetricType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='COUNTER', index=0, number=0,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001BInteger metric that can only be incremented and never decremented.')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GAUGE', index=1, number=1,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\275\001Gauge metrics can be either string, integer or float. Their value may be any value of their type and they may change their value arbitrarily (unlike counters, which can only be incremented.')),
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EVENT', index=2, number=2,
      options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001rEvent metrics are used to record events that take certain amount of time. They\'re stored as latency distributions.')),
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=28803,
  serialized_end=29247,
)
_sym_db.RegisterEnumDescriptor(_METRICMETADATA_METRICTYPE)

_METRICMETADATA_METRICUNITS = _descriptor.EnumDescriptor(
  name='MetricUnits',
  full_name='MetricMetadata.MetricUnits',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SECONDS', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MILLISECONDS', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MICROSECONDS', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NANOSECONDS', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BITS', index=4, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BYTES', index=5, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='KILOBYTES', index=6, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MEGABYTES', index=7, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GIGABYTES', index=8, number=14,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=29250,
  serialized_end=29395,
)
_sym_db.RegisterEnumDescriptor(_METRICMETADATA_METRICUNITS)

_METRICMETADATA_VALUETYPE = _descriptor.EnumDescriptor(
  name='ValueType',
  full_name='MetricMetadata.ValueType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='INT', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FLOAT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STR', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DISTRIBUTION', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=29397,
  serialized_end=29455,
)
_sym_db.RegisterEnumDescriptor(_METRICMETADATA_VALUETYPE)

_NSRLINFORMATION_FILETYPE = _descriptor.EnumDescriptor(
  name='FileType',
  full_name='NSRLInformation.FileType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NORMAL_FILE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MALICIOUS_FILE', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SPECIAL_FILE', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=31462,
  serialized_end=31527,
)
_sym_db.RegisterEnumDescriptor(_NSRLINFORMATION_FILETYPE)


_HTTPREQUEST = _descriptor.Descriptor(
  name='HttpRequest',
  full_name='HttpRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='raw_headers', full_name='HttpRequest.raw_headers', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='user_agent', full_name='HttpRequest.user_agent', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='source_ip', full_name='HttpRequest.source_ip', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='url', full_name='HttpRequest.url', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='user', full_name='HttpRequest.user', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=True, default_value=_b("anonymous").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='HttpRequest.timestamp', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\n\013RDFDatetime\022,Timestamp: unique identifier for the request'))),
    _descriptor.FieldDescriptor(
      name='method', full_name='HttpRequest.method', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=True, default_value=_b("GET").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='referrer', full_name='HttpRequest.referrer', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='size', full_name='HttpRequest.size', index=8,
      number=9, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034Size of the request in bytes'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=83,
  serialized_end=371,
)


_GRRMESSAGE = _descriptor.Descriptor(
  name='GrrMessage',
  full_name='GrrMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='session_id', full_name='GrrMessage.session_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\n\rFlowSessionID\0228The session id of the flow that this message belongs to.'))),
    _descriptor.FieldDescriptor(
      name='request_id', full_name='GrrMessage.request_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001P\022NThe message is in response to this request number (requests increment from 1).'))),
    _descriptor.FieldDescriptor(
      name='response_id', full_name='GrrMessage.response_id', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\0224Responses for each request are also numbered from 1.'))),
    _descriptor.FieldDescriptor(
      name='name', full_name='GrrMessage.name', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001s\022qThis is the name of the client action that will be executed. It is set by the flow and is executed by the client.'))),
    _descriptor.FieldDescriptor(
      name='args', full_name='GrrMessage.args', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='arg', full_name='GrrMessage.arg', index=5,
      number=20, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='source', full_name='GrrMessage.source', index=6,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001N\n\006RDFURN\022DClient name where the message came from (Filled in by the frontend).'))),
    _descriptor.FieldDescriptor(
      name='auth_state', full_name='GrrMessage.auth_state', index=7,
      number=7, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='type', full_name='GrrMessage.type', index=8,
      number=8, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='priority', full_name='GrrMessage.priority', index=9,
      number=9, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001`\022^The priority of this message - allows higher priority messages to leap to the front of queues.'))),
    _descriptor.FieldDescriptor(
      name='ttl', full_name='GrrMessage.ttl', index=10,
      number=10, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=10,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001V\022TTime to live - each time a request is retransmitted this decrement until it expires.'))),
    _descriptor.FieldDescriptor(
      name='require_fastpoll', full_name='GrrMessage.require_fastpoll', index=11,
      number=11, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=True,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\022GIf this is true, the client will enter fast poll mode after processing.'))),
    _descriptor.FieldDescriptor(
      name='cpu_limit', full_name='GrrMessage.cpu_limit', index=12,
      number=12, type=2, cpp_type=6, label=1,
      has_default_value=True, default_value=float(3600),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001:\0228Maximum number of CPU seconds to be used by this action.'))),
    _descriptor.FieldDescriptor(
      name='args_age', full_name='GrrMessage.args_age', index=13,
      number=13, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001,\n\013RDFDatetime\022\035The age of the args rdfvalue.'))),
    _descriptor.FieldDescriptor(
      name='args_rdf_name', full_name='GrrMessage.args_rdf_name', index=14,
      number=14, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='task_id', full_name='GrrMessage.task_id', index=15,
      number=15, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='task_ttl', full_name='GrrMessage.task_ttl', index=16,
      number=16, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=7,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='queue', full_name='GrrMessage.queue', index=17,
      number=17, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\n\006RDFURN\022\'The scheduler queue this message is in.'))),
    _descriptor.FieldDescriptor(
      name='eta', full_name='GrrMessage.eta', index=18,
      number=18, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001L\n\013RDFDatetime\022=The time when this message will become available for leasing.'))),
    _descriptor.FieldDescriptor(
      name='last_lease', full_name='GrrMessage.last_lease', index=19,
      number=19, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='network_bytes_limit', full_name='GrrMessage.network_bytes_limit', index=20,
      number=21, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=10737418240,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\217\002\022\214\002Maximum number of network bytes to be sent, 10G default. All bytes charged against the flow session ID count towards the limit but only during TransferBuffer is the limit enforced. This means we can blockfile transfers but still communicate after the limit is reached.'))),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='GrrMessage.timestamp', index=21,
      number=22, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001B\n\013RDFDatetime\0223An optional timestamp when this message was stored.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _GRRMESSAGE_AUTHORIZATIONSTATE,
    _GRRMESSAGE_TYPE,
    _GRRMESSAGE_PRIORITY,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=374,
  serialized_end=2487,
)


_MESSAGELIST = _descriptor.Descriptor(
  name='MessageList',
  full_name='MessageList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='job', full_name='MessageList.job', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2489,
  serialized_end=2528,
)


_PACKEDMESSAGELIST = _descriptor.Descriptor(
  name='PackedMessageList',
  full_name='PackedMessageList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='message_list', full_name='PackedMessageList.message_list', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='source', full_name='PackedMessageList.source', index=1,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0012\n\006RDFURN\022(The source where this message came from.'))),
    _descriptor.FieldDescriptor(
      name='compression', full_name='PackedMessageList.compression', index=2,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='PackedMessageList.timestamp', index=3,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001H\n\013RDFDatetime\0229The client sends its timestamp to prevent replay attacks.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _PACKEDMESSAGELIST_COMPRESSIONTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2531,
  serialized_end=2871,
)


_CIPHERPROPERTIES = _descriptor.Descriptor(
  name='CipherProperties',
  full_name='CipherProperties',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='CipherProperties.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='key', full_name='CipherProperties.key', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))),
    _descriptor.FieldDescriptor(
      name='metadata_iv', full_name='CipherProperties.metadata_iv', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))),
    _descriptor.FieldDescriptor(
      name='hmac_key', full_name='CipherProperties.hmac_key', index=3,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))),
    _descriptor.FieldDescriptor(
      name='hmac_type', full_name='CipherProperties.hmac_type', index=4,
      number=6, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _CIPHERPROPERTIES_HMACTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2874,
  serialized_end=3131,
)


_CIPHERMETADATA = _descriptor.Descriptor(
  name='CipherMetadata',
  full_name='CipherMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='CipherMetadata.source', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\n\006RDFURN\022?The common name this cipher should be used to communicate with.'))),
    _descriptor.FieldDescriptor(
      name='signature', full_name='CipherMetadata.signature', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3134,
  serialized_end=3266,
)


_CLIENTCOMMUNICATION = _descriptor.Descriptor(
  name='ClientCommunication',
  full_name='ClientCommunication',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='encrypted', full_name='ClientCommunication.encrypted', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='encrypted_cipher', full_name='ClientCommunication.encrypted_cipher', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='encrypted_cipher_metadata', full_name='ClientCommunication.encrypted_cipher_metadata', index=2,
      number=9, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='packet_iv', full_name='ClientCommunication.packet_iv', index=3,
      number=8, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))),
    _descriptor.FieldDescriptor(
      name='orig_request', full_name='ClientCommunication.orig_request', index=4,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='queue_size', full_name='ClientCommunication.queue_size', index=5,
      number=4, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='status', full_name='ClientCommunication.status', index=6,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=200,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='api_version', full_name='ClientCommunication.api_version', index=7,
      number=6, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='hmac', full_name='ClientCommunication.hmac', index=8,
      number=7, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='full_hmac', full_name='ClientCommunication.full_hmac', index=9,
      number=10, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _CLIENTCOMMUNICATION_STATUS,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3269,
  serialized_end=3630,
)


_GRRSTATUS = _descriptor.Descriptor(
  name='GrrStatus',
  full_name='GrrStatus',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='GrrStatus.status', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='error_message', full_name='GrrStatus.error_message', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=True, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='backtrace', full_name='GrrStatus.backtrace', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=True, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='cpu_time_used', full_name='GrrStatus.cpu_time_used', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='child_session_id', full_name='GrrStatus.child_session_id', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\"\n\tSessionID\022\025The URN of a subflow.'))),
    _descriptor.FieldDescriptor(
      name='network_bytes_sent', full_name='GrrStatus.network_bytes_sent', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='nanny_status', full_name='GrrStatus.nanny_status', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _GRRSTATUS_RETURNEDSTATUS,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3633,
  serialized_end=4044,
)


_GRRNOTIFICATION = _descriptor.Descriptor(
  name='GrrNotification',
  full_name='GrrNotification',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='session_id', full_name='GrrNotification.session_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))),
    _descriptor.FieldDescriptor(
      name='priority', full_name='GrrNotification.priority', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='first_queued', full_name='GrrNotification.first_queued', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\n\013RDFDatetime\022,The first time this notification was queued.'))),
    _descriptor.FieldDescriptor(
      name='last_status', full_name='GrrNotification.last_status', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001a\022_If this is for a status based event (flows), the request number of the last status we received.'))),
    _descriptor.FieldDescriptor(
      name='in_progress', full_name='GrrNotification.in_progress', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001J\022HThis indicates that the flow is currently being processed by the worker.'))),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='GrrNotification.timestamp', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\n\013RDFDatetime\022,The time the notification was scheduled for.'))),
    _descriptor.FieldDescriptor(
      name='ttl', full_name='GrrNotification.ttl', index=6,
      number=7, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=10,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001m\022kTime to live - each time a notification is rescheduled, this is decremented until the notification expires.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4047,
  serialized_end=4706,
)


_CLIENTCRASH = _descriptor.Descriptor(
  name='ClientCrash',
  full_name='ClientCrash',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='ClientCrash.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))),
    _descriptor.FieldDescriptor(
      name='session_id', full_name='ClientCrash.session_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))),
    _descriptor.FieldDescriptor(
      name='client_info', full_name='ClientCrash.client_info', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='ClientCrash.timestamp', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\013RDFDatetime\022\030When the client crashed.'))),
    _descriptor.FieldDescriptor(
      name='crash_type', full_name='ClientCrash.crash_type', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))),
    _descriptor.FieldDescriptor(
      name='crash_message', full_name='ClientCrash.crash_message', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='backtrace', full_name='ClientCrash.backtrace', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='nanny_status', full_name='ClientCrash.nanny_status', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4709,
  serialized_end=5009,
)


_HUNTNOTIFICATION = _descriptor.Descriptor(
  name='HuntNotification',
  full_name='HuntNotification',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='session_id', full_name='HuntNotification.session_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='HuntNotification.client_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))),
    _descriptor.FieldDescriptor(
      name='status', full_name='HuntNotification.status', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HUNTNOTIFICATION_STATUS,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5012,
  serialized_end=5200,
)


_HUNTRESULTNOTIFICATION = _descriptor.Descriptor(
  name='HuntResultNotification',
  full_name='HuntResultNotification',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='result_collection_urn', full_name='HuntResultNotification.result_collection_urn', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001B\n\006RDFURN\0228The URN of the result collection containing this result.'))),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='HuntResultNotification.timestamp', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001Q\n\013RDFDatetime\022BThe timestamp identifying the result within the result collection.'))),
    _descriptor.FieldDescriptor(
      name='suffix', full_name='HuntResultNotification.suffix', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001A\022?The suffix identifying the result within the result collection.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5203,
  serialized_end=5529,
)


_FLOWNOTIFICATION = _descriptor.Descriptor(
  name='FlowNotification',
  full_name='FlowNotification',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='session_id', full_name='FlowNotification.session_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))),
    _descriptor.FieldDescriptor(
      name='flow_name', full_name='FlowNotification.flow_name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='FlowNotification.client_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))),
    _descriptor.FieldDescriptor(
      name='status', full_name='FlowNotification.status', index=3,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FLOWNOTIFICATION_STATUS,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5532,
  serialized_end=5730,
)


_CLIENTINFORMATION = _descriptor.Descriptor(
  name='ClientInformation',
  full_name='ClientInformation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_name', full_name='ClientInformation.client_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='client_version', full_name='ClientInformation.client_version', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='revision', full_name='ClientInformation.revision', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='build_time', full_name='ClientInformation.build_time', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='client_description', full_name='ClientInformation.client_description', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='labels', full_name='ClientInformation.labels', index=5,
      number=6, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5733,
  serialized_end=5879,
)


_DATABLOB = _descriptor.Descriptor(
  name='DataBlob',
  full_name='DataBlob',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='integer', full_name='DataBlob.integer', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='data', full_name='DataBlob.data', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='string', full_name='DataBlob.string', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='proto_name', full_name='DataBlob.proto_name', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='none', full_name='DataBlob.none', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='boolean', full_name='DataBlob.boolean', index=5,
      number=6, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='list', full_name='DataBlob.list', index=6,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='dict', full_name='DataBlob.dict', index=7,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='rdf_value', full_name='DataBlob.rdf_value', index=8,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\022%Store an embedded arbitrary RDFValue.'))),
    _descriptor.FieldDescriptor(
      name='float', full_name='DataBlob.float', index=9,
      number=11, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='set', full_name='DataBlob.set', index=10,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='compression', full_name='DataBlob.compression', index=11,
      number=7, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _DATABLOB_COMPRESSIONTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5882,
  serialized_end=6279,
)


_BLOBARRAY = _descriptor.Descriptor(
  name='BlobArray',
  full_name='BlobArray',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='content', full_name='BlobArray.content', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6281,
  serialized_end=6320,
)


_PRINTSTR = _descriptor.Descriptor(
  name='PrintStr',
  full_name='PrintStr',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='level', full_name='PrintStr.level', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=10,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='data', full_name='PrintStr.data', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6322,
  serialized_end=6365,
)


_COPYPATHTOFILE = _descriptor.Descriptor(
  name='CopyPathToFile',
  full_name='CopyPathToFile',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='offset', full_name='CopyPathToFile.offset', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='length', full_name='CopyPathToFile.length', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='src_path', full_name='CopyPathToFile.src_path', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='dest_path', full_name='CopyPathToFile.dest_path', index=3,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='gzip_output', full_name='CopyPathToFile.gzip_output', index=4,
      number=6, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=True,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='lifetime', full_name='CopyPathToFile.lifetime', index=5,
      number=7, type=2, cpp_type=6, label=1,
      has_default_value=True, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6368,
  serialized_end=6529,
)


_BUFFERREFERENCE = _descriptor.Descriptor(
  name='BufferReference',
  full_name='BufferReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='offset', full_name='BufferReference.offset', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='length', full_name='BufferReference.length', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='callback', full_name='BufferReference.callback', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='data', full_name='BufferReference.data', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='BufferReference.pathspec', index=4,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6531,
  serialized_end=6647,
)


_REQUESTSTATE = _descriptor.Descriptor(
  name='RequestState',
  full_name='RequestState',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='RequestState.id', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='ts_id', full_name='RequestState.ts_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='next_state', full_name='RequestState.next_state', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='status', full_name='RequestState.status', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='data', full_name='RequestState.data', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001B\022@This can contain any data we want to associate with the request.'))),
    _descriptor.FieldDescriptor(
      name='response_count', full_name='RequestState.response_count', index=5,
      number=6, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='transmission_count', full_name='RequestState.transmission_count', index=6,
      number=7, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='RequestState.client_id', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001e\n\tClientURN\022XThe client id where the request was heading - we only receiveresponses from this client.'))),
    _descriptor.FieldDescriptor(
      name='session_id', full_name='RequestState.session_id', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001H\n\tSessionID\022;This is the session_id of the flow this request belongs to.'))),
    _descriptor.FieldDescriptor(
      name='request', full_name='RequestState.request', index=9,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6650,
  serialized_end=7150,
)


_CPUSECONDS = _descriptor.Descriptor(
  name='CpuSeconds',
  full_name='CpuSeconds',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_cpu_time', full_name='CpuSeconds.user_cpu_time', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\"\025User cpu seconds used'))),
    _descriptor.FieldDescriptor(
      name='system_cpu_time', full_name='CpuSeconds.system_cpu_time', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\031\"\027System cpu seconds used'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7152,
  serialized_end=7276,
)


_CPUSAMPLE = _descriptor.Descriptor(
  name='CpuSample',
  full_name='CpuSample',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_cpu_time', full_name='CpuSample.user_cpu_time', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='system_cpu_time', full_name='CpuSample.system_cpu_time', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='cpu_percent', full_name='CpuSample.cpu_percent', index=2,
      number=3, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='CpuSample.timestamp', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\013RDFDatetime\022\030The time of this sample.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7279,
  serialized_end=7425,
)


_IOSAMPLE = _descriptor.Descriptor(
  name='IOSample',
  full_name='IOSample',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='read_count', full_name='IOSample.read_count', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='write_count', full_name='IOSample.write_count', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='read_bytes', full_name='IOSample.read_bytes', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='write_bytes', full_name='IOSample.write_bytes', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='IOSample.timestamp', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\013RDFDatetime\022\030The time of this sample.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7428,
  serialized_end=7586,
)


_CLIENTSTATS = _descriptor.Descriptor(
  name='ClientStats',
  full_name='ClientStats',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='cpu_samples', full_name='ClientStats.cpu_samples', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='RSS_size', full_name='ClientStats.RSS_size', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='VMS_size', full_name='ClientStats.VMS_size', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='memory_percent', full_name='ClientStats.memory_percent', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bytes_received', full_name='ClientStats.bytes_received', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bytes_sent', full_name='ClientStats.bytes_sent', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='io_samples', full_name='ClientStats.io_samples', index=6,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='create_time', full_name='ClientStats.create_time', index=7,
      number=8, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='boot_time', full_name='ClientStats.boot_time', index=8,
      number=9, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7589,
  serialized_end=7810,
)


_STARTUPINFO = _descriptor.Descriptor(
  name='StartupInfo',
  full_name='StartupInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_info', full_name='StartupInfo.client_info', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='boot_time', full_name='StartupInfo.boot_time', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7812,
  serialized_end=7885,
)


_EXECUTEREQUEST = _descriptor.Descriptor(
  name='ExecuteRequest',
  full_name='ExecuteRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='cmd', full_name='ExecuteRequest.cmd', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='args', full_name='ExecuteRequest.args', index=1,
      number=2, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='time_limit', full_name='ExecuteRequest.time_limit', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7887,
  serialized_end=7950,
)


_EXECUTERESPONSE = _descriptor.Descriptor(
  name='ExecuteResponse',
  full_name='ExecuteResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='request', full_name='ExecuteResponse.request', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='exit_status', full_name='ExecuteResponse.exit_status', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='stdout', full_name='ExecuteResponse.stdout', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='stderr', full_name='ExecuteResponse.stderr', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='time_used', full_name='ExecuteResponse.time_used', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7952,
  serialized_end=8075,
)


_PATHSPEC = _descriptor.Descriptor(
  name='PathSpec',
  full_name='PathSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pathtype', full_name='PathSpec.pathtype', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=-1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='path', full_name='PathSpec.path', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='mount_point', full_name='PathSpec.mount_point', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='stream_name', full_name='PathSpec.stream_name', index=3,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0019\0225A name for the data stream. For example, an ADS name.\030\001'))),
    _descriptor.FieldDescriptor(
      name='nested_path', full_name='PathSpec.nested_path', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='offset', full_name='PathSpec.offset', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='path_options', full_name='PathSpec.path_options', index=6,
      number=7, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='recursion_depth', full_name='PathSpec.recursion_depth', index=7,
      number=12, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=3,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0017\0223Recursion depth when RECURSIVE option is specified.\030\002'))),
    _descriptor.FieldDescriptor(
      name='inode', full_name='PathSpec.inode', index=8,
      number=8, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='ntfs_type', full_name='PathSpec.ntfs_type', index=9,
      number=9, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='ntfs_id', full_name='PathSpec.ntfs_id', index=10,
      number=10, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='file_size_override', full_name='PathSpec.file_size_override', index=11,
      number=13, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=512000,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001y\n\010ByteSize\022mFor files which are non seekable from their end (e.g. /proc files), this is the minimum amount of bytes read.'))),
    _descriptor.FieldDescriptor(
      name='is_virtualroot', full_name='PathSpec.is_virtualroot', index=12,
      number=14, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001?\022=Indicates that this pathspec already contains a virtual root.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _PATHSPEC_PATHTYPE,
    _PATHSPEC_OPTIONS,
    _PATHSPEC_TSK_FS_ATTR_TYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8078,
  serialized_end=9752,
)


_LISTDIRREQUEST = _descriptor.Descriptor(
  name='ListDirRequest',
  full_name='ListDirRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='ListDirRequest.pathspec', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='iterator', full_name='ListDirRequest.iterator', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9754,
  serialized_end=9828,
)


_UPLOADPOLICY = _descriptor.Descriptor(
  name='UploadPolicy',
  full_name='UploadPolicy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='UploadPolicy.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))),
    _descriptor.FieldDescriptor(
      name='expires', full_name='UploadPolicy.expires', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\n\013RDFDatetime\022\031When this upload expires.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9830,
  serialized_end=9947,
)


_UPLOADTOKEN = _descriptor.Descriptor(
  name='UploadToken',
  full_name='UploadToken',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='encrypted_policy', full_name='UploadToken.encrypted_policy', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0010\022.An encoded and encrypted UploadPolicy message.'))),
    _descriptor.FieldDescriptor(
      name='hmac', full_name='UploadToken.hmac', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\022(The HMAC for the encoded policy message.'))),
    _descriptor.FieldDescriptor(
      name='iv', full_name='UploadToken.iv', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9950,
  serialized_end=10144,
)


_UPLOADFILEREQUEST = _descriptor.Descriptor(
  name='UploadFileRequest',
  full_name='UploadFileRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='UploadFileRequest.pathspec', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='upload_token', full_name='UploadFileRequest.upload_token', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10146,
  serialized_end=10230,
)


_UPLOADEDFILE = _descriptor.Descriptor(
  name='UploadedFile',
  full_name='UploadedFile',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='stat_entry', full_name='UploadedFile.stat_entry', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='file_id', full_name='UploadedFile.file_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bytes_uploaded', full_name='UploadedFile.bytes_uploaded', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='hash', full_name='UploadedFile.hash', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10232,
  serialized_end=10340,
)


_STATFSREQUEST = _descriptor.Descriptor(
  name='StatFSRequest',
  full_name='StatFSRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path_list', full_name='StatFSRequest.path_list', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\033\022\031List of paths for statfs.'))),
    _descriptor.FieldDescriptor(
      name='pathtype', full_name='StatFSRequest.pathtype', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001!\022\037Type of path to call statfs on.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10343,
  serialized_end=10495,
)


_STATENTRY = _descriptor.Descriptor(
  name='StatEntry',
  full_name='StatEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='st_mode', full_name='StatEntry.st_mode', index=0,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\n\010StatMode\022\034A unix file permission mode.'))),
    _descriptor.FieldDescriptor(
      name='st_ino', full_name='StatEntry.st_ino', index=1,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_dev', full_name='StatEntry.st_dev', index=2,
      number=4, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_nlink', full_name='StatEntry.st_nlink', index=3,
      number=5, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_uid', full_name='StatEntry.st_uid', index=4,
      number=6, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_gid', full_name='StatEntry.st_gid', index=5,
      number=7, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_size', full_name='StatEntry.st_size', index=6,
      number=8, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_atime', full_name='StatEntry.st_atime', index=7,
      number=9, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\022RDFDatetimeSeconds\022\021Last access time.'))),
    _descriptor.FieldDescriptor(
      name='st_mtime', full_name='StatEntry.st_mtime', index=8,
      number=10, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\n\022RDFDatetimeSeconds\022\023Last modified time.'))),
    _descriptor.FieldDescriptor(
      name='st_ctime', full_name='StatEntry.st_ctime', index=9,
      number=11, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\n\022RDFDatetimeSeconds\022\027Last inode change time.'))),
    _descriptor.FieldDescriptor(
      name='st_blocks', full_name='StatEntry.st_blocks', index=10,
      number=12, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_blksize', full_name='StatEntry.st_blksize', index=11,
      number=13, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_rdev', full_name='StatEntry.st_rdev', index=12,
      number=14, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_flags_osx', full_name='StatEntry.st_flags_osx', index=13,
      number=21, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='st_flags_linux', full_name='StatEntry.st_flags_linux', index=14,
      number=22, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='symlink', full_name='StatEntry.symlink', index=15,
      number=15, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='registry_type', full_name='StatEntry.registry_type', index=16,
      number=16, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\201\001\022\177If this is a stat of a registry value, this field contains the type of this value. The content will also be encoded in residet.'))),
    _descriptor.FieldDescriptor(
      name='resident', full_name='StatEntry.resident', index=17,
      number=17, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='StatEntry.pathspec', index=18,
      number=18, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222The path specification to this file on the client.'))),
    _descriptor.FieldDescriptor(
      name='registry_data', full_name='StatEntry.registry_data', index=19,
      number=19, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001v\022tIf this entry represents a registry value, this field will contain that value encoded according to the correct type.'))),
    _descriptor.FieldDescriptor(
      name='st_crtime', full_name='StatEntry.st_crtime', index=20,
      number=20, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001$\n\022RDFDatetimeSeconds\022\016Creation time.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _STATENTRY_REGISTRYTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=10498,
  serialized_end=11716,
)


_COLLECTION = _descriptor.Descriptor(
  name='Collection',
  full_name='Collection',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='items', full_name='Collection.items', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11718,
  serialized_end=11757,
)


_WMIREQUEST = _descriptor.Descriptor(
  name='WmiRequest',
  full_name='WmiRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='query', full_name='WmiRequest.query', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='base_object', full_name='WmiRequest.base_object', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11759,
  serialized_end=11807,
)


_KEYVALUE = _descriptor.Descriptor(
  name='KeyValue',
  full_name='KeyValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='k', full_name='KeyValue.k', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='v', full_name='KeyValue.v', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11809,
  serialized_end=11863,
)


_DICT = _descriptor.Descriptor(
  name='Dict',
  full_name='Dict',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='dat', full_name='Dict.dat', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\026An arbitrary key/value\"\004Data'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11865,
  serialized_end=11933,
)


_ATTRIBUTEDDICT = _descriptor.Descriptor(
  name='AttributedDict',
  full_name='AttributedDict',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='dat', full_name='AttributedDict.dat', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\027An arbitrary key/value.\"\004Data'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=11935,
  serialized_end=12014,
)


_CERTIFICATE = _descriptor.Descriptor(
  name='Certificate',
  full_name='Certificate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='Certificate.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pem', full_name='Certificate.pem', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='cn', full_name='Certificate.cn', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _CERTIFICATE_TYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=12016,
  serialized_end=12121,
)


_UNAME = _descriptor.Descriptor(
  name='Uname',
  full_name='Uname',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='system', full_name='Uname.system', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+The system platform (Windows|Darwin|Linux).'))),
    _descriptor.FieldDescriptor(
      name='node', full_name='Uname.node', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034The hostname of this system.'))),
    _descriptor.FieldDescriptor(
      name='release', full_name='Uname.release', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0010\022.The OS release identifier e.g. 7, OSX, debian.'))),
    _descriptor.FieldDescriptor(
      name='version', full_name='Uname.version', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222The OS version ID e.g. 6.1.7601SP1, 10.9.2, 14.04.'))),
    _descriptor.FieldDescriptor(
      name='machine', full_name='Uname.machine', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+The system architecture e.g. AMD64, x86_64.'))),
    _descriptor.FieldDescriptor(
      name='kernel', full_name='Uname.kernel', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001<\022:The kernel version string e.g. 6.1.7601, 13.1.0, 3.15-rc2.'))),
    _descriptor.FieldDescriptor(
      name='fqdn', full_name='Uname.fqdn', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)The system\'s fully qualified domain name.'))),
    _descriptor.FieldDescriptor(
      name='install_date', full_name='Uname.install_date', index=7,
      number=8, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\n\013RDFDatetime\022\032When system was installed.'))),
    _descriptor.FieldDescriptor(
      name='libc_ver', full_name='Uname.libc_ver', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\022\025The C library version'))),
    _descriptor.FieldDescriptor(
      name='architecture', full_name='Uname.architecture', index=9,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\230\001\022\225\001The architecture of this binary. (Note this can be different from the machine architecture in the case of a 32 bit binary running on a 64 bit system)'))),
    _descriptor.FieldDescriptor(
      name='pep425tag', full_name='Uname.pep425tag', index=10,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\022GThe unique signature of this python system (as defined by PEP425 tags).'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=12124,
  serialized_end=13026,
)


_FOLDERINFORMATION = _descriptor.Descriptor(
  name='FolderInformation',
  full_name='FolderInformation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='app_data', full_name='FolderInformation.app_data', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='cache', full_name='FolderInformation.cache', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='cookies', full_name='FolderInformation.cookies', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='desktop', full_name='FolderInformation.desktop', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='favorites', full_name='FolderInformation.favorites', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='history', full_name='FolderInformation.history', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='local_app_data', full_name='FolderInformation.local_app_data', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='my_music', full_name='FolderInformation.my_music', index=7,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='my_pictures', full_name='FolderInformation.my_pictures', index=8,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='my_video', full_name='FolderInformation.my_video', index=9,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='net_hood', full_name='FolderInformation.net_hood', index=10,
      number=12, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='personal', full_name='FolderInformation.personal', index=11,
      number=13, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='print_hood', full_name='FolderInformation.print_hood', index=12,
      number=14, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='programs', full_name='FolderInformation.programs', index=13,
      number=15, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='recent', full_name='FolderInformation.recent', index=14,
      number=16, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='send_to', full_name='FolderInformation.send_to', index=15,
      number=17, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='start_menu', full_name='FolderInformation.start_menu', index=16,
      number=18, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='startup', full_name='FolderInformation.startup', index=17,
      number=19, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='templates', full_name='FolderInformation.templates', index=18,
      number=20, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=13029,
  serialized_end=13395,
)


_NETWORKADDRESS = _descriptor.Descriptor(
  name='NetworkAddress',
  full_name='NetworkAddress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address_type', full_name='NetworkAddress.address_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='human_readable', full_name='NetworkAddress.human_readable', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='packed_bytes', full_name='NetworkAddress.packed_bytes', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\n\n\010RDFBytes'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NETWORKADDRESS_FAMILY,
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001\036\n\034Network Address information.')),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=13398,
  serialized_end=13593,
)


_INTERFACE = _descriptor.Descriptor(
  name='Interface',
  full_name='Interface',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='mac_address', full_name='Interface.mac_address', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001$\n\nMacAddress\022\026Interface MAC address.'))),
    _descriptor.FieldDescriptor(
      name='ip4_addresses', full_name='Interface.ip4_addresses', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='ifname', full_name='Interface.ifname', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='ip6_addresses', full_name='Interface.ip6_addresses', index=3,
      number=4, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='addresses', full_name='Interface.addresses', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+A network address attached to an interface.'))),
    _descriptor.FieldDescriptor(
      name='dhcp_lease_expires', full_name='Interface.dhcp_lease_expires', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0010\n\013RDFDatetime\022!Time when DHCP lease will expire.'))),
    _descriptor.FieldDescriptor(
      name='dhcp_lease_obtained', full_name='Interface.dhcp_lease_obtained', index=6,
      number=7, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\n\013RDFDatetime\022\"Time when DHCP lease was obtained.'))),
    _descriptor.FieldDescriptor(
      name='dhcp_server_list', full_name='Interface.dhcp_server_list', index=7,
      number=8, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035IP addresses of DHCP servers.'))),
    _descriptor.FieldDescriptor(
      name='ip_gateway_list', full_name='Interface.ip_gateway_list', index=8,
      number=9, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035IP addresses of DHCP servers.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001\324\001\n\321\001Information about a network interface. New fields have beennamed to follow the CyBox NetworkInterfaceType:https://cybox.mitre.org/language/version2.1/xsddocs/objects/System_Object_xsd.html#NetworkInterfaceType')),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=13596,
  serialized_end=14378,
)


_HASH = _descriptor.Descriptor(
  name='Hash',
  full_name='Hash',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sha256', full_name='Hash.sha256', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\n\nHashDigest\022\032SHA256 binary hash digest.'))),
    _descriptor.FieldDescriptor(
      name='sha1', full_name='Hash.sha1', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\n\nHashDigest\022\030SHA1 binary hash digest.'))),
    _descriptor.FieldDescriptor(
      name='md5', full_name='Hash.md5', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\n\nHashDigest\022\027MD5 binary hash digest.'))),
    _descriptor.FieldDescriptor(
      name='pecoff_sha1', full_name='Hash.pecoff_sha1', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\n\nHashDigest\022;Authenticode SHA1 hash digest for signed region of PE file.'))),
    _descriptor.FieldDescriptor(
      name='pecoff_md5', full_name='Hash.pecoff_md5', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001H\n\nHashDigest\022:Authenticode MD5 hash digest for signed region of PE file.'))),
    _descriptor.FieldDescriptor(
      name='pecoff_sha256', full_name='Hash.pecoff_sha256', index=5,
      number=7, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001K\n\nHashDigest\022=Authenticode SHA256 hash digest for signed region of PE file.'))),
    _descriptor.FieldDescriptor(
      name='signed_data', full_name='Hash.signed_data', index=6,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001/\022-Signed data which may be present in PE files.'))),
    _descriptor.FieldDescriptor(
      name='num_bytes', full_name='Hash.num_bytes', index=7,
      number=8, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001@\022>The number of bytes used to create the hashes in this message.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=14381,
  serialized_end=15069,
)


_AUTHENTICODESIGNEDDATA = _descriptor.Descriptor(
  name='AuthenticodeSignedData',
  full_name='AuthenticodeSignedData',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='revision', full_name='AuthenticodeSignedData.revision', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='cert_type', full_name='AuthenticodeSignedData.cert_type', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='certificate', full_name='AuthenticodeSignedData.certificate', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=15071,
  serialized_end=15153,
)


_FINGERPRINTTUPLE = _descriptor.Descriptor(
  name='FingerprintTuple',
  full_name='FingerprintTuple',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='fp_type', full_name='FingerprintTuple.fp_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='hashers', full_name='FingerprintTuple.hashers', index=1,
      number=2, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FINGERPRINTTUPLE_TYPE,
    _FINGERPRINTTUPLE_HASHTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=15156,
  serialized_end=15345,
)


_FINGERPRINTREQUEST = _descriptor.Descriptor(
  name='FingerprintRequest',
  full_name='FingerprintRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='FingerprintRequest.pathspec', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='tuples', full_name='FingerprintRequest.tuples', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='max_filesize', full_name='FingerprintRequest.max_filesize', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=10737418240,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!Maximum file size to fingerprint.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=15348,
  serialized_end=15510,
)


_FINGERPRINTRESPONSE = _descriptor.Descriptor(
  name='FingerprintResponse',
  full_name='FingerprintResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='matching_types', full_name='FingerprintResponse.matching_types', index=0,
      number=1, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='results', full_name='FingerprintResponse.results', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='FingerprintResponse.pathspec', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='hash', full_name='FingerprintResponse.hash', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bytes_read', full_name='FingerprintResponse.bytes_read', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035Total number of bytes hashed.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=15513,
  serialized_end=15715,
)


_SIGNEDBLOB = _descriptor.Descriptor(
  name='SignedBlob',
  full_name='SignedBlob',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='SignedBlob.data', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='digest', full_name='SignedBlob.digest', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='digest_type', full_name='SignedBlob.digest_type', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='signature', full_name='SignedBlob.signature', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='signature_type', full_name='SignedBlob.signature_type', index=4,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SIGNEDBLOB_HASHTYPE,
    _SIGNEDBLOB_SIGNATURETYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=15718,
  serialized_end=15964,
)


_SYMMETRICCIPHER = _descriptor.Descriptor(
  name='SymmetricCipher',
  full_name='SymmetricCipher',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='_algorithm', full_name='SymmetricCipher._algorithm', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\022\025The algorithm to use.'))),
    _descriptor.FieldDescriptor(
      name='_key', full_name='SymmetricCipher._key', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))),
    _descriptor.FieldDescriptor(
      name='_iv', full_name='SymmetricCipher._iv', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SYMMETRICCIPHER_ALGORITHM,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=15967,
  serialized_end=16174,
)


_EXECUTEPYTHONREQUEST = _descriptor.Descriptor(
  name='ExecutePythonRequest',
  full_name='ExecutePythonRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='python_code', full_name='ExecutePythonRequest.python_code', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='py_args', full_name='ExecutePythonRequest.py_args', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=16176,
  serialized_end=16256,
)


_EXECUTEPYTHONRESPONSE = _descriptor.Descriptor(
  name='ExecutePythonResponse',
  full_name='ExecutePythonResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='return_val', full_name='ExecutePythonResponse.return_val', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='time_used', full_name='ExecutePythonResponse.time_used', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=16258,
  serialized_end=16320,
)


_CLIENTCOMPONENTSUMMARY = _descriptor.Descriptor(
  name='ClientComponentSummary',
  full_name='ClientComponentSummary',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='ClientComponentSummary.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\034\022\032The name of the component.'))),
    _descriptor.FieldDescriptor(
      name='version', full_name='ClientComponentSummary.version', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\022$The version string of the component.'))),
    _descriptor.FieldDescriptor(
      name='seed', full_name='ClientComponentSummary.seed', index=2,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!A ramdom seed for this component.'))),
    _descriptor.FieldDescriptor(
      name='modules', full_name='ClientComponentSummary.modules', index=3,
      number=5, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\022#The modules which will be imported.'))),
    _descriptor.FieldDescriptor(
      name='url', full_name='ClientComponentSummary.url', index=4,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001F\022DThe URL that a signed blob of this component can be downloaded from.'))),
    _descriptor.FieldDescriptor(
      name='cipher', full_name='ClientComponentSummary.cipher', index=5,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001:\0228This cipher will be used to encrypt the ClientComponent.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=16323,
  serialized_end=16770,
)


_CLIENTCOMPONENT = _descriptor.Descriptor(
  name='ClientComponent',
  full_name='ClientComponent',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='summary', full_name='ClientComponent.summary', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\"\022 Information about the component.'))),
    _descriptor.FieldDescriptor(
      name='raw_data', full_name='ClientComponent.raw_data', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001,\022*The raw ZIP file which will be installed. '))),
    _descriptor.FieldDescriptor(
      name='build_system', full_name='ClientComponent.build_system', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)The platform this component was built on.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=16773,
  serialized_end=17025,
)


_LOADCOMPONENT = _descriptor.Descriptor(
  name='LoadComponent',
  full_name='LoadComponent',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='summary', full_name='LoadComponent.summary', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\030\022\026The component to load.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=17027,
  serialized_end=17116,
)


_EXECUTEBINARYREQUEST = _descriptor.Descriptor(
  name='ExecuteBinaryRequest',
  full_name='ExecuteBinaryRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='executable', full_name='ExecuteBinaryRequest.executable', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='write_path', full_name='ExecuteBinaryRequest.write_path', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='args', full_name='ExecuteBinaryRequest.args', index=2,
      number=3, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='time_limit', full_name='ExecuteBinaryRequest.time_limit', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='more_data', full_name='ExecuteBinaryRequest.more_data', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\274\001\022\271\001If the binary does not fit inside a single request, the server will set this flag and send the file in chunks. The file will not be actually executed until the more_data flags is False.'))),
    _descriptor.FieldDescriptor(
      name='offset', full_name='ExecuteBinaryRequest.offset', index=5,
      number=6, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\210\001\022\205\001The position in the file where this chunk exists. This must be the end of the file to ensure we did not lose any requests on the way.'))),
    _descriptor.FieldDescriptor(
      name='use_client_env', full_name='ExecuteBinaryRequest.use_client_env', index=6,
      number=7, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001f\022dIndicates if this command should be run in the context of the installed client or the target system.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=17119,
  serialized_end=17751,
)


_EXECUTEBINARYRESPONSE = _descriptor.Descriptor(
  name='ExecuteBinaryResponse',
  full_name='ExecuteBinaryResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='exit_status', full_name='ExecuteBinaryResponse.exit_status', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='stdout', full_name='ExecuteBinaryResponse.stdout', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='stderr', full_name='ExecuteBinaryResponse.stderr', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='time_used', full_name='ExecuteBinaryResponse.time_used', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=17753,
  serialized_end=17848,
)


_SENDFILEREQUEST = _descriptor.Descriptor(
  name='SendFileRequest',
  full_name='SendFileRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='SendFileRequest.pathspec', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&The pathspec for the file to retrieve.'))),
    _descriptor.FieldDescriptor(
      name='address_family', full_name='SendFileRequest.address_family', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001.\022,address family to use (AF_INET or AF_INET6).'))),
    _descriptor.FieldDescriptor(
      name='host', full_name='SendFileRequest.host', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\022#Hostname or IP to send the file to.'))),
    _descriptor.FieldDescriptor(
      name='port', full_name='SendFileRequest.port', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=12345,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\022$Port number on the listening server.'))),
    _descriptor.FieldDescriptor(
      name='key', full_name='SendFileRequest.key', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\n\tAES128Key\022.An encryption key given in hex representation.'))),
    _descriptor.FieldDescriptor(
      name='iv', full_name='SendFileRequest.iv', index=5,
      number=6, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001>\n\tAES128Key\0221The iv for AES, also given in hex representation.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=17851,
  serialized_end=18341,
)


_GREPSPEC = _descriptor.Descriptor(
  name='GrepSpec',
  full_name='GrepSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='target', full_name='GrepSpec.target', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033This file will be searched.'))),
    _descriptor.FieldDescriptor(
      name='start_offset', full_name='GrepSpec.start_offset', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\022$Start searching at this file offset.'))),
    _descriptor.FieldDescriptor(
      name='length', full_name='GrepSpec.length', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=10737418240,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+How far (in bytes) into the file to search.'))),
    _descriptor.FieldDescriptor(
      name='regex', full_name='GrepSpec.regex', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\n\021RegularExpression\0224The regular expression which will be used to search.'))),
    _descriptor.FieldDescriptor(
      name='literal', full_name='GrepSpec.literal', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\n\021LiteralExpression\022\037Search for this literal string.'))),
    _descriptor.FieldDescriptor(
      name='mode', full_name='GrepSpec.mode', index=5,
      number=6, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001C\022AWhen should searching stop? Stop after one hit or search for all?'))),
    _descriptor.FieldDescriptor(
      name='bytes_before', full_name='GrepSpec.bytes_before', index=6,
      number=7, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=10,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022\'Include this many bytes before the hit.\030\001'))),
    _descriptor.FieldDescriptor(
      name='bytes_after', full_name='GrepSpec.bytes_after', index=7,
      number=8, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=10,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\022&Include this many bytes after the hit.\030\001'))),
    _descriptor.FieldDescriptor(
      name='xor_in_key', full_name='GrepSpec.xor_in_key', index=8,
      number=9, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\243\001\022\236\001When searching memory we need to ensure we dont hit on our own process. This allows us to obfuscate the search string in memory to avoid us finding ourselves.\030\001'))),
    _descriptor.FieldDescriptor(
      name='xor_out_key', full_name='GrepSpec.xor_out_key', index=9,
      number=10, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\243\001\022\236\001When searching memory we need to ensure we dont hit on our own process. This allows us to obfuscate the search string in memory to avoid us finding ourselves.\030\001'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _GREPSPEC_MODE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=18344,
  serialized_end=19443,
)


_FINDSPEC = _descriptor.Descriptor(
  name='FindSpec',
  full_name='FindSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='iterator', full_name='FindSpec.iterator', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\002'))),
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='FindSpec.pathspec', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'The base path to recursive search from '))),
    _descriptor.FieldDescriptor(
      name='path_glob', full_name='FindSpec.path_glob', index=2,
      number=13, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\n\016GlobExpression\022\030A glob for the filename.'))),
    _descriptor.FieldDescriptor(
      name='path_regex', full_name='FindSpec.path_regex', index=3,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001Z\n\021RegularExpression\0223This matches the filename. Overrides the path_glob.\030\001\"\016Filename RegEx'))),
    _descriptor.FieldDescriptor(
      name='data_regex', full_name='FindSpec.data_regex', index=4,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001:\n\021RegularExpression\022%This matches the content of the file.'))),
    _descriptor.FieldDescriptor(
      name='start_time', full_name='FindSpec.start_time', index=5,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0015\n\013RDFDatetime\022&File must be modified after this time.'))),
    _descriptor.FieldDescriptor(
      name='end_time', full_name='FindSpec.end_time', index=6,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=9223372036854775807,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001[\n\013RDFDatetime\022LFile must be modified before this time (default=heat death of the universe).'))),
    _descriptor.FieldDescriptor(
      name='cross_devs', full_name='FindSpec.cross_devs', index=7,
      number=7, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='max_depth', full_name='FindSpec.max_depth', index=8,
      number=8, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=15,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='hit', full_name='FindSpec.hit', index=9,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001!\022\035Responses come in this field.\030\002'))),
    _descriptor.FieldDescriptor(
      name='max_data', full_name='FindSpec.max_data', index=10,
      number=10, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=1024000,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))),
    _descriptor.FieldDescriptor(
      name='min_file_size', full_name='FindSpec.min_file_size', index=11,
      number=11, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033Minimum file size in bytes.'))),
    _descriptor.FieldDescriptor(
      name='max_file_size', full_name='FindSpec.max_file_size', index=12,
      number=12, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=9223372036854775807,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0012\0220Maximum file size in bytes (default=sys.maxint).'))),
    _descriptor.FieldDescriptor(
      name='perm_mask', full_name='FindSpec.perm_mask', index=13,
      number=14, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=4095,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\325\001\022\322\001Permission mask to apply to a file\'s permissions using AND operation when looking for a match against perm_mode. Default is 7777 in octal. Allows you to target only the permissions you care about with perm_mode'))),
    _descriptor.FieldDescriptor(
      name='perm_mode', full_name='FindSpec.perm_mode', index=14,
      number=15, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0012\n\010StatMode\022&File permission mode to match against.'))),
    _descriptor.FieldDescriptor(
      name='uid', full_name='FindSpec.uid', index=15,
      number=16, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&User ID to match against a file\'s UID.'))),
    _descriptor.FieldDescriptor(
      name='gid', full_name='FindSpec.gid', index=16,
      number=17, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'Group ID to match against a file\'s GID.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=19446,
  serialized_end=20856,
)


_PLISTREQUEST = _descriptor.Descriptor(
  name='PlistRequest',
  full_name='PlistRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='PlistRequest.pathspec', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)The pathspec for the plist file to query.'))),
    _descriptor.FieldDescriptor(
      name='context', full_name='PlistRequest.context', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+A path into the plist to base the filter on'))),
    _descriptor.FieldDescriptor(
      name='query', full_name='PlistRequest.query', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001T\n\nPlistQuery\022FA filter query to match the contents of the plist at the base_context.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=20859,
  serialized_end=21130,
)


_GETCLIENTSTATSREQUEST = _descriptor.Descriptor(
  name='GetClientStatsRequest',
  full_name='GetClientStatsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='start_time', full_name='GetClientStatsRequest.start_time', index=0,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001E\n\013RDFDatetime\0226Request stats data points with timestamp > start_time.'))),
    _descriptor.FieldDescriptor(
      name='end_time', full_name='GetClientStatsRequest.end_time', index=1,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=True, default_value=9223372036854775807,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001C\n\013RDFDatetime\0224Request stats data points with timestamp < end_time.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=21133,
  serialized_end=21370,
)


_FOREMANCLIENTRULESET = _descriptor.Descriptor(
  name='ForemanClientRuleSet',
  full_name='ForemanClientRuleSet',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='match_mode', full_name='ForemanClientRuleSet.match_mode', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='rules', full_name='ForemanClientRuleSet.rules', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FOREMANCLIENTRULESET_MATCHMODE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=21373,
  serialized_end=21571,
)


_FOREMANCLIENTRULE = _descriptor.Descriptor(
  name='ForemanClientRule',
  full_name='ForemanClientRule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='rule_type', full_name='ForemanClientRule.rule_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='os', full_name='ForemanClientRule.os', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='label', full_name='ForemanClientRule.label', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='regex', full_name='ForemanClientRule.regex', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='integer', full_name='ForemanClientRule.integer', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FOREMANCLIENTRULE_TYPE,
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001\013\022\trule_type')),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=21574,
  serialized_end=21930,
)


_FOREMANOSCLIENTRULE = _descriptor.Descriptor(
  name='ForemanOsClientRule',
  full_name='ForemanOsClientRule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='os_windows', full_name='ForemanOsClientRule.os_windows', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='os_linux', full_name='ForemanOsClientRule.os_linux', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='os_darwin', full_name='ForemanOsClientRule.os_darwin', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=21932,
  serialized_end=22010,
)


_FOREMANLABELCLIENTRULE = _descriptor.Descriptor(
  name='ForemanLabelClientRule',
  full_name='ForemanLabelClientRule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='label_names', full_name='ForemanLabelClientRule.label_names', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='match_mode', full_name='ForemanLabelClientRule.match_mode', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FOREMANLABELCLIENTRULE_MATCHMODE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=22013,
  serialized_end=22300,
)


_FOREMANREGEXCLIENTRULE = _descriptor.Descriptor(
  name='ForemanRegexClientRule',
  full_name='ForemanRegexClientRule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='ForemanRegexClientRule.path', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=True, default_value=_b("/").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='attribute_name', full_name='ForemanRegexClientRule.attribute_name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\rAFF4Attribute\022\026An AFF4 attribute name'))),
    _descriptor.FieldDescriptor(
      name='attribute_regex', full_name='ForemanRegexClientRule.attribute_regex', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001p\n\021RegularExpression\022[If these are specified we fire when the attribute\'s str() representation matches the regex.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=22303,
  serialized_end=22561,
)


_FOREMANINTEGERCLIENTRULE = _descriptor.Descriptor(
  name='ForemanIntegerClientRule',
  full_name='ForemanIntegerClientRule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='ForemanIntegerClientRule.path', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=True, default_value=_b("/").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='attribute_name', full_name='ForemanIntegerClientRule.attribute_name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\rAFF4Attribute\022\026An AFF4 attribute name'))),
    _descriptor.FieldDescriptor(
      name='operator', full_name='ForemanIntegerClientRule.operator', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='ForemanIntegerClientRule.value', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FOREMANINTEGERCLIENTRULE_OPERATOR,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=22564,
  serialized_end=22810,
)


_FOREMANRULEACTION = _descriptor.Descriptor(
  name='ForemanRuleAction',
  full_name='ForemanRuleAction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='flow_name', full_name='ForemanRuleAction.flow_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='argv', full_name='ForemanRuleAction.argv', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='hunt_name', full_name='ForemanRuleAction.hunt_name', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='hunt_id', full_name='ForemanRuleAction.hunt_id', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\n\tSessionID\022\034The id of the hunt to start.'))),
    _descriptor.FieldDescriptor(
      name='client_limit', full_name='ForemanRuleAction.client_limit', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=22813,
  serialized_end=22979,
)


_FOREMANRULE = _descriptor.Descriptor(
  name='ForemanRule',
  full_name='ForemanRule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_rule_set', full_name='ForemanRule.client_rule_set', index=0,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='actions', full_name='ForemanRule.actions', index=1,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='created', full_name='ForemanRule.created', index=2,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\n\013RDFDatetime\022\033When this rule was created.'))),
    _descriptor.FieldDescriptor(
      name='expires', full_name='ForemanRule.expires', index=3,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\n\013RDFDatetime\022\033When this rule will expire.'))),
    _descriptor.FieldDescriptor(
      name='description', full_name='ForemanRule.description', index=4,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=22982,
  serialized_end=23235,
)


_HUNTERROR = _descriptor.Descriptor(
  name='HuntError',
  full_name='HuntError',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='HuntError.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))),
    _descriptor.FieldDescriptor(
      name='log_message', full_name='HuntError.log_message', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='backtrace', full_name='HuntError.backtrace', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=23237,
  serialized_end=23326,
)


_FLOWLOG = _descriptor.Descriptor(
  name='FlowLog',
  full_name='FlowLog',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='FlowLog.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))),
    _descriptor.FieldDescriptor(
      name='log_message', full_name='FlowLog.log_message', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='urn', full_name='FlowLog.urn', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001,\n\006RDFURN\022\"Session ID that generated the log.'))),
    _descriptor.FieldDescriptor(
      name='flow_name', full_name='FlowLog.flow_name', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'Human readable name for the session ID.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=23329,
  serialized_end=23530,
)


_CLIENTRESOURCES = _descriptor.Descriptor(
  name='ClientResources',
  full_name='ClientResources',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='ClientResources.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))),
    _descriptor.FieldDescriptor(
      name='session_id', full_name='ClientResources.session_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))),
    _descriptor.FieldDescriptor(
      name='cpu_usage', full_name='ClientResources.cpu_usage', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='network_bytes_sent', full_name='ClientResources.network_bytes_sent', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=23533,
  serialized_end=23687,
)


_STATSHISTOGRAM = _descriptor.Descriptor(
  name='StatsHistogram',
  full_name='StatsHistogram',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bins', full_name='StatsHistogram.bins', index=0,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=23689,
  serialized_end=23739,
)


_STATSHISTOGRAMBIN = _descriptor.Descriptor(
  name='StatsHistogramBin',
  full_name='StatsHistogramBin',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='range_max_value', full_name='StatsHistogramBin.range_max_value', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='num', full_name='StatsHistogramBin.num', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=23741,
  serialized_end=23798,
)


_RUNNINGSTATS = _descriptor.Descriptor(
  name='RunningStats',
  full_name='RunningStats',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='histogram', full_name='RunningStats.histogram', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='num', full_name='RunningStats.num', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='sum', full_name='RunningStats.sum', index=2,
      number=3, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='sum_sq', full_name='RunningStats.sum_sq', index=3,
      number=4, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=23800,
  serialized_end=23892,
)


_CLIENTRESOURCESSTATS = _descriptor.Descriptor(
  name='ClientResourcesStats',
  full_name='ClientResourcesStats',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_cpu_stats', full_name='ClientResourcesStats.user_cpu_stats', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='system_cpu_stats', full_name='ClientResourcesStats.system_cpu_stats', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='network_bytes_sent_stats', full_name='ClientResourcesStats.network_bytes_sent_stats', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='worst_performers', full_name='ClientResourcesStats.worst_performers', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=23895,
  serialized_end=24090,
)


_ITERATOR = _descriptor.Descriptor(
  name='Iterator',
  full_name='Iterator',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_state', full_name='Iterator.client_state', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='skip', full_name='Iterator.skip', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='number', full_name='Iterator.number', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=100,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='state', full_name='Iterator.state', index=3,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _ITERATOR_STATE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=24093,
  serialized_end=24247,
)


_ITERATEDSTATRESPONSE = _descriptor.Descriptor(
  name='IteratedStatResponse',
  full_name='IteratedStatResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='stat', full_name='IteratedStatResponse.stat', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='iterator', full_name='IteratedStatResponse.iterator', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=24249,
  serialized_end=24326,
)


_NOTIFICATION = _descriptor.Descriptor(
  name='Notification',
  full_name='Notification',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='Notification.type', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='subject', full_name='Notification.subject', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0017\n\006RDFURN\022-The subject which this notification is about.'))),
    _descriptor.FieldDescriptor(
      name='message', full_name='Notification.message', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='source', full_name='Notification.source', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001@\n\006RDFURN\0226The user or service which generated this notification.'))),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='Notification.timestamp', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001/\n\013RDFDatetime\022 Time the notification was added.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=24329,
  serialized_end=24616,
)


_GLOBALNOTIFICATION = _descriptor.Descriptor(
  name='GlobalNotification',
  full_name='GlobalNotification',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='GlobalNotification.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='header', full_name='GlobalNotification.header', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='content', full_name='GlobalNotification.content', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='link', full_name='GlobalNotification.link', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='show_from', full_name='GlobalNotification.show_from', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001:\n\013RDFDatetime\022+Notification will be shown after this time.'))),
    _descriptor.FieldDescriptor(
      name='duration', full_name='GlobalNotification.duration', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\n\010Duration\022\036Duration of this notification.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _GLOBALNOTIFICATION_TYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=24619,
  serialized_end=24921,
)


_GLOBALNOTIFICATIONSET = _descriptor.Descriptor(
  name='GlobalNotificationSet',
  full_name='GlobalNotificationSet',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='notifications', full_name='GlobalNotificationSet.notifications', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=24923,
  serialized_end=24990,
)


_EMBEDDEDRDFVALUE = _descriptor.Descriptor(
  name='EmbeddedRDFValue',
  full_name='EmbeddedRDFValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='embedded_age', full_name='EmbeddedRDFValue.embedded_age', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\n\013RDFDatetime\022\031The age of this RDFValue.'))),
    _descriptor.FieldDescriptor(
      name='name', full_name='EmbeddedRDFValue.name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='data', full_name='EmbeddedRDFValue.data', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=24992,
  serialized_end=25108,
)


_AUDITEVENT = _descriptor.Descriptor(
  name='AuditEvent',
  full_name='AuditEvent',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='AuditEvent.id', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='user', full_name='AuditEvent.user', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='action', full_name='AuditEvent.action', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='flow_name', full_name='AuditEvent.flow_name', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='flow_args', full_name='AuditEvent.flow_args', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='client', full_name='AuditEvent.client', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\n\006RDFURN\022\'The client, this action was applied to.'))),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='AuditEvent.timestamp', index=6,
      number=7, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\n\013RDFDatetime\022\027Time event was created.'))),
    _descriptor.FieldDescriptor(
      name='description', full_name='AuditEvent.description', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='urn', full_name='AuditEvent.urn', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0019\n\006RDFURN\022/The relevant hunt/flow/cron urn for this event.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _AUDITEVENT_ACTION,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=25111,
  serialized_end=25893,
)


_GOOGLECLOUDINSTANCE = _descriptor.Descriptor(
  name='GoogleCloudInstance',
  full_name='GoogleCloudInstance',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='unique_id', full_name='GoogleCloudInstance.unique_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001N\022LGlobally unique instance ID, a concatenation of zone/project_id/instance_id.'))),
    _descriptor.FieldDescriptor(
      name='zone', full_name='GoogleCloudInstance.zone', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\022%Zone ID where the instance is running'))),
    _descriptor.FieldDescriptor(
      name='project_id', full_name='GoogleCloudInstance.project_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001$\022\"Project ID containing the instance'))),
    _descriptor.FieldDescriptor(
      name='instance_id', full_name='GoogleCloudInstance.instance_id', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\022(Instance ID (may not be globally unique)'))),
    _descriptor.FieldDescriptor(
      name='hostname', full_name='GoogleCloudInstance.hostname', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\023\022\021Instance hostname'))),
    _descriptor.FieldDescriptor(
      name='machine_type', full_name='GoogleCloudInstance.machine_type', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0013\0221Machine type name of the instance\'s host machine.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=25896,
  serialized_end=26344,
)


_AMAZONCLOUDINSTANCE = _descriptor.Descriptor(
  name='AmazonCloudInstance',
  full_name='AmazonCloudInstance',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='instance_id', full_name='AmazonCloudInstance.instance_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034Globally unique instance ID.'))),
    _descriptor.FieldDescriptor(
      name='ami_id', full_name='AmazonCloudInstance.ami_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'The AMI ID used to launch the instance.'))),
    _descriptor.FieldDescriptor(
      name='hostname', full_name='AmazonCloudInstance.hostname', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0010\022.The private IPv4 DNS hostname of the instance.'))),
    _descriptor.FieldDescriptor(
      name='public_hostname', full_name='AmazonCloudInstance.public_hostname', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\022#The instance\'s public DNS hostname.'))),
    _descriptor.FieldDescriptor(
      name='instance_type', full_name='AmazonCloudInstance.instance_type', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\022\025The type of instance.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=26347,
  serialized_end=26690,
)


_CLOUDINSTANCE = _descriptor.Descriptor(
  name='CloudInstance',
  full_name='CloudInstance',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='cloud_type', full_name='CloudInstance.cloud_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=-1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='google', full_name='CloudInstance.google', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='amazon', full_name='CloudInstance.amazon', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _CLOUDINSTANCE_INSTANCETYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=26693,
  serialized_end=26900,
)


_CLIENTSUMMARY = _descriptor.Descriptor(
  name='ClientSummary',
  full_name='ClientSummary',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='ClientSummary.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\n\tClientURN\022\021The Client\'s URN.'))),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='ClientSummary.timestamp', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0018\n\013RDFDatetime\022)Timestamp for the creation of the record.'))),
    _descriptor.FieldDescriptor(
      name='system_info', full_name='ClientSummary.system_info', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\022\025Client\'s system info.'))),
    _descriptor.FieldDescriptor(
      name='client_info', full_name='ClientSummary.client_info', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'Basic information about the GRR client.'))),
    _descriptor.FieldDescriptor(
      name='install_date', full_name='ClientSummary.install_date', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\n\013RDFDatetime\022\"The date the system was installed.'))),
    _descriptor.FieldDescriptor(
      name='interfaces', full_name='ClientSummary.interfaces', index=5,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035All interfaces on the system.'))),
    _descriptor.FieldDescriptor(
      name='serial_number', full_name='ClientSummary.serial_number', index=6,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033Serial Number from HW info.'))),
    _descriptor.FieldDescriptor(
      name='system_manufacturer', full_name='ClientSummary.system_manufacturer', index=7,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!System Manufacturer from HW info.'))),
    _descriptor.FieldDescriptor(
      name='system_uuid', full_name='ClientSummary.system_uuid', index=8,
      number=13, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\016\022\014System UUID.'))),
    _descriptor.FieldDescriptor(
      name='users', full_name='ClientSummary.users', index=9,
      number=10, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034User accounts on the system.'))),
    _descriptor.FieldDescriptor(
      name='cloud_type', full_name='ClientSummary.cloud_type', index=10,
      number=11, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=-1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001 \022\036Cloud type: AMAZON/GOOGLE etc.'))),
    _descriptor.FieldDescriptor(
      name='cloud_instance_id', full_name='ClientSummary.cloud_instance_id', index=11,
      number=12, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001~\022|Cloud instance unique ID. For Amazon EC2 it is the instance ID, for GCE it is the zone/project_id/instance_id concatenation.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001&\n$A summary of the client information.')),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=26903,
  serialized_end=27898,
)


_CRONJOBRUNSTATUS = _descriptor.Descriptor(
  name='CronJobRunStatus',
  full_name='CronJobRunStatus',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='CronJobRunStatus.status', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _CRONJOBRUNSTATUS_STATUS,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=27900,
  serialized_end=28006,
)


_METRICFIELDDEFINITION = _descriptor.Descriptor(
  name='MetricFieldDefinition',
  full_name='MetricFieldDefinition',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='field_name', full_name='MetricFieldDefinition.field_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='field_type', full_name='MetricFieldDefinition.field_type', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _METRICFIELDDEFINITION_FIELDTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=28009,
  serialized_end=28137,
)


_METRICMETADATA = _descriptor.Descriptor(
  name='MetricMetadata',
  full_name='MetricMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='varname', full_name='MetricMetadata.varname', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\016\022\014Metric name.'))),
    _descriptor.FieldDescriptor(
      name='metric_type', full_name='MetricMetadata.metric_type', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\022%Metric type: counter, gauge or event.'))),
    _descriptor.FieldDescriptor(
      name='value_type', full_name='MetricMetadata.value_type', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\305\001\022\302\001Metric value type: int, float, str or distribution. Please note that counter metrics always have type INT and event metrics always have type DISTRIBUTION. Gauge metrics can be INT, FLOAT or STR.'))),
    _descriptor.FieldDescriptor(
      name='fields_defs', full_name='MetricMetadata.fields_defs', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&Fields definitions for a given metric.'))),
    _descriptor.FieldDescriptor(
      name='docstring', full_name='MetricMetadata.docstring', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\034\022\032Description of the metric.'))),
    _descriptor.FieldDescriptor(
      name='units', full_name='MetricMetadata.units', index=5,
      number=6, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\0224For numerical metrics - measuring unit that is used.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _METRICMETADATA_METRICTYPE,
    _METRICMETADATA_METRICUNITS,
    _METRICMETADATA_VALUETYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=28140,
  serialized_end=29455,
)


_STATSSTOREMETRICSMETADATA = _descriptor.Descriptor(
  name='StatsStoreMetricsMetadata',
  full_name='StatsStoreMetricsMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='metrics', full_name='StatsStoreMetricsMetadata.metrics', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=29457,
  serialized_end=29518,
)


_DISTRIBUTION = _descriptor.Descriptor(
  name='Distribution',
  full_name='Distribution',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sum', full_name='Distribution.sum', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0013\0221Sum of all the values recorded in a distribution.'))),
    _descriptor.FieldDescriptor(
      name='count', full_name='Distribution.count', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0015\0223Count of all the values recorded in a distribution.'))),
    _descriptor.FieldDescriptor(
      name='bins', full_name='Distribution.bins', index=2,
      number=3, type=2, cpp_type=6, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\305\001\022\302\001Values of upper range limits of all the bins in the distribution. The first bin will have a lower range limit of -Infinity. The last bin will accept all the values bigger than its\' higher range.'))),
    _descriptor.FieldDescriptor(
      name='bins_heights', full_name='Distribution.bins_heights', index=3,
      number=4, type=2, cpp_type=6, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222Heights of all the bins defined in the bins field.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=29521,
  serialized_end=29987,
)


_STATSSTOREFIELDVALUE = _descriptor.Descriptor(
  name='StatsStoreFieldValue',
  full_name='StatsStoreFieldValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='field_type', full_name='StatsStoreFieldValue.field_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='str_value', full_name='StatsStoreFieldValue.str_value', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='int_value', full_name='StatsStoreFieldValue.int_value', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=29989,
  serialized_end=30103,
)


_STATSSTOREVALUE = _descriptor.Descriptor(
  name='StatsStoreValue',
  full_name='StatsStoreValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value_type', full_name='StatsStoreValue.value_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='str_value', full_name='StatsStoreValue.str_value', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='int_value', full_name='StatsStoreValue.int_value', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='float_value', full_name='StatsStoreValue.float_value', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='distribution_value', full_name='StatsStoreValue.distribution_value', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='fields_values', full_name='StatsStoreValue.fields_values', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=30106,
  serialized_end=30318,
)


_AFF4OBJECTLABEL = _descriptor.Descriptor(
  name='AFF4ObjectLabel',
  full_name='AFF4ObjectLabel',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='AFF4ObjectLabel.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='owner', full_name='AFF4ObjectLabel.owner', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)Username of the user who added the label.'))),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='AFF4ObjectLabel.timestamp', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\n\013RDFDatetime\022\'Timestamp for when the label was added.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=30321,
  serialized_end=30499,
)


_AFF4OBJECTLABELSLIST = _descriptor.Descriptor(
  name='AFF4ObjectLabelsList',
  full_name='AFF4ObjectLabelsList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='labels', full_name='AFF4ObjectLabelsList.labels', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=30501,
  serialized_end=30557,
)


_PERSISTENCEFILE = _descriptor.Descriptor(
  name='PersistenceFile',
  full_name='PersistenceFile',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pathspec', full_name='PersistenceFile.pathspec', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='source_urn', full_name='PersistenceFile.source_urn', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001k\n\006RDFURN\022aURN for rdfvalue that used this file for  persistence. e.g. WindowsServiceInformation, StatEntry.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=30560,
  serialized_end=30742,
)


_ENDTOENDTESTRESULT = _descriptor.Descriptor(
  name='EndToEndTestResult',
  full_name='EndToEndTestResult',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='success', full_name='EndToEndTestResult.success', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\"\022 Whether the test was successful.'))),
    _descriptor.FieldDescriptor(
      name='test_class_name', full_name='EndToEndTestResult.test_class_name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='EndToEndTestResult.timestamp', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0013\n\013RDFDatetime\022$Timestamp for when the test was run.'))),
    _descriptor.FieldDescriptor(
      name='log', full_name='EndToEndTestResult.log', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=30745,
  serialized_end=30947,
)


_EMPTYMESSAGE = _descriptor.Descriptor(
  name='EmptyMessage',
  full_name='EmptyMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=30949,
  serialized_end=30963,
)


_NSRLINFORMATION = _descriptor.Descriptor(
  name='NSRLInformation',
  full_name='NSRLInformation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sha1', full_name='NSRLInformation.sha1', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\n\nHashDigest\022\030SHA1 binary hash digest.'))),
    _descriptor.FieldDescriptor(
      name='md5', full_name='NSRLInformation.md5', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\n\nHashDigest\022\027MD5 binary hash digest.'))),
    _descriptor.FieldDescriptor(
      name='crc32', full_name='NSRLInformation.crc32', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001!\022\03732 bit Cyclic redundancy check.'))),
    _descriptor.FieldDescriptor(
      name='file_size', full_name='NSRLInformation.file_size', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\023\022\021Size of the file.'))),
    _descriptor.FieldDescriptor(
      name='file_name', full_name='NSRLInformation.file_name', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\023\022\021Name of the file.'))),
    _descriptor.FieldDescriptor(
      name='product_code', full_name='NSRLInformation.product_code', index=5,
      number=6, type=4, cpp_type=4, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)Code of the product this file is part of.'))),
    _descriptor.FieldDescriptor(
      name='op_system_code', full_name='NSRLInformation.op_system_code', index=6,
      number=7, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\022#Operating system this file runs on.'))),
    _descriptor.FieldDescriptor(
      name='file_type', full_name='NSRLInformation.file_type', index=7,
      number=8, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\022\rType of file.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NSRLINFORMATION_FILETYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=30966,
  serialized_end=31527,
)


_PENDINGFLOWTERMINATION = _descriptor.Descriptor(
  name='PendingFlowTermination',
  full_name='PendingFlowTermination',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='reason', full_name='PendingFlowTermination.reason', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=31529,
  serialized_end=31569,
)


_DUMPPROCESSMEMORYREQUEST = _descriptor.Descriptor(
  name='DumpProcessMemoryRequest',
  full_name='DumpProcessMemoryRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pid', full_name='DumpProcessMemoryRequest.pid', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pause', full_name='DumpProcessMemoryRequest.pause', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=31571,
  serialized_end=31625,
)


_SIGNATUREPART = _descriptor.Descriptor(
  name='SignaturePart',
  full_name='SignaturePart',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='signature', full_name='SignaturePart.signature', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001D\022BThe signature covers the plain text of the encrypted cipher field.'))),
    _descriptor.FieldDescriptor(
      name='encrypted_cipher', full_name='SignaturePart.encrypted_cipher', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&The encrypted CipherProperties object.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=31628,
  serialized_end=31812,
)

_GRRMESSAGE.fields_by_name['arg'].message_type = _EMBEDDEDRDFVALUE
_GRRMESSAGE.fields_by_name['auth_state'].enum_type = _GRRMESSAGE_AUTHORIZATIONSTATE
_GRRMESSAGE.fields_by_name['type'].enum_type = _GRRMESSAGE_TYPE
_GRRMESSAGE.fields_by_name['priority'].enum_type = _GRRMESSAGE_PRIORITY
_GRRMESSAGE_AUTHORIZATIONSTATE.containing_type = _GRRMESSAGE
_GRRMESSAGE_TYPE.containing_type = _GRRMESSAGE
_GRRMESSAGE_PRIORITY.containing_type = _GRRMESSAGE
_MESSAGELIST.fields_by_name['job'].message_type = _GRRMESSAGE
_PACKEDMESSAGELIST.fields_by_name['compression'].enum_type = _PACKEDMESSAGELIST_COMPRESSIONTYPE
_PACKEDMESSAGELIST_COMPRESSIONTYPE.containing_type = _PACKEDMESSAGELIST
_CIPHERPROPERTIES.fields_by_name['hmac_type'].enum_type = _CIPHERPROPERTIES_HMACTYPE
_CIPHERPROPERTIES_HMACTYPE.containing_type = _CIPHERPROPERTIES
_CLIENTCOMMUNICATION.fields_by_name['orig_request'].message_type = _HTTPREQUEST
_CLIENTCOMMUNICATION.fields_by_name['status'].enum_type = _CLIENTCOMMUNICATION_STATUS
_CLIENTCOMMUNICATION_STATUS.containing_type = _CLIENTCOMMUNICATION
_GRRSTATUS.fields_by_name['status'].enum_type = _GRRSTATUS_RETURNEDSTATUS
_GRRSTATUS.fields_by_name['cpu_time_used'].message_type = _CPUSECONDS
_GRRSTATUS_RETURNEDSTATUS.containing_type = _GRRSTATUS
_GRRNOTIFICATION.fields_by_name['priority'].enum_type = _GRRMESSAGE_PRIORITY
_CLIENTCRASH.fields_by_name['client_info'].message_type = _CLIENTINFORMATION
_HUNTNOTIFICATION.fields_by_name['status'].enum_type = _HUNTNOTIFICATION_STATUS
_HUNTNOTIFICATION_STATUS.containing_type = _HUNTNOTIFICATION
_FLOWNOTIFICATION.fields_by_name['status'].enum_type = _FLOWNOTIFICATION_STATUS
_FLOWNOTIFICATION_STATUS.containing_type = _FLOWNOTIFICATION
_DATABLOB.fields_by_name['list'].message_type = _BLOBARRAY
_DATABLOB.fields_by_name['dict'].message_type = _DICT
_DATABLOB.fields_by_name['rdf_value'].message_type = _EMBEDDEDRDFVALUE
_DATABLOB.fields_by_name['set'].message_type = _BLOBARRAY
_DATABLOB.fields_by_name['compression'].enum_type = _DATABLOB_COMPRESSIONTYPE
_DATABLOB_COMPRESSIONTYPE.containing_type = _DATABLOB
_BLOBARRAY.fields_by_name['content'].message_type = _DATABLOB
_COPYPATHTOFILE.fields_by_name['src_path'].message_type = _PATHSPEC
_COPYPATHTOFILE.fields_by_name['dest_path'].message_type = _PATHSPEC
_BUFFERREFERENCE.fields_by_name['pathspec'].message_type = _PATHSPEC
_REQUESTSTATE.fields_by_name['status'].message_type = _GRRSTATUS
_REQUESTSTATE.fields_by_name['data'].message_type = _DICT
_REQUESTSTATE.fields_by_name['request'].message_type = _GRRMESSAGE
_CLIENTSTATS.fields_by_name['cpu_samples'].message_type = _CPUSAMPLE
_CLIENTSTATS.fields_by_name['io_samples'].message_type = _IOSAMPLE
_STARTUPINFO.fields_by_name['client_info'].message_type = _CLIENTINFORMATION
_EXECUTERESPONSE.fields_by_name['request'].message_type = _EXECUTEREQUEST
_PATHSPEC.fields_by_name['pathtype'].enum_type = _PATHSPEC_PATHTYPE
_PATHSPEC.fields_by_name['nested_path'].message_type = _PATHSPEC
_PATHSPEC.fields_by_name['path_options'].enum_type = _PATHSPEC_OPTIONS
_PATHSPEC.fields_by_name['ntfs_type'].enum_type = _PATHSPEC_TSK_FS_ATTR_TYPE
_PATHSPEC_PATHTYPE.containing_type = _PATHSPEC
_PATHSPEC_OPTIONS.containing_type = _PATHSPEC
_PATHSPEC_TSK_FS_ATTR_TYPE.containing_type = _PATHSPEC
_LISTDIRREQUEST.fields_by_name['pathspec'].message_type = _PATHSPEC
_LISTDIRREQUEST.fields_by_name['iterator'].message_type = _ITERATOR
_UPLOADFILEREQUEST.fields_by_name['pathspec'].message_type = _PATHSPEC
_UPLOADFILEREQUEST.fields_by_name['upload_token'].message_type = _UPLOADTOKEN
_UPLOADEDFILE.fields_by_name['stat_entry'].message_type = _STATENTRY
_UPLOADEDFILE.fields_by_name['hash'].message_type = _HASH
_STATFSREQUEST.fields_by_name['pathtype'].enum_type = _PATHSPEC_PATHTYPE
_STATENTRY.fields_by_name['registry_type'].enum_type = _STATENTRY_REGISTRYTYPE
_STATENTRY.fields_by_name['pathspec'].message_type = _PATHSPEC
_STATENTRY.fields_by_name['registry_data'].message_type = _DATABLOB
_STATENTRY_REGISTRYTYPE.containing_type = _STATENTRY
_COLLECTION.fields_by_name['items'].message_type = _STATENTRY
_KEYVALUE.fields_by_name['k'].message_type = _DATABLOB
_KEYVALUE.fields_by_name['v'].message_type = _DATABLOB
_DICT.fields_by_name['dat'].message_type = _KEYVALUE
_ATTRIBUTEDDICT.fields_by_name['dat'].message_type = _KEYVALUE
_CERTIFICATE.fields_by_name['type'].enum_type = _CERTIFICATE_TYPE
_CERTIFICATE_TYPE.containing_type = _CERTIFICATE
_NETWORKADDRESS.fields_by_name['address_type'].enum_type = _NETWORKADDRESS_FAMILY
_NETWORKADDRESS_FAMILY.containing_type = _NETWORKADDRESS
_INTERFACE.fields_by_name['addresses'].message_type = _NETWORKADDRESS
_INTERFACE.fields_by_name['dhcp_server_list'].message_type = _NETWORKADDRESS
_INTERFACE.fields_by_name['ip_gateway_list'].message_type = _NETWORKADDRESS
_HASH.fields_by_name['signed_data'].message_type = _AUTHENTICODESIGNEDDATA
_FINGERPRINTTUPLE.fields_by_name['fp_type'].enum_type = _FINGERPRINTTUPLE_TYPE
_FINGERPRINTTUPLE.fields_by_name['hashers'].enum_type = _FINGERPRINTTUPLE_HASHTYPE
_FINGERPRINTTUPLE_TYPE.containing_type = _FINGERPRINTTUPLE
_FINGERPRINTTUPLE_HASHTYPE.containing_type = _FINGERPRINTTUPLE
_FINGERPRINTREQUEST.fields_by_name['pathspec'].message_type = _PATHSPEC
_FINGERPRINTREQUEST.fields_by_name['tuples'].message_type = _FINGERPRINTTUPLE
_FINGERPRINTRESPONSE.fields_by_name['matching_types'].enum_type = _FINGERPRINTTUPLE_TYPE
_FINGERPRINTRESPONSE.fields_by_name['results'].message_type = _DICT
_FINGERPRINTRESPONSE.fields_by_name['pathspec'].message_type = _PATHSPEC
_FINGERPRINTRESPONSE.fields_by_name['hash'].message_type = _HASH
_SIGNEDBLOB.fields_by_name['digest_type'].enum_type = _SIGNEDBLOB_HASHTYPE
_SIGNEDBLOB.fields_by_name['signature_type'].enum_type = _SIGNEDBLOB_SIGNATURETYPE
_SIGNEDBLOB_HASHTYPE.containing_type = _SIGNEDBLOB
_SIGNEDBLOB_SIGNATURETYPE.containing_type = _SIGNEDBLOB
_SYMMETRICCIPHER.fields_by_name['_algorithm'].enum_type = _SYMMETRICCIPHER_ALGORITHM
_SYMMETRICCIPHER_ALGORITHM.containing_type = _SYMMETRICCIPHER
_EXECUTEPYTHONREQUEST.fields_by_name['python_code'].message_type = _SIGNEDBLOB
_EXECUTEPYTHONREQUEST.fields_by_name['py_args'].message_type = _DICT
_CLIENTCOMPONENTSUMMARY.fields_by_name['cipher'].message_type = _SYMMETRICCIPHER
_CLIENTCOMPONENT.fields_by_name['summary'].message_type = _CLIENTCOMPONENTSUMMARY
_CLIENTCOMPONENT.fields_by_name['build_system'].message_type = _UNAME
_LOADCOMPONENT.fields_by_name['summary'].message_type = _CLIENTCOMPONENTSUMMARY
_EXECUTEBINARYREQUEST.fields_by_name['executable'].message_type = _SIGNEDBLOB
_SENDFILEREQUEST.fields_by_name['pathspec'].message_type = _PATHSPEC
_SENDFILEREQUEST.fields_by_name['address_family'].enum_type = _NETWORKADDRESS_FAMILY
_GREPSPEC.fields_by_name['target'].message_type = _PATHSPEC
_GREPSPEC.fields_by_name['mode'].enum_type = _GREPSPEC_MODE
_GREPSPEC_MODE.containing_type = _GREPSPEC
_FINDSPEC.fields_by_name['iterator'].message_type = _ITERATOR
_FINDSPEC.fields_by_name['pathspec'].message_type = _PATHSPEC
_FINDSPEC.fields_by_name['hit'].message_type = _STATENTRY
_PLISTREQUEST.fields_by_name['pathspec'].message_type = _PATHSPEC
_FOREMANCLIENTRULESET.fields_by_name['match_mode'].enum_type = _FOREMANCLIENTRULESET_MATCHMODE
_FOREMANCLIENTRULESET.fields_by_name['rules'].message_type = _FOREMANCLIENTRULE
_FOREMANCLIENTRULESET_MATCHMODE.containing_type = _FOREMANCLIENTRULESET
_FOREMANCLIENTRULE.fields_by_name['rule_type'].enum_type = _FOREMANCLIENTRULE_TYPE
_FOREMANCLIENTRULE.fields_by_name['os'].message_type = _FOREMANOSCLIENTRULE
_FOREMANCLIENTRULE.fields_by_name['label'].message_type = _FOREMANLABELCLIENTRULE
_FOREMANCLIENTRULE.fields_by_name['regex'].message_type = _FOREMANREGEXCLIENTRULE
_FOREMANCLIENTRULE.fields_by_name['integer'].message_type = _FOREMANINTEGERCLIENTRULE
_FOREMANCLIENTRULE_TYPE.containing_type = _FOREMANCLIENTRULE
_FOREMANLABELCLIENTRULE.fields_by_name['match_mode'].enum_type = _FOREMANLABELCLIENTRULE_MATCHMODE
_FOREMANLABELCLIENTRULE_MATCHMODE.containing_type = _FOREMANLABELCLIENTRULE
_FOREMANINTEGERCLIENTRULE.fields_by_name['operator'].enum_type = _FOREMANINTEGERCLIENTRULE_OPERATOR
_FOREMANINTEGERCLIENTRULE_OPERATOR.containing_type = _FOREMANINTEGERCLIENTRULE
_FOREMANRULEACTION.fields_by_name['argv'].message_type = _DICT
_FOREMANRULE.fields_by_name['client_rule_set'].message_type = _FOREMANCLIENTRULESET
_FOREMANRULE.fields_by_name['actions'].message_type = _FOREMANRULEACTION
_CLIENTRESOURCES.fields_by_name['cpu_usage'].message_type = _CPUSECONDS
_STATSHISTOGRAM.fields_by_name['bins'].message_type = _STATSHISTOGRAMBIN
_RUNNINGSTATS.fields_by_name['histogram'].message_type = _STATSHISTOGRAM
_CLIENTRESOURCESSTATS.fields_by_name['user_cpu_stats'].message_type = _RUNNINGSTATS
_CLIENTRESOURCESSTATS.fields_by_name['system_cpu_stats'].message_type = _RUNNINGSTATS
_CLIENTRESOURCESSTATS.fields_by_name['network_bytes_sent_stats'].message_type = _RUNNINGSTATS
_CLIENTRESOURCESSTATS.fields_by_name['worst_performers'].message_type = _CLIENTRESOURCES
_ITERATOR.fields_by_name['client_state'].message_type = _DICT
_ITERATOR.fields_by_name['state'].enum_type = _ITERATOR_STATE
_ITERATOR_STATE.containing_type = _ITERATOR
_ITERATEDSTATRESPONSE.fields_by_name['stat'].message_type = _STATENTRY
_ITERATEDSTATRESPONSE.fields_by_name['iterator'].message_type = _ITERATOR
_GLOBALNOTIFICATION.fields_by_name['type'].enum_type = _GLOBALNOTIFICATION_TYPE
_GLOBALNOTIFICATION_TYPE.containing_type = _GLOBALNOTIFICATION
_GLOBALNOTIFICATIONSET.fields_by_name['notifications'].message_type = _GLOBALNOTIFICATION
_AUDITEVENT.fields_by_name['action'].enum_type = _AUDITEVENT_ACTION
_AUDITEVENT_ACTION.containing_type = _AUDITEVENT
_CLOUDINSTANCE.fields_by_name['cloud_type'].enum_type = _CLOUDINSTANCE_INSTANCETYPE
_CLOUDINSTANCE.fields_by_name['google'].message_type = _GOOGLECLOUDINSTANCE
_CLOUDINSTANCE.fields_by_name['amazon'].message_type = _AMAZONCLOUDINSTANCE
_CLOUDINSTANCE_INSTANCETYPE.containing_type = _CLOUDINSTANCE
_CLIENTSUMMARY.fields_by_name['system_info'].message_type = _UNAME
_CLIENTSUMMARY.fields_by_name['client_info'].message_type = _CLIENTINFORMATION
_CLIENTSUMMARY.fields_by_name['interfaces'].message_type = _INTERFACE
_CLIENTSUMMARY.fields_by_name['users'].message_type = grr_dot_proto_dot_knowledge__base__pb2._USER
_CLIENTSUMMARY.fields_by_name['cloud_type'].enum_type = _CLOUDINSTANCE_INSTANCETYPE
_CRONJOBRUNSTATUS.fields_by_name['status'].enum_type = _CRONJOBRUNSTATUS_STATUS
_CRONJOBRUNSTATUS_STATUS.containing_type = _CRONJOBRUNSTATUS
_METRICFIELDDEFINITION.fields_by_name['field_type'].enum_type = _METRICFIELDDEFINITION_FIELDTYPE
_METRICFIELDDEFINITION_FIELDTYPE.containing_type = _METRICFIELDDEFINITION
_METRICMETADATA.fields_by_name['metric_type'].enum_type = _METRICMETADATA_METRICTYPE
_METRICMETADATA.fields_by_name['value_type'].enum_type = _METRICMETADATA_VALUETYPE
_METRICMETADATA.fields_by_name['fields_defs'].message_type = _METRICFIELDDEFINITION
_METRICMETADATA.fields_by_name['units'].enum_type = _METRICMETADATA_METRICUNITS
_METRICMETADATA_METRICTYPE.containing_type = _METRICMETADATA
_METRICMETADATA_METRICUNITS.containing_type = _METRICMETADATA
_METRICMETADATA_VALUETYPE.containing_type = _METRICMETADATA
_STATSSTOREMETRICSMETADATA.fields_by_name['metrics'].message_type = _METRICMETADATA
_STATSSTOREFIELDVALUE.fields_by_name['field_type'].enum_type = _METRICFIELDDEFINITION_FIELDTYPE
_STATSSTOREVALUE.fields_by_name['value_type'].enum_type = _METRICMETADATA_VALUETYPE
_STATSSTOREVALUE.fields_by_name['distribution_value'].message_type = _DISTRIBUTION
_STATSSTOREVALUE.fields_by_name['fields_values'].message_type = _STATSSTOREFIELDVALUE
_AFF4OBJECTLABELSLIST.fields_by_name['labels'].message_type = _AFF4OBJECTLABEL
_PERSISTENCEFILE.fields_by_name['pathspec'].message_type = _PATHSPEC
_NSRLINFORMATION.fields_by_name['file_type'].enum_type = _NSRLINFORMATION_FILETYPE
_NSRLINFORMATION_FILETYPE.containing_type = _NSRLINFORMATION
DESCRIPTOR.message_types_by_name['HttpRequest'] = _HTTPREQUEST
DESCRIPTOR.message_types_by_name['GrrMessage'] = _GRRMESSAGE
DESCRIPTOR.message_types_by_name['MessageList'] = _MESSAGELIST
DESCRIPTOR.message_types_by_name['PackedMessageList'] = _PACKEDMESSAGELIST
DESCRIPTOR.message_types_by_name['CipherProperties'] = _CIPHERPROPERTIES
DESCRIPTOR.message_types_by_name['CipherMetadata'] = _CIPHERMETADATA
DESCRIPTOR.message_types_by_name['ClientCommunication'] = _CLIENTCOMMUNICATION
DESCRIPTOR.message_types_by_name['GrrStatus'] = _GRRSTATUS
DESCRIPTOR.message_types_by_name['GrrNotification'] = _GRRNOTIFICATION
DESCRIPTOR.message_types_by_name['ClientCrash'] = _CLIENTCRASH
DESCRIPTOR.message_types_by_name['HuntNotification'] = _HUNTNOTIFICATION
DESCRIPTOR.message_types_by_name['HuntResultNotification'] = _HUNTRESULTNOTIFICATION
DESCRIPTOR.message_types_by_name['FlowNotification'] = _FLOWNOTIFICATION
DESCRIPTOR.message_types_by_name['ClientInformation'] = _CLIENTINFORMATION
DESCRIPTOR.message_types_by_name['DataBlob'] = _DATABLOB
DESCRIPTOR.message_types_by_name['BlobArray'] = _BLOBARRAY
DESCRIPTOR.message_types_by_name['PrintStr'] = _PRINTSTR
DESCRIPTOR.message_types_by_name['CopyPathToFile'] = _COPYPATHTOFILE
DESCRIPTOR.message_types_by_name['BufferReference'] = _BUFFERREFERENCE
DESCRIPTOR.message_types_by_name['RequestState'] = _REQUESTSTATE
DESCRIPTOR.message_types_by_name['CpuSeconds'] = _CPUSECONDS
DESCRIPTOR.message_types_by_name['CpuSample'] = _CPUSAMPLE
DESCRIPTOR.message_types_by_name['IOSample'] = _IOSAMPLE
DESCRIPTOR.message_types_by_name['ClientStats'] = _CLIENTSTATS
DESCRIPTOR.message_types_by_name['StartupInfo'] = _STARTUPINFO
DESCRIPTOR.message_types_by_name['ExecuteRequest'] = _EXECUTEREQUEST
DESCRIPTOR.message_types_by_name['ExecuteResponse'] = _EXECUTERESPONSE
DESCRIPTOR.message_types_by_name['PathSpec'] = _PATHSPEC
DESCRIPTOR.message_types_by_name['ListDirRequest'] = _LISTDIRREQUEST
DESCRIPTOR.message_types_by_name['UploadPolicy'] = _UPLOADPOLICY
DESCRIPTOR.message_types_by_name['UploadToken'] = _UPLOADTOKEN
DESCRIPTOR.message_types_by_name['UploadFileRequest'] = _UPLOADFILEREQUEST
DESCRIPTOR.message_types_by_name['UploadedFile'] = _UPLOADEDFILE
DESCRIPTOR.message_types_by_name['StatFSRequest'] = _STATFSREQUEST
DESCRIPTOR.message_types_by_name['StatEntry'] = _STATENTRY
DESCRIPTOR.message_types_by_name['Collection'] = _COLLECTION
DESCRIPTOR.message_types_by_name['WmiRequest'] = _WMIREQUEST
DESCRIPTOR.message_types_by_name['KeyValue'] = _KEYVALUE
DESCRIPTOR.message_types_by_name['Dict'] = _DICT
DESCRIPTOR.message_types_by_name['AttributedDict'] = _ATTRIBUTEDDICT
DESCRIPTOR.message_types_by_name['Certificate'] = _CERTIFICATE
DESCRIPTOR.message_types_by_name['Uname'] = _UNAME
DESCRIPTOR.message_types_by_name['FolderInformation'] = _FOLDERINFORMATION
DESCRIPTOR.message_types_by_name['NetworkAddress'] = _NETWORKADDRESS
DESCRIPTOR.message_types_by_name['Interface'] = _INTERFACE
DESCRIPTOR.message_types_by_name['Hash'] = _HASH
DESCRIPTOR.message_types_by_name['AuthenticodeSignedData'] = _AUTHENTICODESIGNEDDATA
DESCRIPTOR.message_types_by_name['FingerprintTuple'] = _FINGERPRINTTUPLE
DESCRIPTOR.message_types_by_name['FingerprintRequest'] = _FINGERPRINTREQUEST
DESCRIPTOR.message_types_by_name['FingerprintResponse'] = _FINGERPRINTRESPONSE
DESCRIPTOR.message_types_by_name['SignedBlob'] = _SIGNEDBLOB
DESCRIPTOR.message_types_by_name['SymmetricCipher'] = _SYMMETRICCIPHER
DESCRIPTOR.message_types_by_name['ExecutePythonRequest'] = _EXECUTEPYTHONREQUEST
DESCRIPTOR.message_types_by_name['ExecutePythonResponse'] = _EXECUTEPYTHONRESPONSE
DESCRIPTOR.message_types_by_name['ClientComponentSummary'] = _CLIENTCOMPONENTSUMMARY
DESCRIPTOR.message_types_by_name['ClientComponent'] = _CLIENTCOMPONENT
DESCRIPTOR.message_types_by_name['LoadComponent'] = _LOADCOMPONENT
DESCRIPTOR.message_types_by_name['ExecuteBinaryRequest'] = _EXECUTEBINARYREQUEST
DESCRIPTOR.message_types_by_name['ExecuteBinaryResponse'] = _EXECUTEBINARYRESPONSE
DESCRIPTOR.message_types_by_name['SendFileRequest'] = _SENDFILEREQUEST
DESCRIPTOR.message_types_by_name['GrepSpec'] = _GREPSPEC
DESCRIPTOR.message_types_by_name['FindSpec'] = _FINDSPEC
DESCRIPTOR.message_types_by_name['PlistRequest'] = _PLISTREQUEST
DESCRIPTOR.message_types_by_name['GetClientStatsRequest'] = _GETCLIENTSTATSREQUEST
DESCRIPTOR.message_types_by_name['ForemanClientRuleSet'] = _FOREMANCLIENTRULESET
DESCRIPTOR.message_types_by_name['ForemanClientRule'] = _FOREMANCLIENTRULE
DESCRIPTOR.message_types_by_name['ForemanOsClientRule'] = _FOREMANOSCLIENTRULE
DESCRIPTOR.message_types_by_name['ForemanLabelClientRule'] = _FOREMANLABELCLIENTRULE
DESCRIPTOR.message_types_by_name['ForemanRegexClientRule'] = _FOREMANREGEXCLIENTRULE
DESCRIPTOR.message_types_by_name['ForemanIntegerClientRule'] = _FOREMANINTEGERCLIENTRULE
DESCRIPTOR.message_types_by_name['ForemanRuleAction'] = _FOREMANRULEACTION
DESCRIPTOR.message_types_by_name['ForemanRule'] = _FOREMANRULE
DESCRIPTOR.message_types_by_name['HuntError'] = _HUNTERROR
DESCRIPTOR.message_types_by_name['FlowLog'] = _FLOWLOG
DESCRIPTOR.message_types_by_name['ClientResources'] = _CLIENTRESOURCES
DESCRIPTOR.message_types_by_name['StatsHistogram'] = _STATSHISTOGRAM
DESCRIPTOR.message_types_by_name['StatsHistogramBin'] = _STATSHISTOGRAMBIN
DESCRIPTOR.message_types_by_name['RunningStats'] = _RUNNINGSTATS
DESCRIPTOR.message_types_by_name['ClientResourcesStats'] = _CLIENTRESOURCESSTATS
DESCRIPTOR.message_types_by_name['Iterator'] = _ITERATOR
DESCRIPTOR.message_types_by_name['IteratedStatResponse'] = _ITERATEDSTATRESPONSE
DESCRIPTOR.message_types_by_name['Notification'] = _NOTIFICATION
DESCRIPTOR.message_types_by_name['GlobalNotification'] = _GLOBALNOTIFICATION
DESCRIPTOR.message_types_by_name['GlobalNotificationSet'] = _GLOBALNOTIFICATIONSET
DESCRIPTOR.message_types_by_name['EmbeddedRDFValue'] = _EMBEDDEDRDFVALUE
DESCRIPTOR.message_types_by_name['AuditEvent'] = _AUDITEVENT
DESCRIPTOR.message_types_by_name['GoogleCloudInstance'] = _GOOGLECLOUDINSTANCE
DESCRIPTOR.message_types_by_name['AmazonCloudInstance'] = _AMAZONCLOUDINSTANCE
DESCRIPTOR.message_types_by_name['CloudInstance'] = _CLOUDINSTANCE
DESCRIPTOR.message_types_by_name['ClientSummary'] = _CLIENTSUMMARY
DESCRIPTOR.message_types_by_name['CronJobRunStatus'] = _CRONJOBRUNSTATUS
DESCRIPTOR.message_types_by_name['MetricFieldDefinition'] = _METRICFIELDDEFINITION
DESCRIPTOR.message_types_by_name['MetricMetadata'] = _METRICMETADATA
DESCRIPTOR.message_types_by_name['StatsStoreMetricsMetadata'] = _STATSSTOREMETRICSMETADATA
DESCRIPTOR.message_types_by_name['Distribution'] = _DISTRIBUTION
DESCRIPTOR.message_types_by_name['StatsStoreFieldValue'] = _STATSSTOREFIELDVALUE
DESCRIPTOR.message_types_by_name['StatsStoreValue'] = _STATSSTOREVALUE
DESCRIPTOR.message_types_by_name['AFF4ObjectLabel'] = _AFF4OBJECTLABEL
DESCRIPTOR.message_types_by_name['AFF4ObjectLabelsList'] = _AFF4OBJECTLABELSLIST
DESCRIPTOR.message_types_by_name['PersistenceFile'] = _PERSISTENCEFILE
DESCRIPTOR.message_types_by_name['EndToEndTestResult'] = _ENDTOENDTESTRESULT
DESCRIPTOR.message_types_by_name['EmptyMessage'] = _EMPTYMESSAGE
DESCRIPTOR.message_types_by_name['NSRLInformation'] = _NSRLINFORMATION
DESCRIPTOR.message_types_by_name['PendingFlowTermination'] = _PENDINGFLOWTERMINATION
DESCRIPTOR.message_types_by_name['DumpProcessMemoryRequest'] = _DUMPPROCESSMEMORYREQUEST
DESCRIPTOR.message_types_by_name['SignaturePart'] = _SIGNATUREPART
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

HttpRequest = _reflection.GeneratedProtocolMessageType('HttpRequest', (_message.Message,), dict(
  DESCRIPTOR = _HTTPREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:HttpRequest)
  ))
_sym_db.RegisterMessage(HttpRequest)

GrrMessage = _reflection.GeneratedProtocolMessageType('GrrMessage', (_message.Message,), dict(
  DESCRIPTOR = _GRRMESSAGE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:GrrMessage)
  ))
_sym_db.RegisterMessage(GrrMessage)

MessageList = _reflection.GeneratedProtocolMessageType('MessageList', (_message.Message,), dict(
  DESCRIPTOR = _MESSAGELIST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:MessageList)
  ))
_sym_db.RegisterMessage(MessageList)

PackedMessageList = _reflection.GeneratedProtocolMessageType('PackedMessageList', (_message.Message,), dict(
  DESCRIPTOR = _PACKEDMESSAGELIST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:PackedMessageList)
  ))
_sym_db.RegisterMessage(PackedMessageList)

CipherProperties = _reflection.GeneratedProtocolMessageType('CipherProperties', (_message.Message,), dict(
  DESCRIPTOR = _CIPHERPROPERTIES,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:CipherProperties)
  ))
_sym_db.RegisterMessage(CipherProperties)

CipherMetadata = _reflection.GeneratedProtocolMessageType('CipherMetadata', (_message.Message,), dict(
  DESCRIPTOR = _CIPHERMETADATA,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:CipherMetadata)
  ))
_sym_db.RegisterMessage(CipherMetadata)

ClientCommunication = _reflection.GeneratedProtocolMessageType('ClientCommunication', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTCOMMUNICATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientCommunication)
  ))
_sym_db.RegisterMessage(ClientCommunication)

GrrStatus = _reflection.GeneratedProtocolMessageType('GrrStatus', (_message.Message,), dict(
  DESCRIPTOR = _GRRSTATUS,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:GrrStatus)
  ))
_sym_db.RegisterMessage(GrrStatus)

GrrNotification = _reflection.GeneratedProtocolMessageType('GrrNotification', (_message.Message,), dict(
  DESCRIPTOR = _GRRNOTIFICATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:GrrNotification)
  ))
_sym_db.RegisterMessage(GrrNotification)

ClientCrash = _reflection.GeneratedProtocolMessageType('ClientCrash', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTCRASH,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientCrash)
  ))
_sym_db.RegisterMessage(ClientCrash)

HuntNotification = _reflection.GeneratedProtocolMessageType('HuntNotification', (_message.Message,), dict(
  DESCRIPTOR = _HUNTNOTIFICATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:HuntNotification)
  ))
_sym_db.RegisterMessage(HuntNotification)

HuntResultNotification = _reflection.GeneratedProtocolMessageType('HuntResultNotification', (_message.Message,), dict(
  DESCRIPTOR = _HUNTRESULTNOTIFICATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:HuntResultNotification)
  ))
_sym_db.RegisterMessage(HuntResultNotification)

FlowNotification = _reflection.GeneratedProtocolMessageType('FlowNotification', (_message.Message,), dict(
  DESCRIPTOR = _FLOWNOTIFICATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:FlowNotification)
  ))
_sym_db.RegisterMessage(FlowNotification)

ClientInformation = _reflection.GeneratedProtocolMessageType('ClientInformation', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTINFORMATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientInformation)
  ))
_sym_db.RegisterMessage(ClientInformation)

DataBlob = _reflection.GeneratedProtocolMessageType('DataBlob', (_message.Message,), dict(
  DESCRIPTOR = _DATABLOB,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:DataBlob)
  ))
_sym_db.RegisterMessage(DataBlob)

BlobArray = _reflection.GeneratedProtocolMessageType('BlobArray', (_message.Message,), dict(
  DESCRIPTOR = _BLOBARRAY,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:BlobArray)
  ))
_sym_db.RegisterMessage(BlobArray)

PrintStr = _reflection.GeneratedProtocolMessageType('PrintStr', (_message.Message,), dict(
  DESCRIPTOR = _PRINTSTR,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:PrintStr)
  ))
_sym_db.RegisterMessage(PrintStr)

CopyPathToFile = _reflection.GeneratedProtocolMessageType('CopyPathToFile', (_message.Message,), dict(
  DESCRIPTOR = _COPYPATHTOFILE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:CopyPathToFile)
  ))
_sym_db.RegisterMessage(CopyPathToFile)

BufferReference = _reflection.GeneratedProtocolMessageType('BufferReference', (_message.Message,), dict(
  DESCRIPTOR = _BUFFERREFERENCE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:BufferReference)
  ))
_sym_db.RegisterMessage(BufferReference)

RequestState = _reflection.GeneratedProtocolMessageType('RequestState', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTSTATE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:RequestState)
  ))
_sym_db.RegisterMessage(RequestState)

CpuSeconds = _reflection.GeneratedProtocolMessageType('CpuSeconds', (_message.Message,), dict(
  DESCRIPTOR = _CPUSECONDS,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:CpuSeconds)
  ))
_sym_db.RegisterMessage(CpuSeconds)

CpuSample = _reflection.GeneratedProtocolMessageType('CpuSample', (_message.Message,), dict(
  DESCRIPTOR = _CPUSAMPLE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:CpuSample)
  ))
_sym_db.RegisterMessage(CpuSample)

IOSample = _reflection.GeneratedProtocolMessageType('IOSample', (_message.Message,), dict(
  DESCRIPTOR = _IOSAMPLE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:IOSample)
  ))
_sym_db.RegisterMessage(IOSample)

ClientStats = _reflection.GeneratedProtocolMessageType('ClientStats', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTSTATS,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientStats)
  ))
_sym_db.RegisterMessage(ClientStats)

StartupInfo = _reflection.GeneratedProtocolMessageType('StartupInfo', (_message.Message,), dict(
  DESCRIPTOR = _STARTUPINFO,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:StartupInfo)
  ))
_sym_db.RegisterMessage(StartupInfo)

ExecuteRequest = _reflection.GeneratedProtocolMessageType('ExecuteRequest', (_message.Message,), dict(
  DESCRIPTOR = _EXECUTEREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ExecuteRequest)
  ))
_sym_db.RegisterMessage(ExecuteRequest)

ExecuteResponse = _reflection.GeneratedProtocolMessageType('ExecuteResponse', (_message.Message,), dict(
  DESCRIPTOR = _EXECUTERESPONSE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ExecuteResponse)
  ))
_sym_db.RegisterMessage(ExecuteResponse)

PathSpec = _reflection.GeneratedProtocolMessageType('PathSpec', (_message.Message,), dict(
  DESCRIPTOR = _PATHSPEC,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:PathSpec)
  ))
_sym_db.RegisterMessage(PathSpec)

ListDirRequest = _reflection.GeneratedProtocolMessageType('ListDirRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTDIRREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ListDirRequest)
  ))
_sym_db.RegisterMessage(ListDirRequest)

UploadPolicy = _reflection.GeneratedProtocolMessageType('UploadPolicy', (_message.Message,), dict(
  DESCRIPTOR = _UPLOADPOLICY,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:UploadPolicy)
  ))
_sym_db.RegisterMessage(UploadPolicy)

UploadToken = _reflection.GeneratedProtocolMessageType('UploadToken', (_message.Message,), dict(
  DESCRIPTOR = _UPLOADTOKEN,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:UploadToken)
  ))
_sym_db.RegisterMessage(UploadToken)

UploadFileRequest = _reflection.GeneratedProtocolMessageType('UploadFileRequest', (_message.Message,), dict(
  DESCRIPTOR = _UPLOADFILEREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:UploadFileRequest)
  ))
_sym_db.RegisterMessage(UploadFileRequest)

UploadedFile = _reflection.GeneratedProtocolMessageType('UploadedFile', (_message.Message,), dict(
  DESCRIPTOR = _UPLOADEDFILE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:UploadedFile)
  ))
_sym_db.RegisterMessage(UploadedFile)

StatFSRequest = _reflection.GeneratedProtocolMessageType('StatFSRequest', (_message.Message,), dict(
  DESCRIPTOR = _STATFSREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:StatFSRequest)
  ))
_sym_db.RegisterMessage(StatFSRequest)

StatEntry = _reflection.GeneratedProtocolMessageType('StatEntry', (_message.Message,), dict(
  DESCRIPTOR = _STATENTRY,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:StatEntry)
  ))
_sym_db.RegisterMessage(StatEntry)

Collection = _reflection.GeneratedProtocolMessageType('Collection', (_message.Message,), dict(
  DESCRIPTOR = _COLLECTION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Collection)
  ))
_sym_db.RegisterMessage(Collection)

WmiRequest = _reflection.GeneratedProtocolMessageType('WmiRequest', (_message.Message,), dict(
  DESCRIPTOR = _WMIREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:WmiRequest)
  ))
_sym_db.RegisterMessage(WmiRequest)

KeyValue = _reflection.GeneratedProtocolMessageType('KeyValue', (_message.Message,), dict(
  DESCRIPTOR = _KEYVALUE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:KeyValue)
  ))
_sym_db.RegisterMessage(KeyValue)

Dict = _reflection.GeneratedProtocolMessageType('Dict', (_message.Message,), dict(
  DESCRIPTOR = _DICT,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Dict)
  ))
_sym_db.RegisterMessage(Dict)

AttributedDict = _reflection.GeneratedProtocolMessageType('AttributedDict', (_message.Message,), dict(
  DESCRIPTOR = _ATTRIBUTEDDICT,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:AttributedDict)
  ))
_sym_db.RegisterMessage(AttributedDict)

Certificate = _reflection.GeneratedProtocolMessageType('Certificate', (_message.Message,), dict(
  DESCRIPTOR = _CERTIFICATE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Certificate)
  ))
_sym_db.RegisterMessage(Certificate)

Uname = _reflection.GeneratedProtocolMessageType('Uname', (_message.Message,), dict(
  DESCRIPTOR = _UNAME,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Uname)
  ))
_sym_db.RegisterMessage(Uname)

FolderInformation = _reflection.GeneratedProtocolMessageType('FolderInformation', (_message.Message,), dict(
  DESCRIPTOR = _FOLDERINFORMATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:FolderInformation)
  ))
_sym_db.RegisterMessage(FolderInformation)

NetworkAddress = _reflection.GeneratedProtocolMessageType('NetworkAddress', (_message.Message,), dict(
  DESCRIPTOR = _NETWORKADDRESS,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:NetworkAddress)
  ))
_sym_db.RegisterMessage(NetworkAddress)

Interface = _reflection.GeneratedProtocolMessageType('Interface', (_message.Message,), dict(
  DESCRIPTOR = _INTERFACE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Interface)
  ))
_sym_db.RegisterMessage(Interface)

Hash = _reflection.GeneratedProtocolMessageType('Hash', (_message.Message,), dict(
  DESCRIPTOR = _HASH,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Hash)
  ))
_sym_db.RegisterMessage(Hash)

AuthenticodeSignedData = _reflection.GeneratedProtocolMessageType('AuthenticodeSignedData', (_message.Message,), dict(
  DESCRIPTOR = _AUTHENTICODESIGNEDDATA,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:AuthenticodeSignedData)
  ))
_sym_db.RegisterMessage(AuthenticodeSignedData)

FingerprintTuple = _reflection.GeneratedProtocolMessageType('FingerprintTuple', (_message.Message,), dict(
  DESCRIPTOR = _FINGERPRINTTUPLE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:FingerprintTuple)
  ))
_sym_db.RegisterMessage(FingerprintTuple)

FingerprintRequest = _reflection.GeneratedProtocolMessageType('FingerprintRequest', (_message.Message,), dict(
  DESCRIPTOR = _FINGERPRINTREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:FingerprintRequest)
  ))
_sym_db.RegisterMessage(FingerprintRequest)

FingerprintResponse = _reflection.GeneratedProtocolMessageType('FingerprintResponse', (_message.Message,), dict(
  DESCRIPTOR = _FINGERPRINTRESPONSE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:FingerprintResponse)
  ))
_sym_db.RegisterMessage(FingerprintResponse)

SignedBlob = _reflection.GeneratedProtocolMessageType('SignedBlob', (_message.Message,), dict(
  DESCRIPTOR = _SIGNEDBLOB,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:SignedBlob)
  ))
_sym_db.RegisterMessage(SignedBlob)

SymmetricCipher = _reflection.GeneratedProtocolMessageType('SymmetricCipher', (_message.Message,), dict(
  DESCRIPTOR = _SYMMETRICCIPHER,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:SymmetricCipher)
  ))
_sym_db.RegisterMessage(SymmetricCipher)

ExecutePythonRequest = _reflection.GeneratedProtocolMessageType('ExecutePythonRequest', (_message.Message,), dict(
  DESCRIPTOR = _EXECUTEPYTHONREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ExecutePythonRequest)
  ))
_sym_db.RegisterMessage(ExecutePythonRequest)

ExecutePythonResponse = _reflection.GeneratedProtocolMessageType('ExecutePythonResponse', (_message.Message,), dict(
  DESCRIPTOR = _EXECUTEPYTHONRESPONSE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ExecutePythonResponse)
  ))
_sym_db.RegisterMessage(ExecutePythonResponse)

ClientComponentSummary = _reflection.GeneratedProtocolMessageType('ClientComponentSummary', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTCOMPONENTSUMMARY,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientComponentSummary)
  ))
_sym_db.RegisterMessage(ClientComponentSummary)

ClientComponent = _reflection.GeneratedProtocolMessageType('ClientComponent', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTCOMPONENT,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientComponent)
  ))
_sym_db.RegisterMessage(ClientComponent)

LoadComponent = _reflection.GeneratedProtocolMessageType('LoadComponent', (_message.Message,), dict(
  DESCRIPTOR = _LOADCOMPONENT,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:LoadComponent)
  ))
_sym_db.RegisterMessage(LoadComponent)

ExecuteBinaryRequest = _reflection.GeneratedProtocolMessageType('ExecuteBinaryRequest', (_message.Message,), dict(
  DESCRIPTOR = _EXECUTEBINARYREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ExecuteBinaryRequest)
  ))
_sym_db.RegisterMessage(ExecuteBinaryRequest)

ExecuteBinaryResponse = _reflection.GeneratedProtocolMessageType('ExecuteBinaryResponse', (_message.Message,), dict(
  DESCRIPTOR = _EXECUTEBINARYRESPONSE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ExecuteBinaryResponse)
  ))
_sym_db.RegisterMessage(ExecuteBinaryResponse)

SendFileRequest = _reflection.GeneratedProtocolMessageType('SendFileRequest', (_message.Message,), dict(
  DESCRIPTOR = _SENDFILEREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:SendFileRequest)
  ))
_sym_db.RegisterMessage(SendFileRequest)

GrepSpec = _reflection.GeneratedProtocolMessageType('GrepSpec', (_message.Message,), dict(
  DESCRIPTOR = _GREPSPEC,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:GrepSpec)
  ))
_sym_db.RegisterMessage(GrepSpec)

FindSpec = _reflection.GeneratedProtocolMessageType('FindSpec', (_message.Message,), dict(
  DESCRIPTOR = _FINDSPEC,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:FindSpec)
  ))
_sym_db.RegisterMessage(FindSpec)

PlistRequest = _reflection.GeneratedProtocolMessageType('PlistRequest', (_message.Message,), dict(
  DESCRIPTOR = _PLISTREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:PlistRequest)
  ))
_sym_db.RegisterMessage(PlistRequest)

GetClientStatsRequest = _reflection.GeneratedProtocolMessageType('GetClientStatsRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETCLIENTSTATSREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:GetClientStatsRequest)
  ))
_sym_db.RegisterMessage(GetClientStatsRequest)

ForemanClientRuleSet = _reflection.GeneratedProtocolMessageType('ForemanClientRuleSet', (_message.Message,), dict(
  DESCRIPTOR = _FOREMANCLIENTRULESET,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ForemanClientRuleSet)
  ))
_sym_db.RegisterMessage(ForemanClientRuleSet)

ForemanClientRule = _reflection.GeneratedProtocolMessageType('ForemanClientRule', (_message.Message,), dict(
  DESCRIPTOR = _FOREMANCLIENTRULE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ForemanClientRule)
  ))
_sym_db.RegisterMessage(ForemanClientRule)

ForemanOsClientRule = _reflection.GeneratedProtocolMessageType('ForemanOsClientRule', (_message.Message,), dict(
  DESCRIPTOR = _FOREMANOSCLIENTRULE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ForemanOsClientRule)
  ))
_sym_db.RegisterMessage(ForemanOsClientRule)

ForemanLabelClientRule = _reflection.GeneratedProtocolMessageType('ForemanLabelClientRule', (_message.Message,), dict(
  DESCRIPTOR = _FOREMANLABELCLIENTRULE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ForemanLabelClientRule)
  ))
_sym_db.RegisterMessage(ForemanLabelClientRule)

ForemanRegexClientRule = _reflection.GeneratedProtocolMessageType('ForemanRegexClientRule', (_message.Message,), dict(
  DESCRIPTOR = _FOREMANREGEXCLIENTRULE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ForemanRegexClientRule)
  ))
_sym_db.RegisterMessage(ForemanRegexClientRule)

ForemanIntegerClientRule = _reflection.GeneratedProtocolMessageType('ForemanIntegerClientRule', (_message.Message,), dict(
  DESCRIPTOR = _FOREMANINTEGERCLIENTRULE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ForemanIntegerClientRule)
  ))
_sym_db.RegisterMessage(ForemanIntegerClientRule)

ForemanRuleAction = _reflection.GeneratedProtocolMessageType('ForemanRuleAction', (_message.Message,), dict(
  DESCRIPTOR = _FOREMANRULEACTION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ForemanRuleAction)
  ))
_sym_db.RegisterMessage(ForemanRuleAction)

ForemanRule = _reflection.GeneratedProtocolMessageType('ForemanRule', (_message.Message,), dict(
  DESCRIPTOR = _FOREMANRULE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ForemanRule)
  ))
_sym_db.RegisterMessage(ForemanRule)

HuntError = _reflection.GeneratedProtocolMessageType('HuntError', (_message.Message,), dict(
  DESCRIPTOR = _HUNTERROR,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:HuntError)
  ))
_sym_db.RegisterMessage(HuntError)

FlowLog = _reflection.GeneratedProtocolMessageType('FlowLog', (_message.Message,), dict(
  DESCRIPTOR = _FLOWLOG,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:FlowLog)
  ))
_sym_db.RegisterMessage(FlowLog)

ClientResources = _reflection.GeneratedProtocolMessageType('ClientResources', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTRESOURCES,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientResources)
  ))
_sym_db.RegisterMessage(ClientResources)

StatsHistogram = _reflection.GeneratedProtocolMessageType('StatsHistogram', (_message.Message,), dict(
  DESCRIPTOR = _STATSHISTOGRAM,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:StatsHistogram)
  ))
_sym_db.RegisterMessage(StatsHistogram)

StatsHistogramBin = _reflection.GeneratedProtocolMessageType('StatsHistogramBin', (_message.Message,), dict(
  DESCRIPTOR = _STATSHISTOGRAMBIN,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:StatsHistogramBin)
  ))
_sym_db.RegisterMessage(StatsHistogramBin)

RunningStats = _reflection.GeneratedProtocolMessageType('RunningStats', (_message.Message,), dict(
  DESCRIPTOR = _RUNNINGSTATS,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:RunningStats)
  ))
_sym_db.RegisterMessage(RunningStats)

ClientResourcesStats = _reflection.GeneratedProtocolMessageType('ClientResourcesStats', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTRESOURCESSTATS,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientResourcesStats)
  ))
_sym_db.RegisterMessage(ClientResourcesStats)

Iterator = _reflection.GeneratedProtocolMessageType('Iterator', (_message.Message,), dict(
  DESCRIPTOR = _ITERATOR,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Iterator)
  ))
_sym_db.RegisterMessage(Iterator)

IteratedStatResponse = _reflection.GeneratedProtocolMessageType('IteratedStatResponse', (_message.Message,), dict(
  DESCRIPTOR = _ITERATEDSTATRESPONSE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:IteratedStatResponse)
  ))
_sym_db.RegisterMessage(IteratedStatResponse)

Notification = _reflection.GeneratedProtocolMessageType('Notification', (_message.Message,), dict(
  DESCRIPTOR = _NOTIFICATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Notification)
  ))
_sym_db.RegisterMessage(Notification)

GlobalNotification = _reflection.GeneratedProtocolMessageType('GlobalNotification', (_message.Message,), dict(
  DESCRIPTOR = _GLOBALNOTIFICATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:GlobalNotification)
  ))
_sym_db.RegisterMessage(GlobalNotification)

GlobalNotificationSet = _reflection.GeneratedProtocolMessageType('GlobalNotificationSet', (_message.Message,), dict(
  DESCRIPTOR = _GLOBALNOTIFICATIONSET,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:GlobalNotificationSet)
  ))
_sym_db.RegisterMessage(GlobalNotificationSet)

EmbeddedRDFValue = _reflection.GeneratedProtocolMessageType('EmbeddedRDFValue', (_message.Message,), dict(
  DESCRIPTOR = _EMBEDDEDRDFVALUE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:EmbeddedRDFValue)
  ))
_sym_db.RegisterMessage(EmbeddedRDFValue)

AuditEvent = _reflection.GeneratedProtocolMessageType('AuditEvent', (_message.Message,), dict(
  DESCRIPTOR = _AUDITEVENT,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:AuditEvent)
  ))
_sym_db.RegisterMessage(AuditEvent)

GoogleCloudInstance = _reflection.GeneratedProtocolMessageType('GoogleCloudInstance', (_message.Message,), dict(
  DESCRIPTOR = _GOOGLECLOUDINSTANCE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:GoogleCloudInstance)
  ))
_sym_db.RegisterMessage(GoogleCloudInstance)

AmazonCloudInstance = _reflection.GeneratedProtocolMessageType('AmazonCloudInstance', (_message.Message,), dict(
  DESCRIPTOR = _AMAZONCLOUDINSTANCE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:AmazonCloudInstance)
  ))
_sym_db.RegisterMessage(AmazonCloudInstance)

CloudInstance = _reflection.GeneratedProtocolMessageType('CloudInstance', (_message.Message,), dict(
  DESCRIPTOR = _CLOUDINSTANCE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:CloudInstance)
  ))
_sym_db.RegisterMessage(CloudInstance)

ClientSummary = _reflection.GeneratedProtocolMessageType('ClientSummary', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTSUMMARY,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:ClientSummary)
  ))
_sym_db.RegisterMessage(ClientSummary)

CronJobRunStatus = _reflection.GeneratedProtocolMessageType('CronJobRunStatus', (_message.Message,), dict(
  DESCRIPTOR = _CRONJOBRUNSTATUS,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:CronJobRunStatus)
  ))
_sym_db.RegisterMessage(CronJobRunStatus)

MetricFieldDefinition = _reflection.GeneratedProtocolMessageType('MetricFieldDefinition', (_message.Message,), dict(
  DESCRIPTOR = _METRICFIELDDEFINITION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:MetricFieldDefinition)
  ))
_sym_db.RegisterMessage(MetricFieldDefinition)

MetricMetadata = _reflection.GeneratedProtocolMessageType('MetricMetadata', (_message.Message,), dict(
  DESCRIPTOR = _METRICMETADATA,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:MetricMetadata)
  ))
_sym_db.RegisterMessage(MetricMetadata)

StatsStoreMetricsMetadata = _reflection.GeneratedProtocolMessageType('StatsStoreMetricsMetadata', (_message.Message,), dict(
  DESCRIPTOR = _STATSSTOREMETRICSMETADATA,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:StatsStoreMetricsMetadata)
  ))
_sym_db.RegisterMessage(StatsStoreMetricsMetadata)

Distribution = _reflection.GeneratedProtocolMessageType('Distribution', (_message.Message,), dict(
  DESCRIPTOR = _DISTRIBUTION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:Distribution)
  ))
_sym_db.RegisterMessage(Distribution)

StatsStoreFieldValue = _reflection.GeneratedProtocolMessageType('StatsStoreFieldValue', (_message.Message,), dict(
  DESCRIPTOR = _STATSSTOREFIELDVALUE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:StatsStoreFieldValue)
  ))
_sym_db.RegisterMessage(StatsStoreFieldValue)

StatsStoreValue = _reflection.GeneratedProtocolMessageType('StatsStoreValue', (_message.Message,), dict(
  DESCRIPTOR = _STATSSTOREVALUE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:StatsStoreValue)
  ))
_sym_db.RegisterMessage(StatsStoreValue)

AFF4ObjectLabel = _reflection.GeneratedProtocolMessageType('AFF4ObjectLabel', (_message.Message,), dict(
  DESCRIPTOR = _AFF4OBJECTLABEL,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:AFF4ObjectLabel)
  ))
_sym_db.RegisterMessage(AFF4ObjectLabel)

AFF4ObjectLabelsList = _reflection.GeneratedProtocolMessageType('AFF4ObjectLabelsList', (_message.Message,), dict(
  DESCRIPTOR = _AFF4OBJECTLABELSLIST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:AFF4ObjectLabelsList)
  ))
_sym_db.RegisterMessage(AFF4ObjectLabelsList)

PersistenceFile = _reflection.GeneratedProtocolMessageType('PersistenceFile', (_message.Message,), dict(
  DESCRIPTOR = _PERSISTENCEFILE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:PersistenceFile)
  ))
_sym_db.RegisterMessage(PersistenceFile)

EndToEndTestResult = _reflection.GeneratedProtocolMessageType('EndToEndTestResult', (_message.Message,), dict(
  DESCRIPTOR = _ENDTOENDTESTRESULT,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:EndToEndTestResult)
  ))
_sym_db.RegisterMessage(EndToEndTestResult)

EmptyMessage = _reflection.GeneratedProtocolMessageType('EmptyMessage', (_message.Message,), dict(
  DESCRIPTOR = _EMPTYMESSAGE,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:EmptyMessage)
  ))
_sym_db.RegisterMessage(EmptyMessage)

NSRLInformation = _reflection.GeneratedProtocolMessageType('NSRLInformation', (_message.Message,), dict(
  DESCRIPTOR = _NSRLINFORMATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:NSRLInformation)
  ))
_sym_db.RegisterMessage(NSRLInformation)

PendingFlowTermination = _reflection.GeneratedProtocolMessageType('PendingFlowTermination', (_message.Message,), dict(
  DESCRIPTOR = _PENDINGFLOWTERMINATION,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:PendingFlowTermination)
  ))
_sym_db.RegisterMessage(PendingFlowTermination)

DumpProcessMemoryRequest = _reflection.GeneratedProtocolMessageType('DumpProcessMemoryRequest', (_message.Message,), dict(
  DESCRIPTOR = _DUMPPROCESSMEMORYREQUEST,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:DumpProcessMemoryRequest)
  ))
_sym_db.RegisterMessage(DumpProcessMemoryRequest)

SignaturePart = _reflection.GeneratedProtocolMessageType('SignaturePart', (_message.Message,), dict(
  DESCRIPTOR = _SIGNATUREPART,
  __module__ = 'grr.proto.jobs_pb2'
  # @@protoc_insertion_point(class_scope:SignaturePart)
  ))
_sym_db.RegisterMessage(SignaturePart)


_HTTPREQUEST.fields_by_name['timestamp'].has_options = True
_HTTPREQUEST.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\n\013RDFDatetime\022,Timestamp: unique identifier for the request'))
_HTTPREQUEST.fields_by_name['size'].has_options = True
_HTTPREQUEST.fields_by_name['size']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034Size of the request in bytes'))
_GRRMESSAGE.fields_by_name['session_id'].has_options = True
_GRRMESSAGE.fields_by_name['session_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\n\rFlowSessionID\0228The session id of the flow that this message belongs to.'))
_GRRMESSAGE.fields_by_name['request_id'].has_options = True
_GRRMESSAGE.fields_by_name['request_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001P\022NThe message is in response to this request number (requests increment from 1).'))
_GRRMESSAGE.fields_by_name['response_id'].has_options = True
_GRRMESSAGE.fields_by_name['response_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\0224Responses for each request are also numbered from 1.'))
_GRRMESSAGE.fields_by_name['name'].has_options = True
_GRRMESSAGE.fields_by_name['name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001s\022qThis is the name of the client action that will be executed. It is set by the flow and is executed by the client.'))
_GRRMESSAGE.fields_by_name['source'].has_options = True
_GRRMESSAGE.fields_by_name['source']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001N\n\006RDFURN\022DClient name where the message came from (Filled in by the frontend).'))
_GRRMESSAGE.fields_by_name['priority'].has_options = True
_GRRMESSAGE.fields_by_name['priority']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001`\022^The priority of this message - allows higher priority messages to leap to the front of queues.'))
_GRRMESSAGE.fields_by_name['ttl'].has_options = True
_GRRMESSAGE.fields_by_name['ttl']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001V\022TTime to live - each time a request is retransmitted this decrement until it expires.'))
_GRRMESSAGE.fields_by_name['require_fastpoll'].has_options = True
_GRRMESSAGE.fields_by_name['require_fastpoll']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\022GIf this is true, the client will enter fast poll mode after processing.'))
_GRRMESSAGE.fields_by_name['cpu_limit'].has_options = True
_GRRMESSAGE.fields_by_name['cpu_limit']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001:\0228Maximum number of CPU seconds to be used by this action.'))
_GRRMESSAGE.fields_by_name['args_age'].has_options = True
_GRRMESSAGE.fields_by_name['args_age']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001,\n\013RDFDatetime\022\035The age of the args rdfvalue.'))
_GRRMESSAGE.fields_by_name['queue'].has_options = True
_GRRMESSAGE.fields_by_name['queue']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\n\006RDFURN\022\'The scheduler queue this message is in.'))
_GRRMESSAGE.fields_by_name['eta'].has_options = True
_GRRMESSAGE.fields_by_name['eta']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001L\n\013RDFDatetime\022=The time when this message will become available for leasing.'))
_GRRMESSAGE.fields_by_name['network_bytes_limit'].has_options = True
_GRRMESSAGE.fields_by_name['network_bytes_limit']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\217\002\022\214\002Maximum number of network bytes to be sent, 10G default. All bytes charged against the flow session ID count towards the limit but only during TransferBuffer is the limit enforced. This means we can blockfile transfers but still communicate after the limit is reached.'))
_GRRMESSAGE.fields_by_name['timestamp'].has_options = True
_GRRMESSAGE.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001B\n\013RDFDatetime\0223An optional timestamp when this message was stored.'))
_PACKEDMESSAGELIST.fields_by_name['source'].has_options = True
_PACKEDMESSAGELIST.fields_by_name['source']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0012\n\006RDFURN\022(The source where this message came from.'))
_PACKEDMESSAGELIST.fields_by_name['timestamp'].has_options = True
_PACKEDMESSAGELIST.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001H\n\013RDFDatetime\0229The client sends its timestamp to prevent replay attacks.'))
_CIPHERPROPERTIES.fields_by_name['key'].has_options = True
_CIPHERPROPERTIES.fields_by_name['key']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))
_CIPHERPROPERTIES.fields_by_name['metadata_iv'].has_options = True
_CIPHERPROPERTIES.fields_by_name['metadata_iv']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))
_CIPHERPROPERTIES.fields_by_name['hmac_key'].has_options = True
_CIPHERPROPERTIES.fields_by_name['hmac_key']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))
_CIPHERMETADATA.fields_by_name['source'].has_options = True
_CIPHERMETADATA.fields_by_name['source']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\n\006RDFURN\022?The common name this cipher should be used to communicate with.'))
_CLIENTCOMMUNICATION.fields_by_name['packet_iv'].has_options = True
_CLIENTCOMMUNICATION.fields_by_name['packet_iv']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))
_GRRSTATUS.fields_by_name['child_session_id'].has_options = True
_GRRSTATUS.fields_by_name['child_session_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\"\n\tSessionID\022\025The URN of a subflow.'))
_GRRNOTIFICATION.fields_by_name['session_id'].has_options = True
_GRRNOTIFICATION.fields_by_name['session_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))
_GRRNOTIFICATION.fields_by_name['first_queued'].has_options = True
_GRRNOTIFICATION.fields_by_name['first_queued']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\n\013RDFDatetime\022,The first time this notification was queued.'))
_GRRNOTIFICATION.fields_by_name['last_status'].has_options = True
_GRRNOTIFICATION.fields_by_name['last_status']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001a\022_If this is for a status based event (flows), the request number of the last status we received.'))
_GRRNOTIFICATION.fields_by_name['in_progress'].has_options = True
_GRRNOTIFICATION.fields_by_name['in_progress']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001J\022HThis indicates that the flow is currently being processed by the worker.'))
_GRRNOTIFICATION.fields_by_name['timestamp'].has_options = True
_GRRNOTIFICATION.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\n\013RDFDatetime\022,The time the notification was scheduled for.'))
_GRRNOTIFICATION.fields_by_name['ttl'].has_options = True
_GRRNOTIFICATION.fields_by_name['ttl']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001m\022kTime to live - each time a notification is rescheduled, this is decremented until the notification expires.'))
_CLIENTCRASH.fields_by_name['client_id'].has_options = True
_CLIENTCRASH.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))
_CLIENTCRASH.fields_by_name['session_id'].has_options = True
_CLIENTCRASH.fields_by_name['session_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))
_CLIENTCRASH.fields_by_name['timestamp'].has_options = True
_CLIENTCRASH.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\013RDFDatetime\022\030When the client crashed.'))
_CLIENTCRASH.fields_by_name['crash_type'].has_options = True
_CLIENTCRASH.fields_by_name['crash_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))
_HUNTNOTIFICATION.fields_by_name['session_id'].has_options = True
_HUNTNOTIFICATION.fields_by_name['session_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))
_HUNTNOTIFICATION.fields_by_name['client_id'].has_options = True
_HUNTNOTIFICATION.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))
_HUNTRESULTNOTIFICATION.fields_by_name['result_collection_urn'].has_options = True
_HUNTRESULTNOTIFICATION.fields_by_name['result_collection_urn']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001B\n\006RDFURN\0228The URN of the result collection containing this result.'))
_HUNTRESULTNOTIFICATION.fields_by_name['timestamp'].has_options = True
_HUNTRESULTNOTIFICATION.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001Q\n\013RDFDatetime\022BThe timestamp identifying the result within the result collection.'))
_HUNTRESULTNOTIFICATION.fields_by_name['suffix'].has_options = True
_HUNTRESULTNOTIFICATION.fields_by_name['suffix']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001A\022?The suffix identifying the result within the result collection.'))
_FLOWNOTIFICATION.fields_by_name['session_id'].has_options = True
_FLOWNOTIFICATION.fields_by_name['session_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))
_FLOWNOTIFICATION.fields_by_name['client_id'].has_options = True
_FLOWNOTIFICATION.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))
_DATABLOB.fields_by_name['rdf_value'].has_options = True
_DATABLOB.fields_by_name['rdf_value']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\022%Store an embedded arbitrary RDFValue.'))
_REQUESTSTATE.fields_by_name['data'].has_options = True
_REQUESTSTATE.fields_by_name['data']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001B\022@This can contain any data we want to associate with the request.'))
_REQUESTSTATE.fields_by_name['client_id'].has_options = True
_REQUESTSTATE.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001e\n\tClientURN\022XThe client id where the request was heading - we only receiveresponses from this client.'))
_REQUESTSTATE.fields_by_name['session_id'].has_options = True
_REQUESTSTATE.fields_by_name['session_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001H\n\tSessionID\022;This is the session_id of the flow this request belongs to.'))
_CPUSECONDS.fields_by_name['user_cpu_time'].has_options = True
_CPUSECONDS.fields_by_name['user_cpu_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\"\025User cpu seconds used'))
_CPUSECONDS.fields_by_name['system_cpu_time'].has_options = True
_CPUSECONDS.fields_by_name['system_cpu_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\031\"\027System cpu seconds used'))
_CPUSAMPLE.fields_by_name['timestamp'].has_options = True
_CPUSAMPLE.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\013RDFDatetime\022\030The time of this sample.'))
_IOSAMPLE.fields_by_name['timestamp'].has_options = True
_IOSAMPLE.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\013RDFDatetime\022\030The time of this sample.'))
_PATHSPEC_PATHTYPE.values_by_name["MEMORY"].has_options = True
_PATHSPEC_PATHTYPE.values_by_name["MEMORY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\360\271\313\271\001\002'))
_PATHSPEC_PATHTYPE.values_by_name["TMPFILE"].has_options = True
_PATHSPEC_PATHTYPE.values_by_name["TMPFILE"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\360\271\313\271\001\002'))
_PATHSPEC_TSK_FS_ATTR_TYPE.has_options = True
_PATHSPEC_TSK_FS_ATTR_TYPE._options = _descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001'))
_PATHSPEC.fields_by_name['mount_point'].has_options = True
_PATHSPEC.fields_by_name['mount_point']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_PATHSPEC.fields_by_name['stream_name'].has_options = True
_PATHSPEC.fields_by_name['stream_name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0019\0225A name for the data stream. For example, an ADS name.\030\001'))
_PATHSPEC.fields_by_name['offset'].has_options = True
_PATHSPEC.fields_by_name['offset']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_PATHSPEC.fields_by_name['path_options'].has_options = True
_PATHSPEC.fields_by_name['path_options']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_PATHSPEC.fields_by_name['recursion_depth'].has_options = True
_PATHSPEC.fields_by_name['recursion_depth']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0017\0223Recursion depth when RECURSIVE option is specified.\030\002'))
_PATHSPEC.fields_by_name['inode'].has_options = True
_PATHSPEC.fields_by_name['inode']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_PATHSPEC.fields_by_name['ntfs_type'].has_options = True
_PATHSPEC.fields_by_name['ntfs_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_PATHSPEC.fields_by_name['ntfs_id'].has_options = True
_PATHSPEC.fields_by_name['ntfs_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_PATHSPEC.fields_by_name['file_size_override'].has_options = True
_PATHSPEC.fields_by_name['file_size_override']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001y\n\010ByteSize\022mFor files which are non seekable from their end (e.g. /proc files), this is the minimum amount of bytes read.'))
_PATHSPEC.fields_by_name['is_virtualroot'].has_options = True
_PATHSPEC.fields_by_name['is_virtualroot']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001?\022=Indicates that this pathspec already contains a virtual root.'))
_UPLOADPOLICY.fields_by_name['client_id'].has_options = True
_UPLOADPOLICY.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))
_UPLOADPOLICY.fields_by_name['expires'].has_options = True
_UPLOADPOLICY.fields_by_name['expires']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\n\013RDFDatetime\022\031When this upload expires.'))
_UPLOADTOKEN.fields_by_name['encrypted_policy'].has_options = True
_UPLOADTOKEN.fields_by_name['encrypted_policy']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0010\022.An encoded and encrypted UploadPolicy message.'))
_UPLOADTOKEN.fields_by_name['hmac'].has_options = True
_UPLOADTOKEN.fields_by_name['hmac']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\022(The HMAC for the encoded policy message.'))
_UPLOADTOKEN.fields_by_name['iv'].has_options = True
_UPLOADTOKEN.fields_by_name['iv']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))
_STATFSREQUEST.fields_by_name['path_list'].has_options = True
_STATFSREQUEST.fields_by_name['path_list']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\033\022\031List of paths for statfs.'))
_STATFSREQUEST.fields_by_name['pathtype'].has_options = True
_STATFSREQUEST.fields_by_name['pathtype']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001!\022\037Type of path to call statfs on.'))
_STATENTRY_REGISTRYTYPE.has_options = True
_STATENTRY_REGISTRYTYPE._options = _descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001'))
_STATENTRY.fields_by_name['st_mode'].has_options = True
_STATENTRY.fields_by_name['st_mode']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\n\010StatMode\022\034A unix file permission mode.'))
_STATENTRY.fields_by_name['st_atime'].has_options = True
_STATENTRY.fields_by_name['st_atime']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\022RDFDatetimeSeconds\022\021Last access time.'))
_STATENTRY.fields_by_name['st_mtime'].has_options = True
_STATENTRY.fields_by_name['st_mtime']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\n\022RDFDatetimeSeconds\022\023Last modified time.'))
_STATENTRY.fields_by_name['st_ctime'].has_options = True
_STATENTRY.fields_by_name['st_ctime']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\n\022RDFDatetimeSeconds\022\027Last inode change time.'))
_STATENTRY.fields_by_name['registry_type'].has_options = True
_STATENTRY.fields_by_name['registry_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\201\001\022\177If this is a stat of a registry value, this field contains the type of this value. The content will also be encoded in residet.'))
_STATENTRY.fields_by_name['pathspec'].has_options = True
_STATENTRY.fields_by_name['pathspec']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222The path specification to this file on the client.'))
_STATENTRY.fields_by_name['registry_data'].has_options = True
_STATENTRY.fields_by_name['registry_data']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001v\022tIf this entry represents a registry value, this field will contain that value encoded according to the correct type.'))
_STATENTRY.fields_by_name['st_crtime'].has_options = True
_STATENTRY.fields_by_name['st_crtime']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001$\n\022RDFDatetimeSeconds\022\016Creation time.'))
_DICT.fields_by_name['dat'].has_options = True
_DICT.fields_by_name['dat']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\026An arbitrary key/value\"\004Data'))
_ATTRIBUTEDDICT.fields_by_name['dat'].has_options = True
_ATTRIBUTEDDICT.fields_by_name['dat']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\027An arbitrary key/value.\"\004Data'))
_UNAME.fields_by_name['system'].has_options = True
_UNAME.fields_by_name['system']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+The system platform (Windows|Darwin|Linux).'))
_UNAME.fields_by_name['node'].has_options = True
_UNAME.fields_by_name['node']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034The hostname of this system.'))
_UNAME.fields_by_name['release'].has_options = True
_UNAME.fields_by_name['release']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0010\022.The OS release identifier e.g. 7, OSX, debian.'))
_UNAME.fields_by_name['version'].has_options = True
_UNAME.fields_by_name['version']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222The OS version ID e.g. 6.1.7601SP1, 10.9.2, 14.04.'))
_UNAME.fields_by_name['machine'].has_options = True
_UNAME.fields_by_name['machine']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+The system architecture e.g. AMD64, x86_64.'))
_UNAME.fields_by_name['kernel'].has_options = True
_UNAME.fields_by_name['kernel']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001<\022:The kernel version string e.g. 6.1.7601, 13.1.0, 3.15-rc2.'))
_UNAME.fields_by_name['fqdn'].has_options = True
_UNAME.fields_by_name['fqdn']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)The system\'s fully qualified domain name.'))
_UNAME.fields_by_name['install_date'].has_options = True
_UNAME.fields_by_name['install_date']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\n\013RDFDatetime\022\032When system was installed.'))
_UNAME.fields_by_name['libc_ver'].has_options = True
_UNAME.fields_by_name['libc_ver']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\022\025The C library version'))
_UNAME.fields_by_name['architecture'].has_options = True
_UNAME.fields_by_name['architecture']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\230\001\022\225\001The architecture of this binary. (Note this can be different from the machine architecture in the case of a 32 bit binary running on a 64 bit system)'))
_UNAME.fields_by_name['pep425tag'].has_options = True
_UNAME.fields_by_name['pep425tag']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\022GThe unique signature of this python system (as defined by PEP425 tags).'))
_NETWORKADDRESS.fields_by_name['packed_bytes'].has_options = True
_NETWORKADDRESS.fields_by_name['packed_bytes']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\n\n\010RDFBytes'))
_NETWORKADDRESS.has_options = True
_NETWORKADDRESS._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001\036\n\034Network Address information.'))
_INTERFACE.fields_by_name['mac_address'].has_options = True
_INTERFACE.fields_by_name['mac_address']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001$\n\nMacAddress\022\026Interface MAC address.'))
_INTERFACE.fields_by_name['addresses'].has_options = True
_INTERFACE.fields_by_name['addresses']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+A network address attached to an interface.'))
_INTERFACE.fields_by_name['dhcp_lease_expires'].has_options = True
_INTERFACE.fields_by_name['dhcp_lease_expires']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0010\n\013RDFDatetime\022!Time when DHCP lease will expire.'))
_INTERFACE.fields_by_name['dhcp_lease_obtained'].has_options = True
_INTERFACE.fields_by_name['dhcp_lease_obtained']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\n\013RDFDatetime\022\"Time when DHCP lease was obtained.'))
_INTERFACE.fields_by_name['dhcp_server_list'].has_options = True
_INTERFACE.fields_by_name['dhcp_server_list']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035IP addresses of DHCP servers.'))
_INTERFACE.fields_by_name['ip_gateway_list'].has_options = True
_INTERFACE.fields_by_name['ip_gateway_list']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035IP addresses of DHCP servers.'))
_INTERFACE.has_options = True
_INTERFACE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001\324\001\n\321\001Information about a network interface. New fields have beennamed to follow the CyBox NetworkInterfaceType:https://cybox.mitre.org/language/version2.1/xsddocs/objects/System_Object_xsd.html#NetworkInterfaceType'))
_HASH.fields_by_name['sha256'].has_options = True
_HASH.fields_by_name['sha256']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\n\nHashDigest\022\032SHA256 binary hash digest.'))
_HASH.fields_by_name['sha1'].has_options = True
_HASH.fields_by_name['sha1']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\n\nHashDigest\022\030SHA1 binary hash digest.'))
_HASH.fields_by_name['md5'].has_options = True
_HASH.fields_by_name['md5']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\n\nHashDigest\022\027MD5 binary hash digest.'))
_HASH.fields_by_name['pecoff_sha1'].has_options = True
_HASH.fields_by_name['pecoff_sha1']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\n\nHashDigest\022;Authenticode SHA1 hash digest for signed region of PE file.'))
_HASH.fields_by_name['pecoff_md5'].has_options = True
_HASH.fields_by_name['pecoff_md5']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001H\n\nHashDigest\022:Authenticode MD5 hash digest for signed region of PE file.'))
_HASH.fields_by_name['pecoff_sha256'].has_options = True
_HASH.fields_by_name['pecoff_sha256']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001K\n\nHashDigest\022=Authenticode SHA256 hash digest for signed region of PE file.'))
_HASH.fields_by_name['signed_data'].has_options = True
_HASH.fields_by_name['signed_data']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001/\022-Signed data which may be present in PE files.'))
_HASH.fields_by_name['num_bytes'].has_options = True
_HASH.fields_by_name['num_bytes']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001@\022>The number of bytes used to create the hashes in this message.'))
_FINGERPRINTREQUEST.fields_by_name['max_filesize'].has_options = True
_FINGERPRINTREQUEST.fields_by_name['max_filesize']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!Maximum file size to fingerprint.'))
_FINGERPRINTRESPONSE.fields_by_name['bytes_read'].has_options = True
_FINGERPRINTRESPONSE.fields_by_name['bytes_read']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035Total number of bytes hashed.'))
_SYMMETRICCIPHER.fields_by_name['_algorithm'].has_options = True
_SYMMETRICCIPHER.fields_by_name['_algorithm']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\022\025The algorithm to use.'))
_SYMMETRICCIPHER.fields_by_name['_key'].has_options = True
_SYMMETRICCIPHER.fields_by_name['_key']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))
_SYMMETRICCIPHER.fields_by_name['_iv'].has_options = True
_SYMMETRICCIPHER.fields_by_name['_iv']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\n\rEncryptionKey'))
_CLIENTCOMPONENTSUMMARY.fields_by_name['name'].has_options = True
_CLIENTCOMPONENTSUMMARY.fields_by_name['name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\034\022\032The name of the component.'))
_CLIENTCOMPONENTSUMMARY.fields_by_name['version'].has_options = True
_CLIENTCOMPONENTSUMMARY.fields_by_name['version']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\022$The version string of the component.'))
_CLIENTCOMPONENTSUMMARY.fields_by_name['seed'].has_options = True
_CLIENTCOMPONENTSUMMARY.fields_by_name['seed']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!A ramdom seed for this component.'))
_CLIENTCOMPONENTSUMMARY.fields_by_name['modules'].has_options = True
_CLIENTCOMPONENTSUMMARY.fields_by_name['modules']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\022#The modules which will be imported.'))
_CLIENTCOMPONENTSUMMARY.fields_by_name['url'].has_options = True
_CLIENTCOMPONENTSUMMARY.fields_by_name['url']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001F\022DThe URL that a signed blob of this component can be downloaded from.'))
_CLIENTCOMPONENTSUMMARY.fields_by_name['cipher'].has_options = True
_CLIENTCOMPONENTSUMMARY.fields_by_name['cipher']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001:\0228This cipher will be used to encrypt the ClientComponent.'))
_CLIENTCOMPONENT.fields_by_name['summary'].has_options = True
_CLIENTCOMPONENT.fields_by_name['summary']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\"\022 Information about the component.'))
_CLIENTCOMPONENT.fields_by_name['raw_data'].has_options = True
_CLIENTCOMPONENT.fields_by_name['raw_data']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001,\022*The raw ZIP file which will be installed. '))
_CLIENTCOMPONENT.fields_by_name['build_system'].has_options = True
_CLIENTCOMPONENT.fields_by_name['build_system']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)The platform this component was built on.'))
_LOADCOMPONENT.fields_by_name['summary'].has_options = True
_LOADCOMPONENT.fields_by_name['summary']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\030\022\026The component to load.'))
_EXECUTEBINARYREQUEST.fields_by_name['more_data'].has_options = True
_EXECUTEBINARYREQUEST.fields_by_name['more_data']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\274\001\022\271\001If the binary does not fit inside a single request, the server will set this flag and send the file in chunks. The file will not be actually executed until the more_data flags is False.'))
_EXECUTEBINARYREQUEST.fields_by_name['offset'].has_options = True
_EXECUTEBINARYREQUEST.fields_by_name['offset']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\210\001\022\205\001The position in the file where this chunk exists. This must be the end of the file to ensure we did not lose any requests on the way.'))
_EXECUTEBINARYREQUEST.fields_by_name['use_client_env'].has_options = True
_EXECUTEBINARYREQUEST.fields_by_name['use_client_env']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001f\022dIndicates if this command should be run in the context of the installed client or the target system.'))
_SENDFILEREQUEST.fields_by_name['pathspec'].has_options = True
_SENDFILEREQUEST.fields_by_name['pathspec']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&The pathspec for the file to retrieve.'))
_SENDFILEREQUEST.fields_by_name['address_family'].has_options = True
_SENDFILEREQUEST.fields_by_name['address_family']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001.\022,address family to use (AF_INET or AF_INET6).'))
_SENDFILEREQUEST.fields_by_name['host'].has_options = True
_SENDFILEREQUEST.fields_by_name['host']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\022#Hostname or IP to send the file to.'))
_SENDFILEREQUEST.fields_by_name['port'].has_options = True
_SENDFILEREQUEST.fields_by_name['port']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\022$Port number on the listening server.'))
_SENDFILEREQUEST.fields_by_name['key'].has_options = True
_SENDFILEREQUEST.fields_by_name['key']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\n\tAES128Key\022.An encryption key given in hex representation.'))
_SENDFILEREQUEST.fields_by_name['iv'].has_options = True
_SENDFILEREQUEST.fields_by_name['iv']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001>\n\tAES128Key\0221The iv for AES, also given in hex representation.'))
_GREPSPEC.fields_by_name['target'].has_options = True
_GREPSPEC.fields_by_name['target']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033This file will be searched.'))
_GREPSPEC.fields_by_name['start_offset'].has_options = True
_GREPSPEC.fields_by_name['start_offset']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\022$Start searching at this file offset.'))
_GREPSPEC.fields_by_name['length'].has_options = True
_GREPSPEC.fields_by_name['length']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+How far (in bytes) into the file to search.'))
_GREPSPEC.fields_by_name['regex'].has_options = True
_GREPSPEC.fields_by_name['regex']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001I\n\021RegularExpression\0224The regular expression which will be used to search.'))
_GREPSPEC.fields_by_name['literal'].has_options = True
_GREPSPEC.fields_by_name['literal']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\n\021LiteralExpression\022\037Search for this literal string.'))
_GREPSPEC.fields_by_name['mode'].has_options = True
_GREPSPEC.fields_by_name['mode']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001C\022AWhen should searching stop? Stop after one hit or search for all?'))
_GREPSPEC.fields_by_name['bytes_before'].has_options = True
_GREPSPEC.fields_by_name['bytes_before']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022\'Include this many bytes before the hit.\030\001'))
_GREPSPEC.fields_by_name['bytes_after'].has_options = True
_GREPSPEC.fields_by_name['bytes_after']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\022&Include this many bytes after the hit.\030\001'))
_GREPSPEC.fields_by_name['xor_in_key'].has_options = True
_GREPSPEC.fields_by_name['xor_in_key']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\243\001\022\236\001When searching memory we need to ensure we dont hit on our own process. This allows us to obfuscate the search string in memory to avoid us finding ourselves.\030\001'))
_GREPSPEC.fields_by_name['xor_out_key'].has_options = True
_GREPSPEC.fields_by_name['xor_out_key']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\243\001\022\236\001When searching memory we need to ensure we dont hit on our own process. This allows us to obfuscate the search string in memory to avoid us finding ourselves.\030\001'))
_FINDSPEC.fields_by_name['iterator'].has_options = True
_FINDSPEC.fields_by_name['iterator']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\002'))
_FINDSPEC.fields_by_name['pathspec'].has_options = True
_FINDSPEC.fields_by_name['pathspec']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'The base path to recursive search from '))
_FINDSPEC.fields_by_name['path_glob'].has_options = True
_FINDSPEC.fields_by_name['path_glob']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\n\016GlobExpression\022\030A glob for the filename.'))
_FINDSPEC.fields_by_name['path_regex'].has_options = True
_FINDSPEC.fields_by_name['path_regex']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001Z\n\021RegularExpression\0223This matches the filename. Overrides the path_glob.\030\001\"\016Filename RegEx'))
_FINDSPEC.fields_by_name['data_regex'].has_options = True
_FINDSPEC.fields_by_name['data_regex']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001:\n\021RegularExpression\022%This matches the content of the file.'))
_FINDSPEC.fields_by_name['start_time'].has_options = True
_FINDSPEC.fields_by_name['start_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0015\n\013RDFDatetime\022&File must be modified after this time.'))
_FINDSPEC.fields_by_name['end_time'].has_options = True
_FINDSPEC.fields_by_name['end_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001[\n\013RDFDatetime\022LFile must be modified before this time (default=heat death of the universe).'))
_FINDSPEC.fields_by_name['cross_devs'].has_options = True
_FINDSPEC.fields_by_name['cross_devs']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_FINDSPEC.fields_by_name['max_depth'].has_options = True
_FINDSPEC.fields_by_name['max_depth']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_FINDSPEC.fields_by_name['hit'].has_options = True
_FINDSPEC.fields_by_name['hit']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001!\022\035Responses come in this field.\030\002'))
_FINDSPEC.fields_by_name['max_data'].has_options = True
_FINDSPEC.fields_by_name['max_data']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\002\030\001'))
_FINDSPEC.fields_by_name['min_file_size'].has_options = True
_FINDSPEC.fields_by_name['min_file_size']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033Minimum file size in bytes.'))
_FINDSPEC.fields_by_name['max_file_size'].has_options = True
_FINDSPEC.fields_by_name['max_file_size']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0012\0220Maximum file size in bytes (default=sys.maxint).'))
_FINDSPEC.fields_by_name['perm_mask'].has_options = True
_FINDSPEC.fields_by_name['perm_mask']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\325\001\022\322\001Permission mask to apply to a file\'s permissions using AND operation when looking for a match against perm_mode. Default is 7777 in octal. Allows you to target only the permissions you care about with perm_mode'))
_FINDSPEC.fields_by_name['perm_mode'].has_options = True
_FINDSPEC.fields_by_name['perm_mode']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0012\n\010StatMode\022&File permission mode to match against.'))
_FINDSPEC.fields_by_name['uid'].has_options = True
_FINDSPEC.fields_by_name['uid']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&User ID to match against a file\'s UID.'))
_FINDSPEC.fields_by_name['gid'].has_options = True
_FINDSPEC.fields_by_name['gid']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'Group ID to match against a file\'s GID.'))
_PLISTREQUEST.fields_by_name['pathspec'].has_options = True
_PLISTREQUEST.fields_by_name['pathspec']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)The pathspec for the plist file to query.'))
_PLISTREQUEST.fields_by_name['context'].has_options = True
_PLISTREQUEST.fields_by_name['context']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001-\022+A path into the plist to base the filter on'))
_PLISTREQUEST.fields_by_name['query'].has_options = True
_PLISTREQUEST.fields_by_name['query']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001T\n\nPlistQuery\022FA filter query to match the contents of the plist at the base_context.'))
_GETCLIENTSTATSREQUEST.fields_by_name['start_time'].has_options = True
_GETCLIENTSTATSREQUEST.fields_by_name['start_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001E\n\013RDFDatetime\0226Request stats data points with timestamp > start_time.'))
_GETCLIENTSTATSREQUEST.fields_by_name['end_time'].has_options = True
_GETCLIENTSTATSREQUEST.fields_by_name['end_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001C\n\013RDFDatetime\0224Request stats data points with timestamp < end_time.'))
_FOREMANCLIENTRULESET_MATCHMODE.values_by_name["MATCH_ALL"].has_options = True
_FOREMANCLIENTRULESET_MATCHMODE.values_by_name["MATCH_ALL"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\tMatch all'))
_FOREMANCLIENTRULESET_MATCHMODE.values_by_name["MATCH_ANY"].has_options = True
_FOREMANCLIENTRULESET_MATCHMODE.values_by_name["MATCH_ANY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\tMatch any'))
_FOREMANCLIENTRULE_TYPE.values_by_name["OS"].has_options = True
_FOREMANCLIENTRULE_TYPE.values_by_name["OS"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\020Operating system'))
_FOREMANCLIENTRULE_TYPE.values_by_name["LABEL"].has_options = True
_FOREMANCLIENTRULE_TYPE.values_by_name["LABEL"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\005Label'))
_FOREMANCLIENTRULE_TYPE.values_by_name["REGEX"].has_options = True
_FOREMANCLIENTRULE_TYPE.values_by_name["REGEX"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\005Regex'))
_FOREMANCLIENTRULE_TYPE.values_by_name["INTEGER"].has_options = True
_FOREMANCLIENTRULE_TYPE.values_by_name["INTEGER"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\007Integer'))
_FOREMANCLIENTRULE.has_options = True
_FOREMANCLIENTRULE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001\013\022\trule_type'))
_FOREMANLABELCLIENTRULE_MATCHMODE.values_by_name["MATCH_ALL"].has_options = True
_FOREMANLABELCLIENTRULE_MATCHMODE.values_by_name["MATCH_ALL"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\tMatch all'))
_FOREMANLABELCLIENTRULE_MATCHMODE.values_by_name["MATCH_ANY"].has_options = True
_FOREMANLABELCLIENTRULE_MATCHMODE.values_by_name["MATCH_ANY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\tMatch any'))
_FOREMANLABELCLIENTRULE_MATCHMODE.values_by_name["DOES_NOT_MATCH_ALL"].has_options = True
_FOREMANLABELCLIENTRULE_MATCHMODE.values_by_name["DOES_NOT_MATCH_ALL"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\021Doesn\'t match all'))
_FOREMANLABELCLIENTRULE_MATCHMODE.values_by_name["DOES_NOT_MATCH_ANY"].has_options = True
_FOREMANLABELCLIENTRULE_MATCHMODE.values_by_name["DOES_NOT_MATCH_ANY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\021Doesn\'t match any'))
_FOREMANREGEXCLIENTRULE.fields_by_name['attribute_name'].has_options = True
_FOREMANREGEXCLIENTRULE.fields_by_name['attribute_name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\rAFF4Attribute\022\026An AFF4 attribute name'))
_FOREMANREGEXCLIENTRULE.fields_by_name['attribute_regex'].has_options = True
_FOREMANREGEXCLIENTRULE.fields_by_name['attribute_regex']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001p\n\021RegularExpression\022[If these are specified we fire when the attribute\'s str() representation matches the regex.'))
_FOREMANINTEGERCLIENTRULE.fields_by_name['attribute_name'].has_options = True
_FOREMANINTEGERCLIENTRULE.fields_by_name['attribute_name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\n\rAFF4Attribute\022\026An AFF4 attribute name'))
_FOREMANRULEACTION.fields_by_name['hunt_id'].has_options = True
_FOREMANRULEACTION.fields_by_name['hunt_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\n\tSessionID\022\034The id of the hunt to start.'))
_FOREMANRULE.fields_by_name['created'].has_options = True
_FOREMANRULE.fields_by_name['created']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\n\013RDFDatetime\022\033When this rule was created.'))
_FOREMANRULE.fields_by_name['expires'].has_options = True
_FOREMANRULE.fields_by_name['expires']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\n\013RDFDatetime\022\033When this rule will expire.'))
_HUNTERROR.fields_by_name['client_id'].has_options = True
_HUNTERROR.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))
_FLOWLOG.fields_by_name['client_id'].has_options = True
_FLOWLOG.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))
_FLOWLOG.fields_by_name['urn'].has_options = True
_FLOWLOG.fields_by_name['urn']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001,\n\006RDFURN\022\"Session ID that generated the log.'))
_FLOWLOG.fields_by_name['flow_name'].has_options = True
_FLOWLOG.fields_by_name['flow_name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'Human readable name for the session ID.'))
_CLIENTRESOURCES.fields_by_name['client_id'].has_options = True
_CLIENTRESOURCES.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tClientURN'))
_CLIENTRESOURCES.fields_by_name['session_id'].has_options = True
_CLIENTRESOURCES.fields_by_name['session_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\013\n\tSessionID'))
_NOTIFICATION.fields_by_name['subject'].has_options = True
_NOTIFICATION.fields_by_name['subject']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0017\n\006RDFURN\022-The subject which this notification is about.'))
_NOTIFICATION.fields_by_name['source'].has_options = True
_NOTIFICATION.fields_by_name['source']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001@\n\006RDFURN\0226The user or service which generated this notification.'))
_NOTIFICATION.fields_by_name['timestamp'].has_options = True
_NOTIFICATION.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001/\n\013RDFDatetime\022 Time the notification was added.'))
_GLOBALNOTIFICATION.fields_by_name['show_from'].has_options = True
_GLOBALNOTIFICATION.fields_by_name['show_from']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001:\n\013RDFDatetime\022+Notification will be shown after this time.'))
_GLOBALNOTIFICATION.fields_by_name['duration'].has_options = True
_GLOBALNOTIFICATION.fields_by_name['duration']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\n\010Duration\022\036Duration of this notification.'))
_EMBEDDEDRDFVALUE.fields_by_name['embedded_age'].has_options = True
_EMBEDDEDRDFVALUE.fields_by_name['embedded_age']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\n\013RDFDatetime\022\031The age of this RDFValue.'))
_AUDITEVENT.fields_by_name['client'].has_options = True
_AUDITEVENT.fields_by_name['client']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\n\006RDFURN\022\'The client, this action was applied to.'))
_AUDITEVENT.fields_by_name['timestamp'].has_options = True
_AUDITEVENT.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\n\013RDFDatetime\022\027Time event was created.'))
_AUDITEVENT.fields_by_name['urn'].has_options = True
_AUDITEVENT.fields_by_name['urn']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0019\n\006RDFURN\022/The relevant hunt/flow/cron urn for this event.'))
_GOOGLECLOUDINSTANCE.fields_by_name['unique_id'].has_options = True
_GOOGLECLOUDINSTANCE.fields_by_name['unique_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001N\022LGlobally unique instance ID, a concatenation of zone/project_id/instance_id.'))
_GOOGLECLOUDINSTANCE.fields_by_name['zone'].has_options = True
_GOOGLECLOUDINSTANCE.fields_by_name['zone']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\022%Zone ID where the instance is running'))
_GOOGLECLOUDINSTANCE.fields_by_name['project_id'].has_options = True
_GOOGLECLOUDINSTANCE.fields_by_name['project_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001$\022\"Project ID containing the instance'))
_GOOGLECLOUDINSTANCE.fields_by_name['instance_id'].has_options = True
_GOOGLECLOUDINSTANCE.fields_by_name['instance_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\022(Instance ID (may not be globally unique)'))
_GOOGLECLOUDINSTANCE.fields_by_name['hostname'].has_options = True
_GOOGLECLOUDINSTANCE.fields_by_name['hostname']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\023\022\021Instance hostname'))
_GOOGLECLOUDINSTANCE.fields_by_name['machine_type'].has_options = True
_GOOGLECLOUDINSTANCE.fields_by_name['machine_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0013\0221Machine type name of the instance\'s host machine.'))
_AMAZONCLOUDINSTANCE.fields_by_name['instance_id'].has_options = True
_AMAZONCLOUDINSTANCE.fields_by_name['instance_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034Globally unique instance ID.'))
_AMAZONCLOUDINSTANCE.fields_by_name['ami_id'].has_options = True
_AMAZONCLOUDINSTANCE.fields_by_name['ami_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'The AMI ID used to launch the instance.'))
_AMAZONCLOUDINSTANCE.fields_by_name['hostname'].has_options = True
_AMAZONCLOUDINSTANCE.fields_by_name['hostname']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0010\022.The private IPv4 DNS hostname of the instance.'))
_AMAZONCLOUDINSTANCE.fields_by_name['public_hostname'].has_options = True
_AMAZONCLOUDINSTANCE.fields_by_name['public_hostname']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\022#The instance\'s public DNS hostname.'))
_AMAZONCLOUDINSTANCE.fields_by_name['instance_type'].has_options = True
_AMAZONCLOUDINSTANCE.fields_by_name['instance_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\022\025The type of instance.'))
_CLIENTSUMMARY.fields_by_name['client_id'].has_options = True
_CLIENTSUMMARY.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\n\tClientURN\022\021The Client\'s URN.'))
_CLIENTSUMMARY.fields_by_name['timestamp'].has_options = True
_CLIENTSUMMARY.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0018\n\013RDFDatetime\022)Timestamp for the creation of the record.'))
_CLIENTSUMMARY.fields_by_name['system_info'].has_options = True
_CLIENTSUMMARY.fields_by_name['system_info']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\027\022\025Client\'s system info.'))
_CLIENTSUMMARY.fields_by_name['client_info'].has_options = True
_CLIENTSUMMARY.fields_by_name['client_info']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\022\'Basic information about the GRR client.'))
_CLIENTSUMMARY.fields_by_name['install_date'].has_options = True
_CLIENTSUMMARY.fields_by_name['install_date']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\n\013RDFDatetime\022\"The date the system was installed.'))
_CLIENTSUMMARY.fields_by_name['interfaces'].has_options = True
_CLIENTSUMMARY.fields_by_name['interfaces']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035All interfaces on the system.'))
_CLIENTSUMMARY.fields_by_name['serial_number'].has_options = True
_CLIENTSUMMARY.fields_by_name['serial_number']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033Serial Number from HW info.'))
_CLIENTSUMMARY.fields_by_name['system_manufacturer'].has_options = True
_CLIENTSUMMARY.fields_by_name['system_manufacturer']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!System Manufacturer from HW info.'))
_CLIENTSUMMARY.fields_by_name['system_uuid'].has_options = True
_CLIENTSUMMARY.fields_by_name['system_uuid']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\016\022\014System UUID.'))
_CLIENTSUMMARY.fields_by_name['users'].has_options = True
_CLIENTSUMMARY.fields_by_name['users']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034User accounts on the system.'))
_CLIENTSUMMARY.fields_by_name['cloud_type'].has_options = True
_CLIENTSUMMARY.fields_by_name['cloud_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001 \022\036Cloud type: AMAZON/GOOGLE etc.'))
_CLIENTSUMMARY.fields_by_name['cloud_instance_id'].has_options = True
_CLIENTSUMMARY.fields_by_name['cloud_instance_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001~\022|Cloud instance unique ID. For Amazon EC2 it is the instance ID, for GCE it is the zone/project_id/instance_id concatenation.'))
_CLIENTSUMMARY.has_options = True
_CLIENTSUMMARY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001&\n$A summary of the client information.'))
_METRICMETADATA_METRICTYPE.values_by_name["COUNTER"].has_options = True
_METRICMETADATA_METRICTYPE.values_by_name["COUNTER"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001BInteger metric that can only be incremented and never decremented.'))
_METRICMETADATA_METRICTYPE.values_by_name["GAUGE"].has_options = True
_METRICMETADATA_METRICTYPE.values_by_name["GAUGE"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001\275\001Gauge metrics can be either string, integer or float. Their value may be any value of their type and they may change their value arbitrarily (unlike counters, which can only be incremented.'))
_METRICMETADATA_METRICTYPE.values_by_name["EVENT"].has_options = True
_METRICMETADATA_METRICTYPE.values_by_name["EVENT"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\352\271\313\271\001rEvent metrics are used to record events that take certain amount of time. They\'re stored as latency distributions.'))
_METRICMETADATA.fields_by_name['varname'].has_options = True
_METRICMETADATA.fields_by_name['varname']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\016\022\014Metric name.'))
_METRICMETADATA.fields_by_name['metric_type'].has_options = True
_METRICMETADATA.fields_by_name['metric_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\'\022%Metric type: counter, gauge or event.'))
_METRICMETADATA.fields_by_name['value_type'].has_options = True
_METRICMETADATA.fields_by_name['value_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\305\001\022\302\001Metric value type: int, float, str or distribution. Please note that counter metrics always have type INT and event metrics always have type DISTRIBUTION. Gauge metrics can be INT, FLOAT or STR.'))
_METRICMETADATA.fields_by_name['fields_defs'].has_options = True
_METRICMETADATA.fields_by_name['fields_defs']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&Fields definitions for a given metric.'))
_METRICMETADATA.fields_by_name['docstring'].has_options = True
_METRICMETADATA.fields_by_name['docstring']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\034\022\032Description of the metric.'))
_METRICMETADATA.fields_by_name['units'].has_options = True
_METRICMETADATA.fields_by_name['units']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\0224For numerical metrics - measuring unit that is used.'))
_DISTRIBUTION.fields_by_name['sum'].has_options = True
_DISTRIBUTION.fields_by_name['sum']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0013\0221Sum of all the values recorded in a distribution.'))
_DISTRIBUTION.fields_by_name['count'].has_options = True
_DISTRIBUTION.fields_by_name['count']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0015\0223Count of all the values recorded in a distribution.'))
_DISTRIBUTION.fields_by_name['bins'].has_options = True
_DISTRIBUTION.fields_by_name['bins']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\305\001\022\302\001Values of upper range limits of all the bins in the distribution. The first bin will have a lower range limit of -Infinity. The last bin will accept all the values bigger than its\' higher range.'))
_DISTRIBUTION.fields_by_name['bins_heights'].has_options = True
_DISTRIBUTION.fields_by_name['bins_heights']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222Heights of all the bins defined in the bins field.'))
_AFF4OBJECTLABEL.fields_by_name['owner'].has_options = True
_AFF4OBJECTLABEL.fields_by_name['owner']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)Username of the user who added the label.'))
_AFF4OBJECTLABEL.fields_by_name['timestamp'].has_options = True
_AFF4OBJECTLABEL.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\n\013RDFDatetime\022\'Timestamp for when the label was added.'))
_PERSISTENCEFILE.fields_by_name['source_urn'].has_options = True
_PERSISTENCEFILE.fields_by_name['source_urn']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001k\n\006RDFURN\022aURN for rdfvalue that used this file for  persistence. e.g. WindowsServiceInformation, StatEntry.'))
_ENDTOENDTESTRESULT.fields_by_name['success'].has_options = True
_ENDTOENDTESTRESULT.fields_by_name['success']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\"\022 Whether the test was successful.'))
_ENDTOENDTESTRESULT.fields_by_name['timestamp'].has_options = True
_ENDTOENDTESTRESULT.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0013\n\013RDFDatetime\022$Timestamp for when the test was run.'))
_NSRLINFORMATION.fields_by_name['sha1'].has_options = True
_NSRLINFORMATION.fields_by_name['sha1']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001&\n\nHashDigest\022\030SHA1 binary hash digest.'))
_NSRLINFORMATION.fields_by_name['md5'].has_options = True
_NSRLINFORMATION.fields_by_name['md5']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\n\nHashDigest\022\027MD5 binary hash digest.'))
_NSRLINFORMATION.fields_by_name['crc32'].has_options = True
_NSRLINFORMATION.fields_by_name['crc32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001!\022\03732 bit Cyclic redundancy check.'))
_NSRLINFORMATION.fields_by_name['file_size'].has_options = True
_NSRLINFORMATION.fields_by_name['file_size']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\023\022\021Size of the file.'))
_NSRLINFORMATION.fields_by_name['file_name'].has_options = True
_NSRLINFORMATION.fields_by_name['file_name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\023\022\021Name of the file.'))
_NSRLINFORMATION.fields_by_name['product_code'].has_options = True
_NSRLINFORMATION.fields_by_name['product_code']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)Code of the product this file is part of.'))
_NSRLINFORMATION.fields_by_name['op_system_code'].has_options = True
_NSRLINFORMATION.fields_by_name['op_system_code']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001%\022#Operating system this file runs on.'))
_NSRLINFORMATION.fields_by_name['file_type'].has_options = True
_NSRLINFORMATION.fields_by_name['file_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\017\022\rType of file.'))
_SIGNATUREPART.fields_by_name['signature'].has_options = True
_SIGNATUREPART.fields_by_name['signature']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001D\022BThe signature covers the plain text of the encrypted cipher field.'))
_SIGNATUREPART.fields_by_name['encrypted_cipher'].has_options = True
_SIGNATUREPART.fields_by_name['encrypted_cipher']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&The encrypted CipherProperties object.'))
# @@protoc_insertion_point(module_scope)
