code: def __init__(self, flow_datastore, pathspec=None):
      self._backend = flow_datastore._storage_impl
      self._flow_name = flow_datastore.flow_name
      _, run_id, step_name, _ = pathspec.split("/")
      self._run_id = run_id
      self._step_name = step_name
      self._pathspec = pathspec
      self._temp_card_save_path = self._get_card_write_path(
          base_pth=TEMP_DIR_NAME
      )
  
imports: from collections import namedtuple
  from io import BytesIO
  import os
  import json
  import shutil
  from metaflow.plugins.datastores.local_storage import LocalStorage
  from metaflow.metaflow_config import CARD_S3ROOT, CARD_LOCALROOT, DATASTORE_LOCAL_DIR, CARD_SUFFIX, CARD_AZUREROOT, CARD_GSROOT, SKIP_CARD_DUALWRITE
  import metaflow.metaflow_config
  from .exception import CardNotPresentException
label_desc: Use image node_id 2 to create a new CardDatastore object from inherited base classes: object with example: obj = CardDatastore(flow_datastore, pathspec)