code: def decode_osgi_props(input_props):
      # type: (Dict[str, Any]) -> Dict[str, Any]
      
      result_props = {}
      intfs = decode_list(input_props, OBJECTCLASS)
      result_props[OBJECTCLASS] = intfs
      for intf in intfs:
          package_key = ENDPOINT_PACKAGE_VERSION_ + package_name(intf)
          intfversionstr = input_props.get(package_key, None)
          if intfversionstr:
              result_props[package_key] = intfversionstr
      result_props[ENDPOINT_ID] = input_props[ENDPOINT_ID]
      result_props[ENDPOINT_SERVICE_ID] = input_props[ENDPOINT_SERVICE_ID]
      result_props[ENDPOINT_FRAMEWORK_UUID] = input_props[ENDPOINT_FRAMEWORK_UUID]
      imp_configs = decode_list(input_props, SERVICE_IMPORTED_CONFIGS)
      if imp_configs:
          result_props[SERVICE_IMPORTED_CONFIGS] = imp_configs
      intents = decode_list(input_props, SERVICE_INTENTS)
      if intents:
          result_props[SERVICE_INTENTS] = intents
      remote_configs = decode_list(input_props, REMOTE_CONFIGS_SUPPORTED)
      if remote_configs:
          result_props[REMOTE_CONFIGS_SUPPORTED] = remote_configs
      remote_intents = decode_list(input_props, REMOTE_INTENTS_SUPPORTED)
      if remote_intents:
          result_props[REMOTE_INTENTS_SUPPORTED] = remote_intents
      return result_props
docs: Decodes the OSGi properties of the given endpoint properties