code: def get_offers(
      self, requirements: Optional[Requirements] = None
  ) -> List[InstanceOfferWithAvailability]:
      offers = get_catalog_offers(
          backend=BackendType.NEBIUS,
          locations=self.config.regions,
          requirements=requirements,
      )
      # TODO(egor-s) quotas
      return [
          InstanceOfferWithAvailability(
              **offer.dict(), availability=InstanceAvailability.UNKNOWN
          )
          for offer in offers
      ]
  
imports: import json
  import re
  import time
  from typing import List, Optional
  import dstack.version
  from dstack._internal import settings
  from dstack._internal.core.backends.base import Compute
  from dstack._internal.core.backends.base.compute import get_instance_name, get_user_data
  from dstack._internal.core.backends.base.offers import get_catalog_offers
  from dstack._internal.core.backends.nebius.api_client import NebiusAPIClient
  from dstack._internal.core.backends.nebius.config import NebiusConfig
  from dstack._internal.core.backends.nebius.types import ForbiddenError, NotFoundError, ResourcesSpec
  from dstack._internal.core.errors import NoCapacityError
  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
label_desc: Use image node_id 2 for calling the NebiusCompute obj's underlying member method code with example usage: obj.get_offers(requirements) and returns: unknown