code: def _get_container_dirs(source_dir, manifest_dir):
          
          base = "/tmp/samcli"
          result = {
              "source_dir": "{}/source".format(base),
              "artifacts_dir": "{}/artifacts".format(base),
              "scratch_dir": "{}/scratch".format(base),
              "manifest_dir": "{}/manifest".format(base)
          }
  
          if pathlib.PurePath(source_dir) == pathlib.PurePath(manifest_dir):
              # It is possible that the manifest resides within the source. In that case, we won't mount the manifest
              # directory separately.
              result["manifest_dir"] = result["source_dir"]
  
          return result
docs: Provides paths to directories within the container that is required by the builder
  
          Parameters
          ----------
          source_dir : str
              Path to the function source code
  
          manifest_dir : str
              Path to the directory containing manifest
  
          Returns
          -------
          dict
              Contains paths to source, artifacts, scratch & manifest directories