code: def _draw_bar(self, remaining, all, **kwargs):
      frac = (1 - remaining / all) if all else 1.0
      bar = "#" * int(self.width * frac)
      percent = int(100 * frac)
      elapsed = format_time(self.elapsed)
      msg = "\r[{0:<{1}}] | {2}% Completed | {3}".format(
          bar, self.width, percent, elapsed
      )
      with suppress(ValueError):
          sys.stdout.write(msg)
          sys.stdout.flush()
  
imports: from __future__ import annotations
  import html
  import logging
  import sys
  import warnings
  import weakref
  from contextlib import suppress
  from timeit import default_timer
  from typing import Callable
  from tlz import valmap
  from tornado.ioloop import IOLoop
  import dask
  from dask.utils import key_split
  from distributed.client import default_client, futures_of
  from distributed.core import CommClosedError, clean_exception, coerce_to_address, connect
  from distributed.diagnostics.progress import MultiProgress, Progress, format_time
  from distributed.protocol.pickle import dumps
  from distributed.utils import LoopRunner, is_kernel
label_desc: Use image node_id 4 for calling the TextProgressBar obj's underlying member method code with example usage: obj._draw_bar(remaining, all) without return types