


# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


__snake_case     =		{
    '''configuration_convnextv2''': [
        '''CONVNEXTV2_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''ConvNextV2Config''',
    ]
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __snake_case     =		[
         '''CONVNEXTV2_PRETRAINED_MODEL_ARCHIVE_LIST''',
         '''ConvNextV2ForImageClassification''',
         '''ConvNextV2Model''',
         '''ConvNextV2PreTrainedModel''',
         '''ConvNextV2Backbone''',
     ]


if TYPE_CHECKING:
     from .configuration_convnextva import (
         CONVNEXTV2_PRETRAINED_CONFIG_ARCHIVE_MAP,
         ConvNextVaConfig,
     )

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_convnextva import (
              CONVNEXTV2_PRETRAINED_MODEL_ARCHIVE_LIST,
              ConvNextVaBackbone,
              ConvNextVaForImageClassification,
              ConvNextVaModel,
              ConvNextVaPreTrainedModel,
          )

else:
     import sys

     __snake_case     =		_LazyModule(__name__, globals()['''__file__'''], _import_structure)






import os

from apache_beam.io.filesystems import FileSystems
from apache_beam.pipeline import Pipeline

from .logging import get_logger


__snake_case     =		2 << 2_0  # 2mb
__snake_case     =		get_logger(__name__)



class 					__lowerCamelCase	(_a		):







       def 						snake_case_					(	self:				Optional[Any]			):






            '''simple docstring'''




            __UpperCamelCase				=	self._options.get_all_options().get('runner'			)
            return runner in [None, "DirectRunner", "PortableRunner"]






def 						_A						(						_lowercase			,       _lowercase			,       _lowercase=False				)			->				List[Any]:


     """simple docstring"""


     __UpperCamelCase				=	FileSystems
     if fs.exists(_lowercase				):
          if force_upload:
               logger.info(f'''Remote path already exist: {remote_file_path}. Overwriting it as force_upload=True.'''				)
          else:
               logger.info(f'''Remote path already exist: {remote_file_path}. Skipping it as force_upload=False.'''				)
               return
     with fs.create(_lowercase				) as remote_file:
          with open(_lowercase			,       'rb'				) as local_file:
               __UpperCamelCase				=	local_file.read(_lowercase				)
               while chunk:
                    remote_file.write(_lowercase				)
                    __UpperCamelCase				=	local_file.read(_lowercase				)






def 						_A						(						_lowercase			,       _lowercase			,       _lowercase=False				)			->				Optional[Any]:


     """simple docstring"""


     __UpperCamelCase				=	FileSystems
     if os.path.exists(_lowercase				):
          if force_download:
               logger.info(f'''Local path already exist: {remote_file_path}. Overwriting it as force_upload=True.'''				)
          else:
               logger.info(f'''Local path already exist: {remote_file_path}. Skipping it as force_upload=False.'''				)
               return
     with fs.open(_lowercase				) as remote_file:
          with open(_lowercase			,       'wb'				) as local_file:
               __UpperCamelCase				=	remote_file.read(_lowercase				)
               while chunk:
                    local_file.write(_lowercase				)
                    __UpperCamelCase				=	remote_file.read(_lowercase				)


