old_contents: import sys
  
  
  class VendorImporter:
      """
      A PEP 302 meta path importer for finding optionally-vendored
      or otherwise naturally-installed packages from root_name.
      """
      def __init__(self, root_name, vendored_names=(), vendor_pkg=None):
          self.root_name = root_name
          self.vendored_names = set(vendored_names)
          self.vendor_pkg = vendor_pkg or root_name.replace('extern', '_vendor')
  
      @property
      def search_path(self):
          yield self.vendor_pkg + '.'
          yield ''
  
      def find_module(self, fullname, path=None):
          root, base, target = fullname.partition(self.root_name + '.')
          if root:
              return
          if not any(map(target.startswith, self.vendored_names)):
              return
          return self
  
      def load_module(self, fullname):
          root, base, target = fullname.partition(self.root_name + '.')
          for prefix in self.search_path:
              try:
                  __import__(prefix + target)
                  mod = sys.modules[prefix + target]
                  sys.modules[fullname] = mod
                  if sys.version_info > (3, 3):
                      del sys.modules[prefix + target]
                  return mod
              except ImportError:
                  pass
          else:
              raise ImportError(
                  "The '{target}' package is required; "
                  "normally this is bundled with this package so if you get "
                  "this warning, consult the packager of your "
                  "distribution.".format(**locals())
              )
  
      def install(self):
          if self not in sys.meta_path:
              sys.meta_path.append(self)
  
  names = 'packaging',
  VendorImporter(__name__, names).install()
  
new_contents: import sys
  
  
  class VendorImporter:
      """
      A PEP 302 meta path importer for finding optionally-vendored
      or otherwise naturally-installed packages from root_name.
      """
      def __init__(self, root_name, vendored_names=(), vendor_pkg=None):
          self.root_name = root_name
          self.vendored_names = set(vendored_names)
          self.vendor_pkg = vendor_pkg or root_name.replace('extern', '_vendor')
  
      @property
      def search_path(self):
          """
          Search first the vendor package then as a natural package.
          """
          yield self.vendor_pkg + '.'
          yield ''
  
      def find_module(self, fullname, path=None):
          """
          Return self when fullname starts with root_name and the
          target module is one vendored through this importer.
          """
          root, base, target = fullname.partition(self.root_name + '.')
          if root:
              return
          if not any(map(target.startswith, self.vendored_names)):
              return
          return self
  
      def load_module(self, fullname):
          """
          Iterate over the search path to locate and load fullname.
          """
          root, base, target = fullname.partition(self.root_name + '.')
          for prefix in self.search_path:
              try:
                  __import__(prefix + target)
                  mod = sys.modules[prefix + target]
                  sys.modules[fullname] = mod
                  if sys.version_info > (3, 3):
                      del sys.modules[prefix + target]
                  return mod
              except ImportError:
                  pass
          else:
              raise ImportError(
                  "The '{target}' package is required; "
                  "normally this is bundled with this package so if you get "
                  "this warning, consult the packager of your "
                  "distribution.".format(**locals())
              )
  
      def install(self):
          """
          Install this importer into sys.meta_path if not already present.
          """
          if self not in sys.meta_path:
              sys.meta_path.append(self)
  
  names = 'packaging',
  VendorImporter(__name__, names).install()
  
subject: Add some docstrings