code: def query(input, representation, resolvers=None, get3d=False, tautomers=False, **kwargs):
      
      tree = request(input, representation, resolvers, get3d, tautomers, **kwargs)
      results = []
      for data in tree.findall('.//data'):
          value = [item.text for item in data.findall('item')]
          result = Result(
              input=tree.attrib['string'],
              representation=tree.attrib['representation'],
              resolver=data.attrib['resolver'],
              input_format=data.attrib['string_class'],
              notation=data.attrib['notation'],
              value=value[0] if len(value) == 1 else value
          )
          results.append(result)
      log.debug('Received %s query results', len(results))
      return results
docs: Get all results for resolving input to the specified output representation.
  
      :param string input: Chemical identifier to resolve
      :param string representation: Desired output representation
      :param list(string) resolvers: (Optional) Ordered list of resolvers to use
      :param bool get3d: (Optional) Whether to return 3D coordinates (where applicable)
      :param bool tautomers: (Optional) Whether to return all tautomers
      :returns: List of resolved results
      :rtype: list(Result)
      :raises HTTPError: if CIR returns an error code
      :raises ParseError: if CIR response is uninterpretable