code: def _maybe_cache(arg, format, cache, convert_listlike):
      """
      Create a cache of unique dates from an array of dates
  
      Parameters
      ----------
      arg : integer, float, string, datetime, list, tuple, 1-d array, Series
      format : string
          Strftime format to parse time
      cache : boolean
          True attempts to create a cache of converted values
      convert_listlike : function
          Conversion function to apply on dates
  
      Returns
      -------
      cache_array : Series
          Cache of converted, unique dates. Can be empty
      """
      from pandas import Series
  
      cache_array = Series()
      if cache:
          # Perform a quicker unique check
          from pandas import Index
  
          if not Index(arg).is_unique:
              unique_dates = algorithms.unique(arg)
              cache_dates = convert_listlike(unique_dates, True, format)
              cache_array = Series(cache_dates, index=unique_dates)
      return cache_array
  
imports: from datetime import datetime, time
  from functools import partial
  import numpy
  from pandas._libs import tslib, tslibs
  from pandas._libs.tslibs import Timestamp, conversion, parsing
  from pandas._libs.tslibs.parsing import DateParseError, _format_is_iso, _guess_datetime_format, parse_time_string
  from pandas._libs.tslibs.strptime import array_strptime
  from pandas.compat import zip
  from pandas.core.dtypes.common import ensure_object, is_datetime64_dtype, is_datetime64_ns_dtype, is_datetime64tz_dtype, is_float, is_integer, is_integer_dtype, is_list_like, is_numeric_dtype, is_object_dtype, is_scalar
  from pandas.core.dtypes.generic import ABCDataFrame, ABCIndexClass, ABCSeries
  from pandas.core.dtypes.missing import notna
  from pandas import compat
  from pandas.core import algorithms
label_desc: Use image node_id 2 for calling a global function with example usage: _maybe_cache(arg, format, cache, convert_listlike) and returns: cache_array