code: def linkcode_resolve(domain, info):
      """Determine the URL corresponding to Python object."""
      if domain != "py":
          return None
  
      modname = info["module"]
      fullname = info["fullname"]
  
      submod = sys.modules.get(modname)
      if submod is None:
          return None
  
      obj = submod
      for part in fullname.split("."):
          try:
              obj = getattr(obj, part)
          except AttributeError:
              return None
  
      try:
          fn = inspect.getsourcefile(inspect.unwrap(obj))
      except TypeError:
          fn = None
      if not fn:
          return None
  
      try:
          source, lineno = inspect.getsourcelines(obj)
      except OSError:
          lineno = None
  
      if lineno:
          linespec = f"#L{lineno}-L{lineno + len(source) - 1}"
      else:
          linespec = ""
  
      fn = os.path.relpath(
          fn, start=os.path.dirname(fairlearn.__file__)
      ).replace(os.sep, "/")
      if tag_or_branch == "main":
          return (
              "http://github.com/fairlearn/fairlearn/blob"
              f"/{tag_or_branch}/fairlearn/{fn}{linespec}"
          )
  
      else:
          return (
              "http://github.com/fairlearn/fairlearn/blob/"
              f"v{tag_or_branch}/fairlearn/{fn}{linespec}"
          )
  
imports: import inspect
  import os
  import sys
  from datetime import datetime
  from packaging.version import parse
  import fairlearn
label_desc: Use image node_id 1 for calling a global function with example usage: linkcode_resolve(domain, info) and returns: None, None, None, str, tag_or_branch, str, fn, linespec, str, tag_or_branch, str, fn, linespec, None