nodes: 0, module; 1, function_definition; 2, function_name:human_estimate; 3, parameters; 4, block; 5, identifier:self; 6, identifier:upgrades; 7, expression_statement; 8, expression_statement; 9, if_statement; 10, comment:"""Make a human readable estimated time to completion string.
  
          :param upgrades: List of upgrades sorted in topological order.
          """; 11, assignment; 12, comparison_operator:val < 60; 13, block; 14, elif_clause; 15, elif_clause; 16, elif_clause; 17, elif_clause; 18, elif_clause; 19, elif_clause; 20, elif_clause; 21, elif_clause; 22, else_clause; 23, identifier:val; 24, call; 25, identifier:val; 26, integer:60; 27, return_statement; 28, comparison_operator:val < 300; 29, block; 30, comparison_operator:val < 600; 31, block; 32, comparison_operator:val < 1800; 33, block; 34, comparison_operator:val < 3600; 35, block; 36, comparison_operator:val < 3 * 3600; 37, block; 38, comparison_operator:val < 6 * 3600; 39, block; 40, comparison_operator:val < 12 * 3600; 41, block; 42, comparison_operator:val < 86400; 43, block; 44, block; 45, attribute; 46, argument_list; 47, string:"less than 1 minute"; 48, identifier:val; 49, integer:300; 50, return_statement; 51, identifier:val; 52, integer:600; 53, return_statement; 54, identifier:val; 55, integer:1800; 56, return_statement; 57, identifier:val; 58, integer:3600; 59, return_statement; 60, identifier:val; 61, binary_operator:3 * 3600; 62, return_statement; 63, identifier:val; 64, binary_operator:6 * 3600; 65, return_statement; 66, identifier:val; 67, binary_operator:12 * 3600; 68, return_statement; 69, identifier:val; 70, integer:86400; 71, return_statement; 72, return_statement; 73, identifier:self; 74, identifier:estimate; 75, identifier:upgrades; 76, string:"less than 5 minutes"; 77, string:"less than 10 minutes"; 78, string:"less than 30 minutes"; 79, string:"less than 1 hour"; 80, integer:3; 81, integer:3600; 82, string:"less than 3 hours"; 83, integer:6; 84, integer:3600; 85, string:"less than 6 hours"; 86, integer:12; 87, integer:3600; 88, string:"less than 12 hours"; 89, string:"less than 1 day"; 90, string:"more than 1 day"
code: def human_estimate(self, upgrades):
          """Make a human readable estimated time to completion string.
  
          :param upgrades: List of upgrades sorted in topological order.
          """
          val = self.estimate(upgrades)
          if val < 60:
              return "less than 1 minute"
          elif val < 300:
              return "less than 5 minutes"
          elif val < 600:
              return "less than 10 minutes"
          elif val < 1800:
              return "less than 30 minutes"
          elif val < 3600:
              return "less than 1 hour"
          elif val < 3 * 3600:
              return "less than 3 hours"
          elif val < 6 * 3600:
              return "less than 6 hours"
          elif val < 12 * 3600:
              return "less than 12 hours"
          elif val < 86400:
              return "less than 1 day"
          else:
              return "more than 1 day"