# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: client_model.proto

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 descriptor_pb2
# @@protoc_insertion_point(imports)




DESCRIPTOR = _descriptor.FileDescriptor(
  name='client_model.proto',
  package='safe_browsing',
  serialized_pb='\n\x12\x63lient_model.proto\x12\rsafe_browsing\"\x93\x03\n\x0f\x43lientSideModel\x12\x0e\n\x06hashes\x18\x01 \x03(\x0c\x12\x31\n\x04rule\x18\x02 \x03(\x0b\x32#.safe_browsing.ClientSideModel.Rule\x12\x11\n\tpage_term\x18\x03 \x03(\x05\x12\x11\n\tpage_word\x18\x04 \x03(\x07\x12\x1a\n\x12max_words_per_term\x18\x05 \x02(\x05\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12;\n\nbad_subnet\x18\x07 \x03(\x0b\x32\'.safe_browsing.ClientSideModel.IPSubnet\x12\x18\n\x10murmur_hash_seed\x18\x08 \x01(\x07\x12\"\n\x15max_shingles_per_page\x18\t \x01(\x05:\x03\x32\x30\x30\x12\x17\n\x0cshingle_size\x18\n \x01(\x05:\x01\x34\x1a\'\n\x04Rule\x12\x0f\n\x07\x66\x65\x61ture\x18\x01 \x03(\x05\x12\x0e\n\x06weight\x18\x02 \x02(\x02\x1a-\n\x08IPSubnet\x12\x0e\n\x06prefix\x18\x01 \x02(\x0c\x12\x11\n\x04size\x18\x02 \x01(\x05:\x03\x31\x32\x38\x42\x02H\x03')




_CLIENTSIDEMODEL_RULE = _descriptor.Descriptor(
  name='Rule',
  full_name='safe_browsing.ClientSideModel.Rule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='feature', full_name='safe_browsing.ClientSideModel.Rule.feature', index=0,
      number=1, type=5, cpp_type=1, 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='weight', full_name='safe_browsing.ClientSideModel.Rule.weight', index=1,
      number=2, type=2, cpp_type=6, label=2,
      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,
  extension_ranges=[],
  serialized_start=355,
  serialized_end=394,
)

_CLIENTSIDEMODEL_IPSUBNET = _descriptor.Descriptor(
  name='IPSubnet',
  full_name='safe_browsing.ClientSideModel.IPSubnet',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='prefix', full_name='safe_browsing.ClientSideModel.IPSubnet.prefix', index=0,
      number=1, type=12, cpp_type=9, label=2,
      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='size', full_name='safe_browsing.ClientSideModel.IPSubnet.size', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=128,
      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,
  extension_ranges=[],
  serialized_start=396,
  serialized_end=441,
)

_CLIENTSIDEMODEL = _descriptor.Descriptor(
  name='ClientSideModel',
  full_name='safe_browsing.ClientSideModel',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hashes', full_name='safe_browsing.ClientSideModel.hashes', index=0,
      number=1, 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='rule', full_name='safe_browsing.ClientSideModel.rule', 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='page_term', full_name='safe_browsing.ClientSideModel.page_term', index=2,
      number=3, type=5, cpp_type=1, 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='page_word', full_name='safe_browsing.ClientSideModel.page_word', index=3,
      number=4, type=7, cpp_type=3, 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_words_per_term', full_name='safe_browsing.ClientSideModel.max_words_per_term', index=4,
      number=5, type=5, cpp_type=1, label=2,
      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='version', full_name='safe_browsing.ClientSideModel.version', index=5,
      number=6, 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='bad_subnet', full_name='safe_browsing.ClientSideModel.bad_subnet', 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='murmur_hash_seed', full_name='safe_browsing.ClientSideModel.murmur_hash_seed', index=7,
      number=8, type=7, 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='max_shingles_per_page', full_name='safe_browsing.ClientSideModel.max_shingles_per_page', index=8,
      number=9, type=5, cpp_type=1, 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='shingle_size', full_name='safe_browsing.ClientSideModel.shingle_size', index=9,
      number=10, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=4,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_CLIENTSIDEMODEL_RULE, _CLIENTSIDEMODEL_IPSUBNET, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=38,
  serialized_end=441,
)

_CLIENTSIDEMODEL_RULE.containing_type = _CLIENTSIDEMODEL;
_CLIENTSIDEMODEL_IPSUBNET.containing_type = _CLIENTSIDEMODEL;
_CLIENTSIDEMODEL.fields_by_name['rule'].message_type = _CLIENTSIDEMODEL_RULE
_CLIENTSIDEMODEL.fields_by_name['bad_subnet'].message_type = _CLIENTSIDEMODEL_IPSUBNET
DESCRIPTOR.message_types_by_name['ClientSideModel'] = _CLIENTSIDEMODEL

class ClientSideModel(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType

  class Rule(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _CLIENTSIDEMODEL_RULE

    # @@protoc_insertion_point(class_scope:safe_browsing.ClientSideModel.Rule)

  class IPSubnet(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _CLIENTSIDEMODEL_IPSUBNET

    # @@protoc_insertion_point(class_scope:safe_browsing.ClientSideModel.IPSubnet)
  DESCRIPTOR = _CLIENTSIDEMODEL

  # @@protoc_insertion_point(class_scope:safe_browsing.ClientSideModel)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), 'H\003')
# @@protoc_insertion_point(module_scope)
