
"""simple docstring"""




from __future__ import annotations



class 	lowerCAmelCase_						:


				"""simple docstring"""



				def __init__(self   ,       SCREAMING_SNAKE_CASE__    )					->		None:



											"""simple docstring"""




											SCREAMING_SNAKE_CASE__						:       List[str]           =   data
											SCREAMING_SNAKE_CASE__						:       Node | None           =   None
											SCREAMING_SNAKE_CASE__						:       Node | None           =   None






def lowercase_  (   _snake_case						):  # In Order traversal of the tree
							if tree:
														display(tree.left						)
														print(tree.data						)
														display(tree.right						)

def lowercase_  (   _snake_case						):
							return 1 + max(depth_of_tree(tree.left						)   ,depth_of_tree(tree.right						)						) if tree else 0

def lowercase_  (   _snake_case						):
							if not tree:
														return True
							if tree.left and tree.right:
														return is_full_binary_tree(tree.left						) and is_full_binary_tree(tree.right						)
							else:
														return not tree.left and not tree.right

def lowercase_  (   ):  # Main function for testing.
							SCREAMING_SNAKE_CASE__						:       Optional[Any]           =   Node(1						)
							SCREAMING_SNAKE_CASE__						:       Optional[Any]           =   Node(2						)
							SCREAMING_SNAKE_CASE__						:       Tuple           =   Node(3						)
							SCREAMING_SNAKE_CASE__						:       List[Any]           =   Node(4						)
							SCREAMING_SNAKE_CASE__						:       str           =   Node(5						)
							SCREAMING_SNAKE_CASE__						:       Optional[Any]           =   Node(6						)
							SCREAMING_SNAKE_CASE__						:       Optional[Any]           =   Node(7						)
							SCREAMING_SNAKE_CASE__						:       Optional[Any]           =   Node(8						)
							SCREAMING_SNAKE_CASE__						:       Any           =   Node(9						)

							print(is_full_binary_tree(_snake_case						)						)
							print(depth_of_tree(_snake_case						)						)
							print("""Tree is: """						)
							display(_snake_case						)


if __name__ == "__main__":
					main()






"""simple docstring"""




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


UpperCAmelCase__      :    Optional[Any]    							= logging.get_logger(__name__)

UpperCAmelCase__      :    Dict    							= {
    'MIT/ast-finetuned-audioset-10-10-0.4593': (
        'https://huggingface.co/MIT/ast-finetuned-audioset-10-10-0.4593/resolve/main/config.json'
    ),
}



class 	lowerCAmelCase_						(a__  ):


				"""simple docstring"""



				__UpperCamelCase      :						Optional[int]					       =   '''audio-spectrogram-transformer'''



				def __init__(self   ,       SCREAMING_SNAKE_CASE__=7_68   ,       SCREAMING_SNAKE_CASE__=12   ,       SCREAMING_SNAKE_CASE__=12   ,       SCREAMING_SNAKE_CASE__=30_72   ,       SCREAMING_SNAKE_CASE__="gelu"   ,       SCREAMING_SNAKE_CASE__=0.0   ,       SCREAMING_SNAKE_CASE__=0.0   ,       SCREAMING_SNAKE_CASE__=0.02   ,       SCREAMING_SNAKE_CASE__=1E-12   ,       SCREAMING_SNAKE_CASE__=16   ,       SCREAMING_SNAKE_CASE__=True   ,       SCREAMING_SNAKE_CASE__=10   ,       SCREAMING_SNAKE_CASE__=10   ,       SCREAMING_SNAKE_CASE__=10_24   ,       SCREAMING_SNAKE_CASE__=1_28   ,       **SCREAMING_SNAKE_CASE__   ,       )					->		Tuple:



											"""simple docstring"""




											super().__init__(**SCREAMING_SNAKE_CASE__    )

											SCREAMING_SNAKE_CASE__						:       Optional[Any]           =   hidden_size
											SCREAMING_SNAKE_CASE__						:       str           =   num_hidden_layers
											SCREAMING_SNAKE_CASE__						:       int           =   num_attention_heads
											SCREAMING_SNAKE_CASE__						:       Tuple           =   intermediate_size
											SCREAMING_SNAKE_CASE__						:       Optional[int]           =   hidden_act
											SCREAMING_SNAKE_CASE__						:       Any           =   hidden_dropout_prob
											SCREAMING_SNAKE_CASE__						:       List[Any]           =   attention_probs_dropout_prob
											SCREAMING_SNAKE_CASE__						:       int           =   initializer_range
											SCREAMING_SNAKE_CASE__						:       int           =   layer_norm_eps
											SCREAMING_SNAKE_CASE__						:       Dict           =   patch_size
											SCREAMING_SNAKE_CASE__						:       Optional[int]           =   qkv_bias
											SCREAMING_SNAKE_CASE__						:       Optional[int]           =   frequency_stride
											SCREAMING_SNAKE_CASE__						:       Any           =   time_stride
											SCREAMING_SNAKE_CASE__						:       Optional[int]           =   max_length
											SCREAMING_SNAKE_CASE__						:       Any           =   num_mel_bins




