class_docstr: parlai dd -t fits:mutators=flatten+knowledge_appended_mutator_internal appended gold
  knowleddge to response.
class_docstr_tok: ["parlai","dd","-t","fits",":","mutators=flatten+knowledge_appended_mutator_internal","appended","gold","knowleddge","to","response","."]
code: def many_episode_mutation(self, episode):
      out_episodes = []
      assert (
          len(episode) == 1
      ), "knowledge_appended_mutator must be applied on flattened episode"
      for message in episode:
          if "selected_sentences" in message:
              new_message = message.copy()
              new_message.force_set(
                  "text",
                  get_knowledge_appended_context(
                      new_message["text"],
                      new_message["selected_sentences"],
                      normalize_knowledge=True,
                  ),
              )
              out_episodes.append([new_message])
      return out_episodes
  
imports: from string import punctuation
  import copy
  from typing import List
  from parlai.core.mutators import register_mutator, ManyEpisodeMutator, MessageMutator
  from parlai.core.message import Message
  from parlai.mutators.flatten import FlattenMutator
  from parlai.utils.strings import normalize_reply
  from parlai.tasks.wizard_of_wikipedia.agents import TOKEN_KNOWLEDGE, TOKEN_END_KNOWLEDGE
  from parlai.tasks.wizard_of_internet import constants
  from .constants import FeedbackType, UNWANTED_TOKENS
label_desc: Use image node_id 1 for calling the ContLnKnowledgeAppendedDialogueResponseTeacher obj's underlying member method code with example usage: obj.many_episode_mutation(episode) and returns: out_episodes