          if detector is not None and detector.lower() != "none":
              retval.append("detect")
          if aligner is not None and aligner.lower() != "none":
              retval.append("align")
          for idx, mask in enumerate(masker):
              if mask is not None and mask.lower() != "none":
                  retval.append("mask_{}".format(idx))
          logger.debug("flow: %s", retval)
          return retval
  
      @staticmethod
      def _get_plugin_type_and_index(flow_phase):
 
</s> remove         if self.passes == 1:
            retval = self._all_plugins
        else:
            retval = [getattr(self, "_{}".format(self.phase))]
 </s> add         retval = []
        for phase in self._current_phase:
            plugin_type, idx = self._get_plugin_type_and_index(phase)
            attr = getattr(self, "_{}".format(plugin_type))
            retval.append(attr[idx] if idx is not None else attr) </s> remove         """ Set whether to run detect, align, and mask together or separately """
 </s> add         """ Set whether to run detect, align, and mask together or separately. </s> remove         Sets the batch size of the requested plugins based on their vram and
        vram_per_batch_requirements if the the configured batch size requires more
        vram than is available. Nvidia only.
 </s> add         Sets the batch size of the requested plugins based on their vram, their
        vram_per_batch_requirements and the number of plugins being loaded in the current phase.
        Only adjusts if the the configured batch size requires more vram than is available. Nvidia
        only. </s> remove             attr = getattr(self, "_{}".format(plugin_type))
 </s> add 
        retval.extend(["mask_{}".format(idx)
                       for idx, mask in enumerate(masker)
                       if mask is not None and mask.lower() != "none"])
          if detector is not None and detector.lower() != "none":
              retval.append("detect")
          if aligner is not None and aligner.lower() != "none":
              retval.append("align")
        retval.extend(["mask_{}".format(idx)
                       for idx, mask in enumerate(masker)
                       if mask is not None and mask.lower() != "none"])
        retval.extend(["mask_{}".format(idx)
                       for idx, mask in enumerate(masker)
                       if mask is not None and mask.lower() != "none"])
        retval.extend(["mask_{}".format(idx)
                       for idx, mask in enumerate(masker)
                       if mask is not None and mask.lower() != "none"])
          logger.debug("flow: %s", retval)
          return retval
  
      @staticmethod
      def _get_plugin_type_and_index(flow_phase):
keep keep keep keep replace replace replace keep keep keep keep keep
 Extract - Better VRAM Allocation in Extraction Pipeline 
plugins/extract/pipeline.py