code: def join_multiline_pairs(source, pair="()"):
      
      opener = pair[0]
      closer = pair[1]
      io_obj = io.StringIO(source)
      out_tokens = []
      open_count = 0
      for tok in tokenize.generate_tokens(io_obj.readline):
          token_type = tok[0]
          token_string = tok[1]
          if token_type == tokenize.OP and token_string in pair:
              if token_string == opener:
                  open_count += 1
              elif token_string == closer:
                  open_count -= 1
              out_tokens.append(tok)
          elif token_type in (tokenize.NL, tokenize.NEWLINE):
              if open_count == 0:
                  out_tokens.append(tok)
          else:
              out_tokens.append(tok)
      return token_utils.untokenize(out_tokens)
docs: Finds and removes newlines in multiline matching pairs of characters in
      *source*.
  
      By default it joins parens () but it will join any two characters given via
      the *pair* variable.
  
      .. note::
  
          Doesn't remove extraneous whitespace that ends up between the pair.
          Use `reduce_operators()` for that.
  
      Example::
  
          test = (
              "This is inside a multi-line pair of parentheses"
          )
  
      Will become::
  
          test = (            "This is inside a multi-line pair of parentheses"        )