

'''simple docstring'''



from __future__ import annotations


def       snake_case   (	snake_case      : int = 4			) ->  list[list[int]]:


    """simple docstring"""


    lowerCAmelCase 						=							abs(snake_case			) or 4
    return [[1 + x + y * row_size for x in range(snake_case			)] for y in range(snake_case			)]


def       snake_case   (	snake_case      : list[list[int]]			) ->  list[list[int]]:


    """simple docstring"""


    return reverse_row(transpose(snake_case			)			)
    # OR.. transpose(reverse_column(matrix))


def       snake_case   (	snake_case      : list[list[int]]			) ->  list[list[int]]:


    """simple docstring"""


    return reverse_row(reverse_column(snake_case			)			)
    # OR.. reverse_column(reverse_row(matrix))


def       snake_case   (	snake_case      : list[list[int]]			) ->  list[list[int]]:


    """simple docstring"""


    return reverse_column(transpose(snake_case			)			)
    # OR.. transpose(reverse_row(matrix))


def       snake_case   (	snake_case      : list[list[int]]			) ->  list[list[int]]:


    """simple docstring"""


    lowerCAmelCase 						=							[list(snake_case			) for x in zip(*snake_case			)]
    return matrix


def       snake_case   (	snake_case      : list[list[int]]			) ->  list[list[int]]:


    """simple docstring"""


    lowerCAmelCase 						=							matrix[::-1]
    return matrix


def       snake_case   (	snake_case      : list[list[int]]			) ->  list[list[int]]:


    """simple docstring"""


    lowerCAmelCase 						=							[x[::-1] for x in matrix]
    return matrix


def       snake_case   (	snake_case      : list[list[int]]			) ->  None:


    """simple docstring"""


    for i in matrix:
        print(*snake_case			)


if __name__ == "__main__":
     _UpperCamelCase						:  Tuple							       =				make_matrix()
     print("\norigin:\n")
     print_matrix(matrix)
     print("\nrotate 90 counterclockwise:\n")
     print_matrix(rotate_aa(matrix))

     _UpperCamelCase						:  Union[str, Any]							       =				make_matrix()
     print("\norigin:\n")
     print_matrix(matrix)
     print("\nrotate 180:\n")
     print_matrix(rotate_aaa(matrix))

     _UpperCamelCase						:  int							       =				make_matrix()
     print("\norigin:\n")
     print_matrix(matrix)
     print("\nrotate 270 counterclockwise:\n")
     print_matrix(rotate_aaa(matrix))








'''simple docstring'''



from typing import TYPE_CHECKING

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


_UpperCamelCase						:  Optional[int]							       =				{
    "configuration_vision_text_dual_encoder": ["VisionTextDualEncoderConfig"],
    "processing_vision_text_dual_encoder": ["VisionTextDualEncoderProcessor"],
}


try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCamelCase						:  Dict							       =				["VisionTextDualEncoderModel"]


try:
     if not is_flax_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCamelCase						:  int							       =				["FlaxVisionTextDualEncoderModel"]

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCamelCase						:  Tuple							       =				["TFVisionTextDualEncoderModel"]


if TYPE_CHECKING:
     from .configuration_vision_text_dual_encoder import VisionTextDualEncoderConfig
     from .processing_vision_text_dual_encoder import VisionTextDualEncoderProcessor

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_vision_text_dual_encoder import VisionTextDualEncoderModel

     try:
          if not is_flax_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_flax_vision_text_dual_encoder import FlaxVisionTextDualEncoderModel

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_vision_text_dual_encoder import TFVisionTextDualEncoderModel


else:
     import sys

     _UpperCamelCase						:  Optional[int]							       =				_LazyModule(__name__, globals()["__file__"], _import_structure)





