nodes: 0, module; 1, function_definition; 2, function_name:_process_and_sort; 3, parameters; 4, block; 5, identifier:s; 6, identifier:force_ascii; 7, default_parameter; 8, expression_statement; 9, comment:# pull tokens; 10, expression_statement; 11, expression_statement; 12, comment:# sort tokens and join; 13, expression_statement; 14, return_statement; 15, identifier:full_process; 16, True; 17, comment:"""Return a cleaned string with token sorted."""; 18, assignment; 19, assignment; 20, assignment; 21, call; 22, identifier:ts; 23, conditional_expression:utils.full_process(s, force_ascii=force_ascii) if full_process else s; 24, identifier:tokens; 25, call; 26, identifier:sorted_string; 27, call; 28, attribute; 29, argument_list; 30, call; 31, identifier:full_process; 32, identifier:s; 33, attribute; 34, argument_list; 35, attribute; 36, argument_list; 37, identifier:sorted_string; 38, identifier:strip; 39, attribute; 40, argument_list; 41, identifier:ts; 42, identifier:split; 43, string:u" "; 44, identifier:join; 45, call; 46, identifier:utils; 47, identifier:full_process; 48, identifier:s; 49, keyword_argument; 50, identifier:sorted; 51, argument_list; 52, identifier:force_ascii; 53, identifier:force_ascii; 54, identifier:tokens
code: def _process_and_sort(s, force_ascii, full_process=True):
      """Return a cleaned string with token sorted."""
      # pull tokens
      ts = utils.full_process(s, force_ascii=force_ascii) if full_process else s
      tokens = ts.split()
  
      # sort tokens and join
      sorted_string = u" ".join(sorted(tokens))
      return sorted_string.strip()