




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
)


_lowerCAmelCase    : Optional[int]		= {
    "auto_factory": ["get_values"],
    "configuration_auto": ["ALL_PRETRAINED_CONFIG_ARCHIVE_MAP", "CONFIG_MAPPING", "MODEL_NAMES_MAPPING", "AutoConfig"],
    "feature_extraction_auto": ["FEATURE_EXTRACTOR_MAPPING", "AutoFeatureExtractor"],
    "image_processing_auto": ["IMAGE_PROCESSOR_MAPPING", "AutoImageProcessor"],
    "processing_auto": ["PROCESSOR_MAPPING", "AutoProcessor"],
    "tokenization_auto": ["TOKENIZER_MAPPING", "AutoTokenizer"],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowerCAmelCase    : List[str]		= [
      "MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING",
      "MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING",
      "MODEL_FOR_AUDIO_XVECTOR_MAPPING",
      "MODEL_FOR_BACKBONE_MAPPING",
      "MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING",
      "MODEL_FOR_CAUSAL_LM_MAPPING",
      "MODEL_FOR_CTC_MAPPING",
      "MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING",
      "MODEL_FOR_DEPTH_ESTIMATION_MAPPING",
      "MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING",
      "MODEL_FOR_IMAGE_SEGMENTATION_MAPPING",
      "MODEL_FOR_INSTANCE_SEGMENTATION_MAPPING",
      "MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING",
      "MODEL_FOR_MASKED_LM_MAPPING",
      "MODEL_FOR_MASK_GENERATION_MAPPING",
      "MODEL_FOR_MULTIPLE_CHOICE_MAPPING",
      "MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING",
      "MODEL_FOR_OBJECT_DETECTION_MAPPING",
      "MODEL_FOR_PRETRAINING_MAPPING",
      "MODEL_FOR_QUESTION_ANSWERING_MAPPING",
      "MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING",
      "MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING",
      "MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING",
      "MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING",
      "MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING",
      "MODEL_FOR_TEXT_ENCODING_MAPPING",
      "MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING",
      "MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING",
      "MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING",
      "MODEL_FOR_VISION_2_SEQ_MAPPING",
      "MODEL_FOR_VISUAL_QUESTION_ANSWERING_MAPPING",
      "MODEL_MAPPING",
      "MODEL_WITH_LM_HEAD_MAPPING",
      "MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING",
      "MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING",
      "AutoModel",
      "AutoBackbone",
      "AutoModelForAudioClassification",
      "AutoModelForAudioFrameClassification",
      "AutoModelForAudioXVector",
      "AutoModelForCausalLM",
      "AutoModelForCTC",
      "AutoModelForDepthEstimation",
      "AutoModelForImageClassification",
      "AutoModelForImageSegmentation",
      "AutoModelForInstanceSegmentation",
      "AutoModelForMaskGeneration",
      "AutoModelForTextEncoding",
      "AutoModelForMaskedImageModeling",
      "AutoModelForMaskedLM",
      "AutoModelForMultipleChoice",
      "AutoModelForNextSentencePrediction",
      "AutoModelForObjectDetection",
      "AutoModelForPreTraining",
      "AutoModelForQuestionAnswering",
      "AutoModelForSemanticSegmentation",
      "AutoModelForSeq2SeqLM",
      "AutoModelForSequenceClassification",
      "AutoModelForSpeechSeq2Seq",
      "AutoModelForTableQuestionAnswering",
      "AutoModelForTokenClassification",
      "AutoModelForUniversalSegmentation",
      "AutoModelForVideoClassification",
      "AutoModelForVision2Seq",
      "AutoModelForVisualQuestionAnswering",
      "AutoModelForDocumentQuestionAnswering",
      "AutoModelWithLMHead",
      "AutoModelForZeroShotImageClassification",
      "AutoModelForZeroShotObjectDetection",
  ]

try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowerCAmelCase    : str		= [
      "TF_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING",
      "TF_MODEL_FOR_CAUSAL_LM_MAPPING",
      "TF_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING",
      "TF_MODEL_FOR_MASK_GENERATION_MAPPING",
      "TF_MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING",
      "TF_MODEL_FOR_MASKED_LM_MAPPING",
      "TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING",
      "TF_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING",
      "TF_MODEL_FOR_PRETRAINING_MAPPING",
      "TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING",
      "TF_MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING",
      "TF_MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING",
      "TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING",
      "TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING",
      "TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING",
      "TF_MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING",
      "TF_MODEL_FOR_TEXT_ENCODING_MAPPING",
      "TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING",
      "TF_MODEL_FOR_VISION_2_SEQ_MAPPING",
      "TF_MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING",
      "TF_MODEL_MAPPING",
      "TF_MODEL_WITH_LM_HEAD_MAPPING",
      "TFAutoModel",
      "TFAutoModelForAudioClassification",
      "TFAutoModelForCausalLM",
      "TFAutoModelForImageClassification",
      "TFAutoModelForMaskedImageModeling",
      "TFAutoModelForMaskedLM",
      "TFAutoModelForMaskGeneration",
      "TFAutoModelForMultipleChoice",
      "TFAutoModelForNextSentencePrediction",
      "TFAutoModelForPreTraining",
      "TFAutoModelForDocumentQuestionAnswering",
      "TFAutoModelForQuestionAnswering",
      "TFAutoModelForSemanticSegmentation",
      "TFAutoModelForSeq2SeqLM",
      "TFAutoModelForSequenceClassification",
      "TFAutoModelForSpeechSeq2Seq",
      "TFAutoModelForTableQuestionAnswering",
      "TFAutoModelForTextEncoding",
      "TFAutoModelForTokenClassification",
      "TFAutoModelForVision2Seq",
      "TFAutoModelForZeroShotImageClassification",
      "TFAutoModelWithLMHead",
  ]

try:
  if not is_flax_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowerCAmelCase    : Any		= [
      "FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING",
      "FLAX_MODEL_FOR_CAUSAL_LM_MAPPING",
      "FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING",
      "FLAX_MODEL_FOR_MASKED_LM_MAPPING",
      "FLAX_MODEL_FOR_MULTIPLE_CHOICE_MAPPING",
      "FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING",
      "FLAX_MODEL_FOR_PRETRAINING_MAPPING",
      "FLAX_MODEL_FOR_QUESTION_ANSWERING_MAPPING",
      "FLAX_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING",
      "FLAX_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING",
      "FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING",
      "FLAX_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING",
      "FLAX_MODEL_FOR_VISION_2_SEQ_MAPPING",
      "FLAX_MODEL_MAPPING",
      "FlaxAutoModel",
      "FlaxAutoModelForCausalLM",
      "FlaxAutoModelForImageClassification",
      "FlaxAutoModelForMaskedLM",
      "FlaxAutoModelForMultipleChoice",
      "FlaxAutoModelForNextSentencePrediction",
      "FlaxAutoModelForPreTraining",
      "FlaxAutoModelForQuestionAnswering",
      "FlaxAutoModelForSeq2SeqLM",
      "FlaxAutoModelForSequenceClassification",
      "FlaxAutoModelForSpeechSeq2Seq",
      "FlaxAutoModelForTokenClassification",
      "FlaxAutoModelForVision2Seq",
  ]


if TYPE_CHECKING:
  from .auto_factory import get_values
  from .configuration_auto import ALL_PRETRAINED_CONFIG_ARCHIVE_MAP, CONFIG_MAPPING, MODEL_NAMES_MAPPING, AutoConfig
  from .feature_extraction_auto import FEATURE_EXTRACTOR_MAPPING, AutoFeatureExtractor
  from .image_processing_auto import IMAGE_PROCESSOR_MAPPING, AutoImageProcessor
  from .processing_auto import PROCESSOR_MAPPING, AutoProcessor
  from .tokenization_auto import TOKENIZER_MAPPING, AutoTokenizer

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_auto import (
        MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
        MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING,
        MODEL_FOR_AUDIO_XVECTOR_MAPPING,
        MODEL_FOR_BACKBONE_MAPPING,
        MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING,
        MODEL_FOR_CAUSAL_LM_MAPPING,
        MODEL_FOR_CTC_MAPPING,
        MODEL_FOR_DEPTH_ESTIMATION_MAPPING,
        MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING,
        MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
        MODEL_FOR_IMAGE_SEGMENTATION_MAPPING,
        MODEL_FOR_INSTANCE_SEGMENTATION_MAPPING,
        MODEL_FOR_MASK_GENERATION_MAPPING,
        MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING,
        MODEL_FOR_MASKED_LM_MAPPING,
        MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
        MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
        MODEL_FOR_OBJECT_DETECTION_MAPPING,
        MODEL_FOR_PRETRAINING_MAPPING,
        MODEL_FOR_QUESTION_ANSWERING_MAPPING,
        MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING,
        MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
        MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
        MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
        MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING,
        MODEL_FOR_TEXT_ENCODING_MAPPING,
        MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
        MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING,
        MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING,
        MODEL_FOR_VISION_2_SEQ_MAPPING,
        MODEL_FOR_VISUAL_QUESTION_ANSWERING_MAPPING,
        MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING,
        MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING,
        MODEL_MAPPING,
        MODEL_WITH_LM_HEAD_MAPPING,
        AutoBackbone,
        AutoModel,
        AutoModelForAudioClassification,
        AutoModelForAudioFrameClassification,
        AutoModelForAudioXVector,
        AutoModelForCausalLM,
        AutoModelForCTC,
        AutoModelForDepthEstimation,
        AutoModelForDocumentQuestionAnswering,
        AutoModelForImageClassification,
        AutoModelForImageSegmentation,
        AutoModelForInstanceSegmentation,
        AutoModelForMaskedImageModeling,
        AutoModelForMaskedLM,
        AutoModelForMaskGeneration,
        AutoModelForMultipleChoice,
        AutoModelForNextSentencePrediction,
        AutoModelForObjectDetection,
        AutoModelForPreTraining,
        AutoModelForQuestionAnswering,
        AutoModelForSemanticSegmentation,
        AutoModelForSeqaSeqLM,
        AutoModelForSequenceClassification,
        AutoModelForSpeechSeqaSeq,
        AutoModelForTableQuestionAnswering,
        AutoModelForTextEncoding,
        AutoModelForTokenClassification,
        AutoModelForUniversalSegmentation,
        AutoModelForVideoClassification,
        AutoModelForVisionaSeq,
        AutoModelForVisualQuestionAnswering,
        AutoModelForZeroShotImageClassification,
        AutoModelForZeroShotObjectDetection,
        AutoModelWithLMHead,
    )

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_tf_auto import (
        TF_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
        TF_MODEL_FOR_CAUSAL_LM_MAPPING,
        TF_MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING,
        TF_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
        TF_MODEL_FOR_MASK_GENERATION_MAPPING,
        TF_MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING,
        TF_MODEL_FOR_MASKED_LM_MAPPING,
        TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
        TF_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
        TF_MODEL_FOR_PRETRAINING_MAPPING,
        TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
        TF_MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING,
        TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
        TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
        TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
        TF_MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING,
        TF_MODEL_FOR_TEXT_ENCODING_MAPPING,
        TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
        TF_MODEL_FOR_VISION_2_SEQ_MAPPING,
        TF_MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING,
        TF_MODEL_MAPPING,
        TF_MODEL_WITH_LM_HEAD_MAPPING,
        TFAutoModel,
        TFAutoModelForAudioClassification,
        TFAutoModelForCausalLM,
        TFAutoModelForDocumentQuestionAnswering,
        TFAutoModelForImageClassification,
        TFAutoModelForMaskedImageModeling,
        TFAutoModelForMaskedLM,
        TFAutoModelForMaskGeneration,
        TFAutoModelForMultipleChoice,
        TFAutoModelForNextSentencePrediction,
        TFAutoModelForPreTraining,
        TFAutoModelForQuestionAnswering,
        TFAutoModelForSemanticSegmentation,
        TFAutoModelForSeqaSeqLM,
        TFAutoModelForSequenceClassification,
        TFAutoModelForSpeechSeqaSeq,
        TFAutoModelForTableQuestionAnswering,
        TFAutoModelForTextEncoding,
        TFAutoModelForTokenClassification,
        TFAutoModelForVisionaSeq,
        TFAutoModelForZeroShotImageClassification,
        TFAutoModelWithLMHead,
    )

  try:
    if not is_flax_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_flax_auto import (
        FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
        FLAX_MODEL_FOR_CAUSAL_LM_MAPPING,
        FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
        FLAX_MODEL_FOR_MASKED_LM_MAPPING,
        FLAX_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
        FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
        FLAX_MODEL_FOR_PRETRAINING_MAPPING,
        FLAX_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
        FLAX_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
        FLAX_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
        FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
        FLAX_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
        FLAX_MODEL_FOR_VISION_2_SEQ_MAPPING,
        FLAX_MODEL_MAPPING,
        FlaxAutoModel,
        FlaxAutoModelForCausalLM,
        FlaxAutoModelForImageClassification,
        FlaxAutoModelForMaskedLM,
        FlaxAutoModelForMultipleChoice,
        FlaxAutoModelForNextSentencePrediction,
        FlaxAutoModelForPreTraining,
        FlaxAutoModelForQuestionAnswering,
        FlaxAutoModelForSeqaSeqLM,
        FlaxAutoModelForSequenceClassification,
        FlaxAutoModelForSpeechSeqaSeq,
        FlaxAutoModelForTokenClassification,
        FlaxAutoModelForVisionaSeq,
    )

else:
  import sys

  _lowerCAmelCase    : Optional[int]		= _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)











from math import cos, sin



def     lowerCAmelCase		(		_lowerCAmelCase				: float						):




 """simple docstring"""







 UpperCAmelCase__							=    float(_lowerCAmelCase						)
 return [[scaling_factor * int(x == y						) for x in range(2						)] for y in range(2						)]



def     lowerCAmelCase		(		_lowerCAmelCase				: float						):




 """simple docstring"""







 UpperCAmelCase__			,			UpperCAmelCase__							=    cos(_lowerCAmelCase						), sin(_lowerCAmelCase						)
 return [[c, -s], [s, c]]



def     lowerCAmelCase		(		_lowerCAmelCase				: float						):




 """simple docstring"""







 UpperCAmelCase__			,			UpperCAmelCase__							=    cos(_lowerCAmelCase						), sin(_lowerCAmelCase						)
 UpperCAmelCase__							=    c * s
 return [[c * c, cs], [cs, s * s]]



def     lowerCAmelCase		(		_lowerCAmelCase				: float						):




 """simple docstring"""







 UpperCAmelCase__			,			UpperCAmelCase__							=    cos(_lowerCAmelCase						), sin(_lowerCAmelCase						)
 UpperCAmelCase__							=    c * s
 return [[2 * c - 1, 2 * cs], [2 * cs, 2 * s - 1]]


print(F'''    {scaling(5) = }''')
print(F'''  {rotation(4_5) = }''')
print(F'''{projection(4_5) = }''')


print(F'''{reflection(4_5) = }''')





