text: # Generated by the protocol buffer compiler.  DO NOT EDIT!
  # source: store.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()
  
  
  
  
  DESCRIPTOR = _descriptor.FileDescriptor(
    name='store.proto',
    package='store',
    syntax='proto3',
    serialized_pb=_b('\n\x0bstore.proto\x12\x05store\"\x07\n\x05\x45mpty\"\x1e\n\x0e\x41\x64\x64ItemRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"!\n\x11RemoveItemRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\",\n\x12RemoveItemResponse\x12\x16\n\x0ewas_successful\x18\x01 \x01(\x08\" \n\x10QueryItemRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x10QuantityResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x32\xc7\x03\n\x05Store\x12\x30\n\x07\x41\x64\x64Item\x12\x15.store.AddItemRequest\x1a\x0c.store.Empty\"\x00\x12\x33\n\x08\x41\x64\x64Items\x12\x15.store.AddItemRequest\x1a\x0c.store.Empty\"\x00(\x01\x12\x43\n\nRemoveItem\x12\x18.store.RemoveItemRequest\x1a\x19.store.RemoveItemResponse\"\x00\x12\x46\n\x0bRemoveItems\x12\x18.store.RemoveItemRequest\x1a\x19.store.RemoveItemResponse\"\x00(\x01\x12:\n\rListInventory\x12\x0c.store.Empty\x1a\x17.store.QuantityResponse\"\x00\x30\x01\x12\x43\n\rQueryQuantity\x12\x17.store.QueryItemRequest\x1a\x17.store.QuantityResponse\"\x00\x12I\n\x0fQueryQuantities\x12\x17.store.QueryItemRequest\x1a\x17.store.QuantityResponse\"\x00(\x01\x30\x01\x62\x06proto3')
  )
  _sym_db.RegisterFileDescriptor(DESCRIPTOR)
  
  
  
  
  _EMPTY = _descriptor.Descriptor(
    name='Empty',
    full_name='store.Empty',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=22,
    serialized_end=29,
  )
  
  
  _ADDITEMREQUEST = _descriptor.Descriptor(
    name='AddItemRequest',
    full_name='store.AddItemRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='store.AddItemRequest.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),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=31,
    serialized_end=61,
  )
  
  
  _REMOVEITEMREQUEST = _descriptor.Descriptor(
    name='RemoveItemRequest',
    full_name='store.RemoveItemRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='store.RemoveItemRequest.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),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=63,
    serialized_end=96,
  )
  
  
  _REMOVEITEMRESPONSE = _descriptor.Descriptor(
    name='RemoveItemResponse',
    full_name='store.RemoveItemResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='was_successful', full_name='store.RemoveItemResponse.was_successful', 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),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=98,
    serialized_end=142,
  )
  
  
  _QUERYITEMREQUEST = _descriptor.Descriptor(
    name='QueryItemRequest',
    full_name='store.QueryItemRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='store.QueryItemRequest.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),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=144,
    serialized_end=176,
  )
  
  
  _QUANTITYRESPONSE = _descriptor.Descriptor(
    name='QuantityResponse',
    full_name='store.QuantityResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='store.QuantityResponse.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='count', full_name='store.QuantityResponse.count', 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='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=178,
    serialized_end=225,
  )
  
  DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY
  DESCRIPTOR.message_types_by_name['AddItemRequest'] = _ADDITEMREQUEST
  DESCRIPTOR.message_types_by_name['RemoveItemRequest'] = _REMOVEITEMREQUEST
  DESCRIPTOR.message_types_by_name['RemoveItemResponse'] = _REMOVEITEMRESPONSE
  DESCRIPTOR.message_types_by_name['QueryItemRequest'] = _QUERYITEMREQUEST
  DESCRIPTOR.message_types_by_name['QuantityResponse'] = _QUANTITYRESPONSE
  
  Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), dict(
    DESCRIPTOR = _EMPTY,
    __module__ = 'store_pb2'
    # @@protoc_insertion_point(class_scope:store.Empty)
    ))
  _sym_db.RegisterMessage(Empty)
  
  AddItemRequest = _reflection.GeneratedProtocolMessageType('AddItemRequest', (_message.Message,), dict(
    DESCRIPTOR = _ADDITEMREQUEST,
    __module__ = 'store_pb2'
    # @@protoc_insertion_point(class_scope:store.AddItemRequest)
    ))
  _sym_db.RegisterMessage(AddItemRequest)
  
  RemoveItemRequest = _reflection.GeneratedProtocolMessageType('RemoveItemRequest', (_message.Message,), dict(
    DESCRIPTOR = _REMOVEITEMREQUEST,
    __module__ = 'store_pb2'
    # @@protoc_insertion_point(class_scope:store.RemoveItemRequest)
    ))
  _sym_db.RegisterMessage(RemoveItemRequest)
  
  RemoveItemResponse = _reflection.GeneratedProtocolMessageType('RemoveItemResponse', (_message.Message,), dict(
    DESCRIPTOR = _REMOVEITEMRESPONSE,
    __module__ = 'store_pb2'
    # @@protoc_insertion_point(class_scope:store.RemoveItemResponse)
    ))
  _sym_db.RegisterMessage(RemoveItemResponse)
  
  QueryItemRequest = _reflection.GeneratedProtocolMessageType('QueryItemRequest', (_message.Message,), dict(
    DESCRIPTOR = _QUERYITEMREQUEST,
    __module__ = 'store_pb2'
    # @@protoc_insertion_point(class_scope:store.QueryItemRequest)
    ))
  _sym_db.RegisterMessage(QueryItemRequest)
  
  QuantityResponse = _reflection.GeneratedProtocolMessageType('QuantityResponse', (_message.Message,), dict(
    DESCRIPTOR = _QUANTITYRESPONSE,
    __module__ = 'store_pb2'
    # @@protoc_insertion_point(class_scope:store.QuantityResponse)
    ))
  _sym_db.RegisterMessage(QuantityResponse)
  
  
  try:
    # THESE ELEMENTS WILL BE DEPRECATED.
    # Please use the generated *_pb2_grpc.py files instead.
    import grpc
    from grpc.framework.common import cardinality
    from grpc.framework.interfaces.face import utilities as face_utilities
    from grpc.beta import implementations as beta_implementations
    from grpc.beta import interfaces as beta_interfaces
  
  
    class StoreStub(object):
  
      def __init__(self, channel):
        """Constructor.
  
        Args:
          channel: A grpc.Channel.
        """
        self.AddItem = channel.unary_unary(
            '/store.Store/AddItem',
            request_serializer=AddItemRequest.SerializeToString,
            response_deserializer=Empty.FromString,
            )
        self.AddItems = channel.stream_unary(
            '/store.Store/AddItems',
            request_serializer=AddItemRequest.SerializeToString,
            response_deserializer=Empty.FromString,
            )
        self.RemoveItem = channel.unary_unary(
            '/store.Store/RemoveItem',
            request_serializer=RemoveItemRequest.SerializeToString,
            response_deserializer=RemoveItemResponse.FromString,
            )
        self.RemoveItems = channel.stream_unary(
            '/store.Store/RemoveItems',
            request_serializer=RemoveItemRequest.SerializeToString,
            response_deserializer=RemoveItemResponse.FromString,
            )
        self.ListInventory = channel.unary_stream(
            '/store.Store/ListInventory',
            request_serializer=Empty.SerializeToString,
            response_deserializer=QuantityResponse.FromString,
            )
        self.QueryQuantity = channel.unary_unary(
            '/store.Store/QueryQuantity',
            request_serializer=QueryItemRequest.SerializeToString,
            response_deserializer=QuantityResponse.FromString,
            )
        self.QueryQuantities = channel.stream_stream(
            '/store.Store/QueryQuantities',
            request_serializer=QueryItemRequest.SerializeToString,
            response_deserializer=QuantityResponse.FromString,
            )
  
  
    class StoreServicer(object):
  
      def AddItem(self, request, context):
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def AddItems(self, request_iterator, context):
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def RemoveItem(self, request, context):
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def RemoveItems(self, request_iterator, context):
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def ListInventory(self, request, context):
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def QueryQuantity(self, request, context):
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def QueryQuantities(self, request_iterator, context):
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
  
    def add_StoreServicer_to_server(servicer, server):
      rpc_method_handlers = {
          'AddItem': grpc.unary_unary_rpc_method_handler(
              servicer.AddItem,
              request_deserializer=AddItemRequest.FromString,
              response_serializer=Empty.SerializeToString,
          ),
          'AddItems': grpc.stream_unary_rpc_method_handler(
              servicer.AddItems,
              request_deserializer=AddItemRequest.FromString,
              response_serializer=Empty.SerializeToString,
          ),
          'RemoveItem': grpc.unary_unary_rpc_method_handler(
              servicer.RemoveItem,
              request_deserializer=RemoveItemRequest.FromString,
              response_serializer=RemoveItemResponse.SerializeToString,
          ),
          'RemoveItems': grpc.stream_unary_rpc_method_handler(
              servicer.RemoveItems,
              request_deserializer=RemoveItemRequest.FromString,
              response_serializer=RemoveItemResponse.SerializeToString,
          ),
          'ListInventory': grpc.unary_stream_rpc_method_handler(
              servicer.ListInventory,
              request_deserializer=Empty.FromString,
              response_serializer=QuantityResponse.SerializeToString,
          ),
          'QueryQuantity': grpc.unary_unary_rpc_method_handler(
              servicer.QueryQuantity,
              request_deserializer=QueryItemRequest.FromString,
              response_serializer=QuantityResponse.SerializeToString,
          ),
          'QueryQuantities': grpc.stream_stream_rpc_method_handler(
              servicer.QueryQuantities,
              request_deserializer=QueryItemRequest.FromString,
              response_serializer=QuantityResponse.SerializeToString,
          ),
      }
      generic_handler = grpc.method_handlers_generic_handler(
          'store.Store', rpc_method_handlers)
      server.add_generic_rpc_handlers((generic_handler,))
  
  
    class BetaStoreServicer(object):
      """The Beta API is deprecated for 0.15.0 and later.
  
      It is recommended to use the GA API (classes and functions in this
      file not marked beta) for all further purposes. This class was generated
      only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
      def AddItem(self, request, context):
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def AddItems(self, request_iterator, context):
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def RemoveItem(self, request, context):
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def RemoveItems(self, request_iterator, context):
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def ListInventory(self, request, context):
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def QueryQuantity(self, request, context):
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def QueryQuantities(self, request_iterator, context):
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  
  
    class BetaStoreStub(object):
      """The Beta API is deprecated for 0.15.0 and later.
  
      It is recommended to use the GA API (classes and functions in this
      file not marked beta) for all further purposes. This class was generated
      only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
      def AddItem(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        raise NotImplementedError()
      AddItem.future = None
      def AddItems(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
        raise NotImplementedError()
      AddItems.future = None
      def RemoveItem(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        raise NotImplementedError()
      RemoveItem.future = None
      def RemoveItems(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
        raise NotImplementedError()
      RemoveItems.future = None
      def ListInventory(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        raise NotImplementedError()
      def QueryQuantity(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        raise NotImplementedError()
      QueryQuantity.future = None
      def QueryQuantities(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
        raise NotImplementedError()
  
  
    def beta_create_Store_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
      """The Beta API is deprecated for 0.15.0 and later.
  
      It is recommended to use the GA API (classes and functions in this
      file not marked beta) for all further purposes. This function was
      generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
      request_deserializers = {
        ('store.Store', 'AddItem'): AddItemRequest.FromString,
        ('store.Store', 'AddItems'): AddItemRequest.FromString,
        ('store.Store', 'ListInventory'): Empty.FromString,
        ('store.Store', 'QueryQuantities'): QueryItemRequest.FromString,
        ('store.Store', 'QueryQuantity'): QueryItemRequest.FromString,
        ('store.Store', 'RemoveItem'): RemoveItemRequest.FromString,
        ('store.Store', 'RemoveItems'): RemoveItemRequest.FromString,
      }
      response_serializers = {
        ('store.Store', 'AddItem'): Empty.SerializeToString,
        ('store.Store', 'AddItems'): Empty.SerializeToString,
        ('store.Store', 'ListInventory'): QuantityResponse.SerializeToString,
        ('store.Store', 'QueryQuantities'): QuantityResponse.SerializeToString,
        ('store.Store', 'QueryQuantity'): QuantityResponse.SerializeToString,
        ('store.Store', 'RemoveItem'): RemoveItemResponse.SerializeToString,
        ('store.Store', 'RemoveItems'): RemoveItemResponse.SerializeToString,
      }
      method_implementations = {
        ('store.Store', 'AddItem'): face_utilities.unary_unary_inline(servicer.AddItem),
        ('store.Store', 'AddItems'): face_utilities.stream_unary_inline(servicer.AddItems),
        ('store.Store', 'ListInventory'): face_utilities.unary_stream_inline(servicer.ListInventory),
        ('store.Store', 'QueryQuantities'): face_utilities.stream_stream_inline(servicer.QueryQuantities),
        ('store.Store', 'QueryQuantity'): face_utilities.unary_unary_inline(servicer.QueryQuantity),
        ('store.Store', 'RemoveItem'): face_utilities.unary_unary_inline(servicer.RemoveItem),
        ('store.Store', 'RemoveItems'): face_utilities.stream_unary_inline(servicer.RemoveItems),
      }
      server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
      return beta_implementations.server(method_implementations, options=server_options)
  
  
    def beta_create_Store_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
      """The Beta API is deprecated for 0.15.0 and later.
  
      It is recommended to use the GA API (classes and functions in this
      file not marked beta) for all further purposes. This function was
      generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
      request_serializers = {
        ('store.Store', 'AddItem'): AddItemRequest.SerializeToString,
        ('store.Store', 'AddItems'): AddItemRequest.SerializeToString,
        ('store.Store', 'ListInventory'): Empty.SerializeToString,
        ('store.Store', 'QueryQuantities'): QueryItemRequest.SerializeToString,
        ('store.Store', 'QueryQuantity'): QueryItemRequest.SerializeToString,
        ('store.Store', 'RemoveItem'): RemoveItemRequest.SerializeToString,
        ('store.Store', 'RemoveItems'): RemoveItemRequest.SerializeToString,
      }
      response_deserializers = {
        ('store.Store', 'AddItem'): Empty.FromString,
        ('store.Store', 'AddItems'): Empty.FromString,
        ('store.Store', 'ListInventory'): QuantityResponse.FromString,
        ('store.Store', 'QueryQuantities'): QuantityResponse.FromString,
        ('store.Store', 'QueryQuantity'): QuantityResponse.FromString,
        ('store.Store', 'RemoveItem'): RemoveItemResponse.FromString,
        ('store.Store', 'RemoveItems'): RemoveItemResponse.FromString,
      }
      cardinalities = {
        'AddItem': cardinality.Cardinality.UNARY_UNARY,
        'AddItems': cardinality.Cardinality.STREAM_UNARY,
        'ListInventory': cardinality.Cardinality.UNARY_STREAM,
        'QueryQuantities': cardinality.Cardinality.STREAM_STREAM,
        'QueryQuantity': cardinality.Cardinality.UNARY_UNARY,
        'RemoveItem': cardinality.Cardinality.UNARY_UNARY,
        'RemoveItems': cardinality.Cardinality.STREAM_UNARY,
      }
      stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
      return beta_implementations.dynamic_stub(channel, 'store.Store', cardinalities, options=stub_options)
  except ImportError:
    pass
  # @@protoc_insertion_point(module_scope)
  