code: def CompileReport(self, mediator):
      
      # TODO: move YAML representation out of plugin and into serialization.
      lines_of_text = []
      if self._output_format == 'yaml':
        lines_of_text.append(
            yaml.safe_dump_all(self._service_collection.services))
      else:
        lines_of_text.append('Listing Windows Services')
        for service in self._service_collection.services:
          lines_of_text.append(self._FormatServiceText(service))
          lines_of_text.append('')
  
      lines_of_text.append('')
      report_text = '\n'.join(lines_of_text)
      return reports.AnalysisReport(plugin_name=self.NAME, text=report_text)
docs: Compiles an analysis report.
  
      Args:
        mediator (AnalysisMediator): mediates interactions between analysis
            plugins and other components, such as storage and dfvfs.
  
      Returns:
        AnalysisReport: report.