from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_a   :	Optional[Any] 							=   {
    'configuration_nllb_moe': [
        'NLLB_MOE_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'NllbMoeConfig',
    ]
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _a   :	List[str] 							=   [
       'NLLB_MOE_PRETRAINED_MODEL_ARCHIVE_LIST',
       'NllbMoeForConditionalGeneration',
       'NllbMoeModel',
       'NllbMoePreTrainedModel',
       'NllbMoeTop2Router',
       'NllbMoeSparseMLP',
   ]


if TYPE_CHECKING:
   from .configuration_nllb_moe import (
       NLLB_MOE_PRETRAINED_CONFIG_ARCHIVE_MAP,
       NllbMoeConfig,
   )

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_nllb_moe import (
          NLLB_MOE_PRETRAINED_MODEL_ARCHIVE_LIST,
          NllbMoeForConditionalGeneration,
          NllbMoeModel,
          NllbMoePreTrainedModel,
          NllbMoeSparseMLP,
          NllbMoeTopaRouter,
      )


else:
   import sys

   _a   :	List[Any] 							=   _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)







'''simple docstring'''




def _lowercase	(      lowerCamelCase__							,    lowerCamelCase__						)					->       float:





       """simple docstring"""


       if discount_rate < 0:
              raise ValueError("Discount rate cannot be negative"						)
       if not cash_flows:
              raise ValueError("Cash flows list cannot be empty"						)
       __UpperCAmelCase  :				Tuple       				=		sum(
           cash_flow / ((1 + discount_rate) ** i) for i, cash_flow in enumerate(lowerCamelCase__						)						)
       return round(lowerCamelCase__							,    ndigits=2						)


if __name__ == "__main__":
   import doctest

   doctest.testmod()






