code: def _try_clone_candidate(
      *, destds: Dataset, cand: Dict, clone_opts: List
  ) -> Tuple:
      """Attempt a clone from a single candidate
  
      destds: Dataset
        The target dataset the clone should materialize at.
      candidate_sources: list
        Each value is a dict with properties, as returned by
        `_generate_candidate_clone_sources()`
      clone_opts: list
        Options to be passed on to `_try_clone_candidate()`
  
      Returns
      -------
      (str, str or None, dict or None)
        The first item is the effective URL a clone was attempted from.
        The second item is `None` if the clone was successful, or an
        error message, detailing the failure for the specific URL.
        If the third item is not `None`, it must be a result dict that
        should be yielded, and no further clone attempt (even when
        other candidates remain) will be attempted.
      """
      # right now, we only know git-clone based approaches
      return _try_git_clone_candidate(
          destds=destds,
          cand=cand,
          clone_opts=clone_opts,
      )
  
imports: import logging
  import re
  from os.path import expanduser
  from pathlib import Path
  from typing import Dict, List, Tuple
  from urllib.parse import unquote
  from datalad.cmd import CommandError, GitWitlessRunner, StdOutCapture
  from datalad.config import ConfigManager
  from datalad.distributed.ora_remote import LocalIO, RIARemoteError, SSHRemoteIO
  from datalad.distribution.dataset import Dataset
  from datalad.distribution.utils import _get_flexible_source_candidates
  from datalad.dochelpers import single_or_plural
  from datalad.log import log_progress
  from datalad.runner.exception import CommandError
  from datalad.support.annexrepo import AnnexRepo
  from datalad.support.exceptions import CapturedException, DownloadError
  from datalad.support.gitrepo import GitRepo
  from datalad.support.network import RI, SSHRI, URL, DataLadRI, download_url, get_local_file_url, is_url
  from datalad.support.strings import get_replacement_dict
  from datalad.utils import Path, PurePosixPath, ensure_bool, ensure_list, make_tempfile, rmtree
label_desc: Use image node_id 11 for calling a global function with example usage: _try_clone_candidate() and returns: _try_git_clone_candidate