# Generated by the pRPC protocol buffer compiler plugin.  DO NOT EDIT!
# source: api/api_proto/users.proto

import base64
import zlib

from google.protobuf import descriptor_pb2

# Includes description of the api/api_proto/users.proto and all of its transitive
# dependencies. Includes source code info.
FILE_DESCRIPTOR_SET = descriptor_pb2.FileDescriptorSet()
FILE_DESCRIPTOR_SET.ParseFromString(zlib.decompress(base64.b64decode(
    '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'
    '4lOSJ8Om2f8BimwoOg==')))
_INDEX = {
    f.name: {
      'descriptor': f,
      'services': {s.name: s for s in f.service},
    }
    for f in FILE_DESCRIPTOR_SET.file
}


UsersServiceDescription = {
  'file_descriptor_set': FILE_DESCRIPTOR_SET,
  'file_descriptor': _INDEX[u'api/api_proto/users.proto']['descriptor'],
  'service_descriptor': _INDEX[u'api/api_proto/users.proto']['services'][u'Users'],
}
