docs: def build_msg_fmtstr2(lbl, length, invert_rate, backspace):
          r"""
          Args:
              lbl (str):
              invert_rate (bool):
              backspace (bool):
  
          Returns:
              str: msg_fmtstr_time
  
          CommandLine:
              python -m utool.util_progress --exec-ProgressIter.build_msg_fmtstr2
  
          Setup:
              >>> from utool.util_progress import *  # NOQA
              >>> lbl = 'foo'
              >>> invert_rate = True
              >>> backspace = False
              >>> length = None
  
          Example:
              >>> # DISABLE_DOCTEST
              >>> msg_fmtstr_time = ProgressIter.build_msg_fmtstr2(lbl, length, invert_rate, backspace)
              >>> result = ('%s' % (ut.repr2(msg_fmtstr_time),))
              >>> print(result)
          """
          with_wall = True
          tzname = time.tzname[0]
          if util_cplat.WIN32:
              tzname = tzname.replace('Eastern Standard Time', 'EST')
          # ansii/vt100 code for clearline
          # CLEARLINE_L2 = '\33[2K'
          # BEFORE_PROG = '\r\033[?25l'
  
          CLEARLINE_EL0 = '\33[0K'  # clear line to right
          # CLEARLINE_EL1 = '\33[1K'  # clear line to left
          CLEARLINE_EL2 = '\33[2K'  # clear line
          # DECTCEM_HIDE = '\033[?25l'  # hide cursor
  
          CLEAR_BEFORE = '\r' + CLEARLINE_EL2  # + DECTCEM_HIDE
          # FIXME: hideing cursor persists if the program crashes
          CLEAR_AFTER = CLEARLINE_EL0
  
          msg_head = ProgressIter.build_msg_fmtstr_head_cols(length, lbl)
          if backspace:
              msg_head = [CLEAR_BEFORE] + msg_head
  
          msg_tail = [
              (
                  'rate={rate:4.2f} sec/iter, '
                  if invert_rate else
                  'rate={rate:4.2f} Hz,'
              ),
              (
                  ''
                  if length == 0 else
                  ' etr={etr},'
              ),
              ' ellapsed={ellapsed},',
              (
                  ' wall={wall} ' + tzname
                  if with_wall
                  else ''
              ),
              # backslash-r is a carrage return and undoes all previous output on
              # a written line
              (' {extra}'),
              CLEAR_AFTER if backspace else '\n',
          ]
          msg_fmtstr_time = ''.join((msg_head + msg_tail))
          return msg_fmtstr_time