





from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__UpperCAmelCase						=      logging.get_logger(__name__)

__UpperCAmelCase						=      {
    'google/electra-small-generator': 'https://huggingface.co/google/electra-small-generator/resolve/main/config.json',
    'google/electra-base-generator': 'https://huggingface.co/google/electra-base-generator/resolve/main/config.json',
    'google/electra-large-generator': 'https://huggingface.co/google/electra-large-generator/resolve/main/config.json',
    'google/electra-small-discriminator': (
        'https://huggingface.co/google/electra-small-discriminator/resolve/main/config.json'
    ),
    'google/electra-base-discriminator': (
        'https://huggingface.co/google/electra-base-discriminator/resolve/main/config.json'
    ),
    'google/electra-large-discriminator': (
        'https://huggingface.co/google/electra-large-discriminator/resolve/main/config.json'
    ),
}

class 		__a							(	__UpperCamelCase      ):
       __snake_case						:   List[Any]      =		"""electra"""



       def __init__(     self	:   int					,			UpperCAmelCase	:   Union[str, Any]=3_05_22					,			UpperCAmelCase	:   Union[str, Any]=1_28					,			UpperCAmelCase	:   Union[str, Any]=2_56					,			UpperCAmelCase	:   Dict=12					,			UpperCAmelCase	:   Dict=4					,			UpperCAmelCase	:   Dict=10_24					,			UpperCAmelCase	:   List[Any]="gelu"					,			UpperCAmelCase	:   Tuple=0.1					,			UpperCAmelCase	:   List[str]=0.1					,			UpperCAmelCase	:   Optional[int]=5_12					,			UpperCAmelCase	:   List[str]=2					,			UpperCAmelCase	:   Dict=0.02					,			UpperCAmelCase	:   List[Any]=1e-1_2					,			UpperCAmelCase	:   Union[str, Any]="first"					,			UpperCAmelCase	:   Dict=True					,			UpperCAmelCase	:   Optional[Any]="gelu"					,			UpperCAmelCase	:   List[Any]=0.1					,			UpperCAmelCase	:   List[str]=0					,			UpperCAmelCase	:   Optional[int]="absolute"					,			UpperCAmelCase	:   Optional[Any]=True					,			UpperCAmelCase	:   Optional[Any]=None					,			**UpperCAmelCase	:   Union[str, Any]					,			):
           super().__init__(pad_token_id=UpperCAmelCase					,			**UpperCAmelCase			)

           lowerCAmelCase_					:	int						=   vocab_size
           lowerCAmelCase_					:	Union[str, Any]						=   embedding_size
           lowerCAmelCase_					:	Union[str, Any]						=   hidden_size
           lowerCAmelCase_					:	Any						=   num_hidden_layers
           lowerCAmelCase_					:	List[Any]						=   num_attention_heads
           lowerCAmelCase_					:	Union[str, Any]						=   intermediate_size
           lowerCAmelCase_					:	Tuple						=   hidden_act
           lowerCAmelCase_					:	Dict						=   hidden_dropout_prob
           lowerCAmelCase_					:	Optional[int]						=   attention_probs_dropout_prob
           lowerCAmelCase_					:	Tuple						=   max_position_embeddings
           lowerCAmelCase_					:	List[Any]						=   type_vocab_size
           lowerCAmelCase_					:	int						=   initializer_range
           lowerCAmelCase_					:	Any						=   layer_norm_eps

           lowerCAmelCase_					:	str						=   summary_type
           lowerCAmelCase_					:	Dict						=   summary_use_proj
           lowerCAmelCase_					:	List[str]						=   summary_activation
           lowerCAmelCase_					:	Tuple						=   summary_last_dropout
           lowerCAmelCase_					:	List[Any]						=   position_embedding_type
           lowerCAmelCase_					:	Dict						=   use_cache
           lowerCAmelCase_					:	int						=   classifier_dropout






class 		__a							(	__UpperCamelCase      ):



       @property
       def  A							(     self	:   int			):
           if self.task == "multiple-choice":
               lowerCAmelCase_					:	Optional[Any]						=   {0: """batch""", 1: """choice""", 2: """sequence"""}
           else:
               lowerCAmelCase_					:	Union[str, Any]						=   {0: """batch""", 1: """sequence"""}
           return OrderedDict(
               [
                   ("""input_ids""", dynamic_axis),
                   ("""attention_mask""", dynamic_axis),
                   ("""token_type_ids""", dynamic_axis),
               ]			)









def 			__UpperCamelCase				(			lowercase__	:       set		,    lowercase__	:       set		)	->      set:
    '''simple docstring'''





    assert isinstance(lowercase__		,    lowercase__		), f'The input value of [set_a={set_a}] is not a set'
    assert isinstance(lowercase__		,    lowercase__		), f'The input value of [set_b={set_b}] is not a set'

    return {a + b for a in set_a for b in set_b}


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

  testmod()


