code: def get_offers(
      self, requirements: Optional[Requirements] = None
  ) -> List[InstanceOfferWithAvailability]:
      offers = get_catalog_offers(
          backend=BackendType.VASTAI,
          requirements=requirements,
          # TODO(egor-s): spots currently not supported
          extra_filter=lambda offer: not offer.instance.resources.spot,
          catalog=self.catalog,
      )
      offers = [
          InstanceOfferWithAvailability(
              **offer.dict(),
              availability=InstanceAvailability.AVAILABLE,
          )
          for offer in offers
      ]
      return offers
  
imports: import time
  from typing import List, Optional
  import gpuhunt
  import requests
  from gpuhunt.providers.vastai import VastAIProvider
  from dstack._internal.core.backends.base import Compute
  from dstack._internal.core.backends.base.compute import get_docker_commands, get_instance_name
  from dstack._internal.core.backends.base.offers import get_catalog_offers
  from dstack._internal.core.backends.vastai.api_client import DISK_SIZE, VastAIAPIClient
  from dstack._internal.core.backends.vastai.config import VastAIConfig
  from dstack._internal.core.errors import ComputeError
  from dstack._internal.core.models.backends.base import BackendType
  from dstack._internal.core.models.instances import InstanceAvailability, InstanceOfferWithAvailability, LaunchedInstanceInfo
  from dstack._internal.core.models.runs import Job, Requirements, Run
  from dstack._internal.utils.logging import get_logger
label_desc: Use image node_id 2 for calling the VastAICompute obj's underlying member method code with example usage: obj.get_offers(requirements) and returns: offers