human
Complete the below
def _initialize_properties(model_class, name, bases, dct):

    ''''Initialize Property attributes for Model-class.
    Args:
    model_class: Model class to initialize properties for.'
    '''
 ... Give me a the Python code you requested?
assistant
#Here is the Python code you requested.
    model_class._properties = {}
    property_source = {}
    def get_attr_source(name, cls):
        for src_cls in cls.mro():
            if (name in src_cls.__dict__):
                return src_cls
    defined = set()
    for base in bases:
        if hasattr(base, '_properties'):
            property_keys = set(base._properties.keys())
            duplicate_property_keys = (defined & property_keys)
            for dupe_prop_name in duplicate_property_keys:
                old_source = property_source[dupe_prop_name] = get_attr_source(dupe_prop_name, property_source[dupe_prop_name])
                new_source = get_attr_source(dupe_prop_name, base)
                if (old_source != new_source):
                    raise DuplicatePropertyError(('Duplicate    property,    %s,    is    inherited    from    both    %s    and    %s.' % (dupe_prop_name, old_source.__name__, new_source.__name__)))
            property_keys -= duplicate_property_keys
            if property_keys:
                defined |= property_keys
                property_source.update(dict.fromkeys(property_keys, base))
                model_class._properties.update(base._properties)
    for attr_name in dct.keys():
        attr = dct[attr_name]
        if isinstance(attr, Property):
            check_reserved_word(attr_name)
            if (attr_name in defined):
                raise DuplicatePropertyError(('Duplicate    property:    %s' % attr_name))
            defined.add(attr_name)
            model_class._properties[attr_name] = attr
            attr.__property_config__(model_class, attr_name)
    model_class._all_properties = frozenset((prop.name for (name, prop) in model_class._properties.items()))
    model_class._unindexed_properties = frozenset((prop.name for (name, prop) in model_class._properties.items() if (not prop.indexed)))