

from typing import TYPE_CHECKING

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


lowercase_     =       {
    'configuration_utils': ['GenerationConfig'],
    'streamers': ['TextIteratorStreamer', 'TextStreamer'],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowercase_     =       [
      'Constraint',
      'ConstraintListState',
      'DisjunctiveConstraint',
      'PhrasalConstraint',
  ]
  lowercase_     =       [
      'BeamHypotheses',
      'BeamScorer',
      'BeamSearchScorer',
      'ConstrainedBeamSearchScorer',
  ]
  lowercase_     =       [
      'EpsilonLogitsWarper',
      'EtaLogitsWarper',
      'ForcedBOSTokenLogitsProcessor',
      'ForcedEOSTokenLogitsProcessor',
      'HammingDiversityLogitsProcessor',
      'InfNanRemoveLogitsProcessor',
      'LogitsProcessor',
      'LogitsProcessorList',
      'LogitsWarper',
      'MinLengthLogitsProcessor',
      'MinNewTokensLengthLogitsProcessor',
      'NoBadWordsLogitsProcessor',
      'NoRepeatNGramLogitsProcessor',
      'PrefixConstrainedLogitsProcessor',
      'RepetitionPenaltyLogitsProcessor',
      'SequenceBiasLogitsProcessor',
      'EncoderRepetitionPenaltyLogitsProcessor',
      'TemperatureLogitsWarper',
      'TopKLogitsWarper',
      'TopPLogitsWarper',
      'TypicalLogitsWarper',
      'EncoderNoRepeatNGramLogitsProcessor',
      'ExponentialDecayLengthPenalty',
      'LogitNormalization',
  ]
  lowercase_     =       [
      'MaxNewTokensCriteria',
      'MaxLengthCriteria',
      'MaxTimeCriteria',
      'StoppingCriteria',
      'StoppingCriteriaList',
      'validate_stopping_criteria',
  ]
  lowercase_     =       [
      'GenerationMixin',
      'top_k_top_p_filtering',
      'GreedySearchEncoderDecoderOutput',
      'GreedySearchDecoderOnlyOutput',
      'SampleEncoderDecoderOutput',
      'SampleDecoderOnlyOutput',
      'BeamSearchEncoderDecoderOutput',
      'BeamSearchDecoderOnlyOutput',
      'BeamSampleEncoderDecoderOutput',
      'BeamSampleDecoderOnlyOutput',
      'ContrastiveSearchEncoderDecoderOutput',
      'ContrastiveSearchDecoderOnlyOutput',
  ]

try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowercase_     =       [
      'TFForcedBOSTokenLogitsProcessor',
      'TFForcedEOSTokenLogitsProcessor',
      'TFLogitsProcessor',
      'TFLogitsProcessorList',
      'TFLogitsWarper',
      'TFMinLengthLogitsProcessor',
      'TFNoBadWordsLogitsProcessor',
      'TFNoRepeatNGramLogitsProcessor',
      'TFRepetitionPenaltyLogitsProcessor',
      'TFTemperatureLogitsWarper',
      'TFTopKLogitsWarper',
      'TFTopPLogitsWarper',
      'TFForceTokensLogitsProcessor',
      'TFSuppressTokensAtBeginLogitsProcessor',
      'TFSuppressTokensLogitsProcessor',
  ]
  lowercase_     =       [
      'TFGenerationMixin',
      'tf_top_k_top_p_filtering',
      'TFGreedySearchDecoderOnlyOutput',
      'TFGreedySearchEncoderDecoderOutput',
      'TFSampleEncoderDecoderOutput',
      'TFSampleDecoderOnlyOutput',
      'TFBeamSearchEncoderDecoderOutput',
      'TFBeamSearchDecoderOnlyOutput',
      'TFBeamSampleEncoderDecoderOutput',
      'TFBeamSampleDecoderOnlyOutput',
      'TFContrastiveSearchEncoderDecoderOutput',
      'TFContrastiveSearchDecoderOnlyOutput',
  ]

try:
  if not is_flax_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowercase_     =       [
      'FlaxForcedBOSTokenLogitsProcessor',
      'FlaxForcedEOSTokenLogitsProcessor',
      'FlaxLogitsProcessor',
      'FlaxLogitsProcessorList',
      'FlaxLogitsWarper',
      'FlaxMinLengthLogitsProcessor',
      'FlaxTemperatureLogitsWarper',
      'FlaxTopKLogitsWarper',
      'FlaxTopPLogitsWarper',
  ]
  lowercase_     =       [
      'FlaxGenerationMixin',
      'FlaxGreedySearchOutput',
      'FlaxSampleOutput',
      'FlaxBeamSearchOutput',
  ]

if TYPE_CHECKING:
  from .configuration_utils import GenerationConfig
  from .streamers import TextIteratorStreamer, TextStreamer

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .beam_constraints import Constraint, ConstraintListState, DisjunctiveConstraint, PhrasalConstraint
    from .beam_search import BeamHypotheses, BeamScorer, BeamSearchScorer, ConstrainedBeamSearchScorer
    from .logits_process import (
        EncoderNoRepeatNGramLogitsProcessor,
        EncoderRepetitionPenaltyLogitsProcessor,
        EpsilonLogitsWarper,
        EtaLogitsWarper,
        ExponentialDecayLengthPenalty,
        ForcedBOSTokenLogitsProcessor,
        ForcedEOSTokenLogitsProcessor,
        HammingDiversityLogitsProcessor,
        InfNanRemoveLogitsProcessor,
        LogitNormalization,
        LogitsProcessor,
        LogitsProcessorList,
        LogitsWarper,
        MinLengthLogitsProcessor,
        MinNewTokensLengthLogitsProcessor,
        NoBadWordsLogitsProcessor,
        NoRepeatNGramLogitsProcessor,
        PrefixConstrainedLogitsProcessor,
        RepetitionPenaltyLogitsProcessor,
        SequenceBiasLogitsProcessor,
        TemperatureLogitsWarper,
        TopKLogitsWarper,
        TopPLogitsWarper,
        TypicalLogitsWarper,
    )
    from .stopping_criteria import (
        MaxLengthCriteria,
        MaxNewTokensCriteria,
        MaxTimeCriteria,
        StoppingCriteria,
        StoppingCriteriaList,
        validate_stopping_criteria,
    )
    from .utils import (
        BeamSampleDecoderOnlyOutput,
        BeamSampleEncoderDecoderOutput,
        BeamSearchDecoderOnlyOutput,
        BeamSearchEncoderDecoderOutput,
        ContrastiveSearchDecoderOnlyOutput,
        ContrastiveSearchEncoderDecoderOutput,
        GenerationMixin,
        GreedySearchDecoderOnlyOutput,
        GreedySearchEncoderDecoderOutput,
        SampleDecoderOnlyOutput,
        SampleEncoderDecoderOutput,
        top_k_top_p_filtering,
    )

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tf_logits_process import (
        TFForcedBOSTokenLogitsProcessor,
        TFForcedEOSTokenLogitsProcessor,
        TFForceTokensLogitsProcessor,
        TFLogitsProcessor,
        TFLogitsProcessorList,
        TFLogitsWarper,
        TFMinLengthLogitsProcessor,
        TFNoBadWordsLogitsProcessor,
        TFNoRepeatNGramLogitsProcessor,
        TFRepetitionPenaltyLogitsProcessor,
        TFSuppressTokensAtBeginLogitsProcessor,
        TFSuppressTokensLogitsProcessor,
        TFTemperatureLogitsWarper,
        TFTopKLogitsWarper,
        TFTopPLogitsWarper,
    )
    from .tf_utils import (
        TFBeamSampleDecoderOnlyOutput,
        TFBeamSampleEncoderDecoderOutput,
        TFBeamSearchDecoderOnlyOutput,
        TFBeamSearchEncoderDecoderOutput,
        TFContrastiveSearchDecoderOnlyOutput,
        TFContrastiveSearchEncoderDecoderOutput,
        TFGenerationMixin,
        TFGreedySearchDecoderOnlyOutput,
        TFGreedySearchEncoderDecoderOutput,
        TFSampleDecoderOnlyOutput,
        TFSampleEncoderDecoderOutput,
        tf_top_k_top_p_filtering,
    )

  try:
    if not is_flax_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .flax_logits_process import (
        FlaxForcedBOSTokenLogitsProcessor,
        FlaxForcedEOSTokenLogitsProcessor,
        FlaxLogitsProcessor,
        FlaxLogitsProcessorList,
        FlaxLogitsWarper,
        FlaxMinLengthLogitsProcessor,
        FlaxTemperatureLogitsWarper,
        FlaxTopKLogitsWarper,
        FlaxTopPLogitsWarper,
    )
    from .flax_utils import FlaxBeamSearchOutput, FlaxGenerationMixin, FlaxGreedySearchOutput, FlaxSampleOutput
else:
  import sys

  lowercase_     =       _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)





import warnings

from ...utils import logging
from .image_processing_layoutlmva import LayoutLMvaImageProcessor


lowercase_     =       logging.get_logger(__name__)





class 			__lowerCAmelCase					( SCREAMING_SNAKE_CASE							):




  def __init__(    self							,       *lowerCAmelCase							,       **lowerCAmelCase )  ->			None:
        '''simple docstring'''






        warnings.warn(
            'The class LayoutLMv3FeatureExtractor is deprecated and will be removed in version 5 of Transformers.'
            ' Please use LayoutLMv3ImageProcessor instead.'							,       lowerCAmelCase							,       )
        super().__init__(*lowerCAmelCase							,       **lowerCAmelCase )


