class_docstr: Inserts various types of characters (including zero-width or punctuation),
  which in turn breaks up the text.
  
  The 'cadence' and 'vary_chars' options are used to adjust the frequency and
  pattern of the characters, to avoid detection by automated deobfuscation techniques.
  
  If 'cadence' is not an integer (say, 2.5), a char will be added
  on *average* about every 2.5 chars.
code: def augment(self, texts: Union[str, List[str]]) -> List[str]:
      texts = texts if isinstance(texts, list) else [texts]
  
      if self.granularity == "all":
          return [self.insert_chars(text) for text in texts]
  
      # otherwise, self.granularity == "word"
      return [self.insert_chars_per_word(text) for text in texts]
  
file_path: AugLy/augly/text/augmenters/insertion.py
imports: import math
  import random
  from typing import List, Union
  from augly.text.augmenters.utils import rejoin_words_and_whitespace, split_words_on_whitespace
label_desc: Use image node_id 4 for calling the InsertionAugmenter obj's underlying member method code with example usage: obj.augment(texts) and returns: unknown, unknown