code: def search_mode_provides(self, product, pipeline='default'):
          
  
          pipeline = self.pipelines[pipeline]
          for obj, mode, field in self.iterate_mode_provides(self.modes, pipeline):
              # extract name from obj
              if obj.name() == product:
                  return ProductEntry(obj.name(), mode.key, field)
          else:
              raise ValueError('no mode provides %s' % product)
docs: Search the mode that provides a given product