code: def b64decode(s):
      '''Base64 decodes a base64-encoded string in URL-safe
      or normal format, with or without padding.
      The argument may be string or bytes.
  
      @param s bytes decode
      @return bytes decoded
      @raises ValueError on failure
      '''
      # add padding if necessary.
      s = to_bytes(s)
      if not s.endswith(b'='):
          s = s + b'=' * (-len(s) % 4)
      try:
          if '_' or '-' in s:
              return base64.urlsafe_b64decode(s)
          else:
              return base64.b64decode(s)
      except (TypeError, binascii.Error) as e:
          raise ValueError(str(e)f b64decode(s):
      '''Base64 decodes a base64-encoded string in URL-safe
      or normal format, with or without padding.
      The argument may be string or bytes.
  
      @param s bytes decode
      @return bytes decoded
      @raises ValueError on failure
      '''
      # add padding if necessary.
      s = to_bytes(s)
      if not s.endswith(b'='):
          s = s + b'=' * (-len(s) % 4)
      try:
          if '_' or '-' in s:
              return base64.urlsafe_b64decode(s)
          else:
              return base64.b64decode(s)
      except (TypeError, binascii.Error) as e:
          raise ValueError(str(e))
docs: Base64 decodes a base64-encoded string in URL-safe
      or normal format, with or without padding.
      The argument may be string or bytes.
  
      @param s bytes decode
      @return bytes decoded
      @raises ValueError on failure