code: def linkcode_resolve(domain, info):
      def find_source():
          # try to find the file and line number, based on code from numpy:
          # https://github.com/numpy/numpy/blob/master/doc/source/conf.py#L286
          obj = sys.modules[info["module"]]
          for part in info["fullname"].split("."):
              obj = getattr(obj, part)
          import inspect
          import os
  
          fn = inspect.getsourcefile(obj)
          fn = os.path.relpath(
              fn, start=os.path.dirname(tslearn.__file__)
          )
          source, lineno = inspect.getsourcelines(obj)
          return fn, lineno, lineno + len(source) - 1
  
      if domain != "py" or not info["module"]:
          return None
      try:
          filename = "tslearn/%s#L%d-L%d" % find_source()
      except Exception:
          filename = info["module"].replace(".", "/") + ".py"
      revision = _get_git_revision()
      return "https://github.com/tslearn-team/tslearn/blob/%s/%s" % (
          revision,
          filename,
      )
  
file_path: tslearn/docs/conf.py
imports: import sys
  import os
  import warnings
  import sphinx_bootstrap_theme
  import subprocess
  from sphinx_gallery.scrapers import matplotlib_scraper
  import tslearn
label_desc: Use image node_id 3 for calling a global function with example usage: linkcode_resolve(domain, info) and returns: unknown, fn,  lineno,  unknown, None