code: import unittest
  from dataclasses import dataclass
  from typing import List, Union
  
  import numpy as np
  import PIL.Image
  
  from diffusers.utils.outputs import BaseOutput
  
  
  
  
  
  
  
  @dataclass
  class 					UpperCAmelCase_				(							__lowerCamelCase    ):
      UpperCAmelCase_			:       Optional[int]						 =							42
  
  
  
  
  
  
  
  class 					UpperCAmelCase_				(							unittest.TestCase    ):
  
  
  
  
      def 						__lowerCamelCase (					self  :   Tuple   )	-> int:
        a__     		=     CustomOutput(images=np.random.rand(1      ,      3      ,      4      ,      4   )   )
  
        # check every way of getting the attribute
        assert isinstance(outputs.images      ,      np.ndarray   )
        assert outputs.images.shape == (1, 3, 4, 4)
        assert isinstance(outputs["images"]      ,      np.ndarray   )
        assert outputs["images"].shape == (1, 3, 4, 4)
        assert isinstance(outputs[0]      ,      np.ndarray   )
        assert outputs[0].shape == (1, 3, 4, 4)
  
        # test with a non-tensor attribute
        a__     		=     CustomOutput(images=[PIL.Image.new("RGB"      ,      (4, 4)   )]   )
  
        # check every way of getting the attribute
        assert isinstance(outputs.images      ,      _lowerCAmelCase   )
        assert isinstance(outputs.images[0]      ,      PIL.Image.Image   )
        assert isinstance(outputs["images"]      ,      _lowerCAmelCase   )
        assert isinstance(outputs["images"][0]      ,      PIL.Image.Image   )
        assert isinstance(outputs[0]      ,      _lowerCAmelCase   )
        assert isinstance(outputs[0][0]      ,      PIL.Image.Image   )
  
  
  
  
      def 						__lowerCamelCase (					self  :   Optional[Any]   )	-> Optional[Any]:
        # test output reinitialization with a `dict` for compatibility with `accelerate`
        a__     		=     CustomOutput({"images": np.random.rand(1      ,      3      ,      4      ,      4   )}   )
  
        # check every way of getting the attribute
        assert isinstance(outputs.images      ,      np.ndarray   )
        assert outputs.images.shape == (1, 3, 4, 4)
        assert isinstance(outputs["images"]      ,      np.ndarray   )
        assert outputs["images"].shape == (1, 3, 4, 4)
        assert isinstance(outputs[0]      ,      np.ndarray   )
        assert outputs[0].shape == (1, 3, 4, 4)
  
        # test with a non-tensor attribute
        a__     		=     CustomOutput({"images": [PIL.Image.new("RGB"      ,      (4, 4)   )]}   )
  
        # check every way of getting the attribute
        assert isinstance(outputs.images      ,      _lowerCAmelCase   )
        assert isinstance(outputs.images[0]      ,      PIL.Image.Image   )
        assert isinstance(outputs["images"]      ,      _lowerCAmelCase   )
        assert isinstance(outputs["images"][0]      ,      PIL.Image.Image   )
        assert isinstance(outputs[0]      ,      _lowerCAmelCase   )
        assert isinstance(outputs[0][0]      ,      PIL.Image.Image   )
  
  
style_context: from typing import TYPE_CHECKING
  
  from ...utils import (
      OptionalDependencyNotAvailable,
      _LazyModule,
      is_sentencepiece_available,
      is_tokenizers_available,
      is_torch_available,
  )
  
  
  _SCREAMING_SNAKE_CASE   						=    {
      """configuration_open_llama""": ["""OPEN_LLAMA_PRETRAINED_CONFIG_ARCHIVE_MAP""", """OpenLlamaConfig"""],
  }
  
  try:
       if not is_sentencepiece_available():
            raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
       pass
  else:
       _SCREAMING_SNAKE_CASE   						=    ["""LlamaTokenizer"""]
  
  try:
       if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
       pass
  else:
       _SCREAMING_SNAKE_CASE   						=    ["""LlamaTokenizerFast"""]
  
  try:
       if not is_torch_available():
            raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
       pass
  else:
       _SCREAMING_SNAKE_CASE   						=    [
           """OpenLlamaForCausalLM""",
           """OpenLlamaModel""",
           """OpenLlamaPreTrainedModel""",
           """OpenLlamaForSequenceClassification""",
       ]
  
  
  if TYPE_CHECKING:
       from .configuration_open_llama import OPEN_LLAMA_PRETRAINED_CONFIG_ARCHIVE_MAP, OpenLlamaConfig
  
       try:
            if not is_sentencepiece_available():
                 raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
            pass
       else:
            from transformers import LlamaTokenizer
  
       try:
            if not is_tokenizers_available():
                 raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
            pass
       else:
            from transformers import LlamaTokenizerFast
  
       try:
            if not is_torch_available():
                 raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
            pass
       else:
            from .modeling_open_llama import (
                OpenLlamaForCausalLM,
                OpenLlamaForSequenceClassification,
                OpenLlamaModel,
                OpenLlamaPreTrainedModel,
            )
  
  
  else:
       import sys
  
       _SCREAMING_SNAKE_CASE   						=    _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)
  
  