<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _GetPropertyValue(self, parser_mediator, properties, property_name):
 """Retrieves a property value. Args: parser_mediator (ParserMediator):
 mediates interactions between parsers and other components, such as storage and dfvfs. properties (dict[str, object]):
 properties. property_name (str):
 name of the property. Returns: str: property value. """

    property_value = properties.get(property_name, None)
    if isinstance(property_value, py2to3.BYTES_TYPE):
      try:
        # TODO: get encoding form XML metadata.
        property_value = property_value.decode('utf-8')
      except UnicodeDecodeError:
        parser_mediator.ProduceExtractionWarning(
            'unable to decode property: {0:s}'.format(property_name))

    return property_value