from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowerCamelCase_    :		Optional[int]							=	logging.get_logger(__name__)

lowerCamelCase_    :		Union[str, Any]							=	{
    """microsoft/swinv2-tiny-patch4-window8-256""": (
        """https://huggingface.co/microsoft/swinv2-tiny-patch4-window8-256/resolve/main/config.json"""
    ),
}


class 						a__							(       __snake_case		):
			A__    :       List[str]        =      '''swinv2'''

			A__    :       int        =      {
			    '''num_attention_heads''': '''num_heads''',
			    '''num_hidden_layers''': '''num_layers''',
			}



			def __init__(						self				,						UpperCAmelCase=2_2_4				,						UpperCAmelCase=4				,						UpperCAmelCase=3				,						UpperCAmelCase=9_6				,						UpperCAmelCase=[2, 2, 6, 2]				,						UpperCAmelCase=[3, 6, 1_2, 2_4]				,						UpperCAmelCase=7				,						UpperCAmelCase=4.0				,						UpperCAmelCase=True				,						UpperCAmelCase=0.0				,						UpperCAmelCase=0.0				,						UpperCAmelCase=0.1				,						UpperCAmelCase="gelu"				,						UpperCAmelCase=False				,						UpperCAmelCase=0.02				,						UpperCAmelCase=1e-5				,						UpperCAmelCase=3_2				,						**UpperCAmelCase				,						)			->   Dict:
								super().__init__(**_a   )

								__a		 =       image_size
								__a		 =       patch_size
								__a		 =       num_channels
								__a		 =       embed_dim
								__a		 =       depths
								__a		 =       len(_a   )
								__a		 =       num_heads
								__a		 =       window_size
								__a		 =       mlp_ratio
								__a		 =       qkv_bias
								__a		 =       hidden_dropout_prob
								__a		 =       attention_probs_dropout_prob
								__a		 =       drop_path_rate
								__a		 =       hidden_act
								__a		 =       use_absolute_embeddings
								__a		 =       layer_norm_eps
								__a		 =       initializer_range
								__a		 =       encoder_stride
								# we set the hidden_size attribute in order to make Swinv2 work with VisionEncoderDecoderModel
								# this indicates the channel dimension after the last stage of the model
								__a		 =       int(embed_dim * 2 ** (len(_a   ) - 1)   )
								__a		 =       (0, 0, 0, 0)






from collections import defaultdict
def 							lowerCAmelCase(     __lowerCamelCase				,    __lowerCamelCase						):
					__a		 =       first_str.lower().strip()
					__a		 =       second_str.lower().strip()

					# Remove whitespace
					__a		 =       first_str.replace(' '				,    ''						)
					__a		 =       second_str.replace(' '				,    ''						)

					# Strings of different lengths are not anagrams
					if len(__lowerCamelCase						) != len(__lowerCamelCase						):
										return False

					# Default values for count should be 0
					__a		 =       defaultdict(__lowerCamelCase						)

					# For each character in input strings,
					# increment count in the corresponding
					for i in range(len(__lowerCamelCase						)						):
										count[first_str[i]] += 1
										count[second_str[i]] -= 1

					return all(_count == 0 for _count in count.values()						)


if __name__ == "__main__":
	from doctest import testmod

	testmod()
	lowerCamelCase_    :		List[str]							=	input("""Enter the first string """).strip()
	lowerCamelCase_    :		Optional[Any]							=	input("""Enter the second string """).strip()

	lowerCamelCase_    :		str							=	check_anagrams(input_a, input_b)
	print(F'''{input_a} and {input_b} are {'' if status else 'not '}anagrams.''')




