code: def build_launcher(work_dir, profile_dir, cluster_id):
      default_kwargs = dict(
          work_dir=work_dir,
          profile_dir=profile_dir,
          cluster_id=cluster_id,
          log=logging.getLogger(),
      )
  
      def build_launcher(Launcher, **kwargs):
          kw = {}
          kw.update(default_kwargs)
          kw.update(kwargs)
          return Launcher(**kw)
  
      return build_launcher
  
imports: import logging
  import os
  import sys
  import time
  from subprocess import Popen
  import entrypoints
  import pytest
  from traitlets.config import Config
  from ipyparallel.cluster import launcher
label_desc: Use image node_id 4 for calling a global function with example usage: build_launcher(work_dir, profile_dir, cluster_id) and returns: build_launcher, Launcher