code: def __init__(self, shell=None):
      # Modules that failed to reload: {module: mtime-on-failed-reload, ...}
      self.failed = {}
      # Modules specially marked as autoreloadable.
      self.modules = {}
      # Modules specially marked as not autoreloadable.
      self.skip_modules = {}
      # (module-name, name) -> weakref, for replacing old code objects
      self.old_objects = {}
      # Module modification timestamps
      self.modules_mtimes = {}
      self.shell = shell
  
      # Reporting callable for verbosity
      self._report = lambda msg: None  # by default, be quiet.
  
      # Cache module modification times
      self.check(check_all=True, do_reload=False)
  
      # To hide autoreload errors
      self.hide_errors = False
  
imports: from IPython.core import magic_arguments
  from IPython.core.magic import Magics, magics_class, line_magic
  import os
  import sys
  import traceback
  import types
  import weakref
  import gc
  import logging
  from importlib import import_module, reload
  from importlib.util import source_from_cache
label_desc: Use image node_id 1 to create a new ModuleReloader object  with example: obj = ModuleReloader(shell)