<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_properties(self, properties):
 """ Update writeable properties of this PasswordRule. The Password Rule must be user-defined. System-defined Password Rules cannot be updated. Authorization requirements: * Task permission to the "Manage Password Rules" task. Parameters: properties (dict):
 New values for the properties to be updated. Properties not to be updated are omitted. Allowable properties are the properties with qualifier (w) in section 'Data model' in section 'Password Rule object' in the :term:`HMC API` book. Raises: :exc:`~zhmcclient.HTTPError` :exc:`~zhmcclient.ParseError` :exc:`~zhmcclient.AuthError` :exc:`~zhmcclient.ConnectionError` """

        self.manager.session.post(self.uri, body=properties)

        # The name of Password Rules cannot be updated. An attempt to do so
        # should cause HTTPError to be raised in the POST above, so we assert
        # that here, because we omit the extra code for handling name updates:
        assert self.manager._name_prop not in properties
        self.properties.update(copy.deepcopy(properties))