


'''simple docstring'''

import unittest

from transformers import DebertaVaTokenizer, DebertaVaTokenizerFast
from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin


lowerCamelCase							:   List[str]  						=	get_tests_dir('fixtures/spiece.model')
@require_sentencepiece
@require_tokenizers
class   __lowerCAmelCase						(lowercase_  ,     unittest.TestCase     ):





      '''simple docstring'''






      lowerCAmelCase__					:     int  					=							DebertaVaTokenizer
      lowerCAmelCase__					:     List[Any]  					=							DebertaVaTokenizerFast
      lowerCAmelCase__					:     str  					=							True
      lowerCAmelCase__					:     Tuple  					=							True



      def       UpperCamelCase__		(self    :    Tuple ):

             '''simple docstring'''







             super().setUp()

             # We have a SentencePiece fixture for testing
             lowercase__      			= DebertaVaTokenizer(UpperCamelCase   ,						unk_token='''<unk>''' )
             tokenizer.save_pretrained(self.tmpdirname )



      def       UpperCamelCase__		(self    :    Union[str, Any]   ,						UpperCamelCase    :    str ):

             '''simple docstring'''







             lowercase__      			= '''this is a test'''
             lowercase__      			= '''this is a test'''
             return input_text, output_text



      def       UpperCamelCase__		(self    :    Optional[int] ):

             '''simple docstring'''







             lowercase__      			= '''<pad>'''
             lowercase__      			= 0

             self.assertEqual(self.get_tokenizer()._convert_token_to_id(UpperCamelCase )   ,						UpperCamelCase )
             self.assertEqual(self.get_tokenizer()._convert_id_to_token(UpperCamelCase )   ,						UpperCamelCase )



      def       UpperCamelCase__		(self    :    Dict ):

             '''simple docstring'''







             lowercase__      			= list(self.get_tokenizer().get_vocab().keys() )
             self.assertEqual(vocab_keys[0]   ,						'''<pad>''' )
             self.assertEqual(vocab_keys[1]   ,						'''<unk>''' )
             self.assertEqual(vocab_keys[-1]   ,						'''[PAD]''' )
             self.assertEqual(len(UpperCamelCase )   ,						30001 )



      def       UpperCamelCase__		(self    :    int ):

             '''simple docstring'''







             self.assertEqual(self.get_tokenizer().vocab_size   ,						30000 )



      def       UpperCamelCase__		(self    :    Optional[Any] ):

             '''simple docstring'''







             lowercase__      			= ''' \tHeLLo!how  \n Are yoU?  '''
             lowercase__      			= ['''▁hello''', '''!''', '''how''', '''▁are''', '''▁you''', '''?''']
             # fmt: on

             lowercase__      			= DebertaVaTokenizer(UpperCamelCase   ,						do_lower_case=UpperCamelCase )
             lowercase__      			= tokenizer.convert_ids_to_tokens(tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= DebertaVaTokenizerFast(UpperCamelCase   ,						do_lower_case=UpperCamelCase )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )



      @unittest.skip('''There is an inconsistency between slow and fast tokenizer due to a bug in the fast one.''' )
      def       UpperCamelCase__		(self    :    List[Any] ):

             '''simple docstring'''







             pass



      @unittest.skip('''There is an inconsistency between slow and fast tokenizer due to a bug in the fast one.''' )
      def       UpperCamelCase__		(self    :    List[str] ):

             '''simple docstring'''







             pass



      def       UpperCamelCase__		(self    :    Optional[int] ):

             '''simple docstring'''







             lowercase__      			= '''I was born in 92000, and this is falsé.'''
             lowercase__      			= ['''▁''', '''<unk>''', '''▁was''', '''▁born''', '''▁in''', '''▁9''', '''2000''', '''▁''', ''',''', '''▁and''', '''▁this''', '''▁is''', '''▁fal''', '''s''', '''<unk>''', '''▁''', '''.''', ]
             # fmt: on

             lowercase__      			= DebertaVaTokenizer(UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= tokenizer.convert_ids_to_tokens(tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= DebertaVaTokenizerFast(UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )



      def       UpperCamelCase__		(self    :    int ):

             '''simple docstring'''







             lowercase__      			= '''I was born in 92000, and this is falsé.'''
             lowercase__      			= ['''▁i''', '''▁was''', '''▁born''', '''▁in''', '''▁9''', '''2000''', '''▁''', ''',''', '''▁and''', '''▁this''', '''▁is''', '''▁fal''', '''s''', '''<unk>''', '''▁''', '''.''', ]
             # fmt: on

             lowercase__      			= DebertaVaTokenizer(UpperCamelCase   ,						do_lower_case=UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= tokenizer.convert_ids_to_tokens(tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= DebertaVaTokenizerFast(UpperCamelCase   ,						do_lower_case=UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )



      def       UpperCamelCase__		(self    :    Optional[Any] ):

             '''simple docstring'''







             lowercase__      			= '''I was born in 92000, and this is falsé.'''
             lowercase__      			= ['''▁i''', '''▁was''', '''▁born''', '''▁in''', '''▁9''', '''2000''', ''',''', '''▁and''', '''▁this''', '''▁is''', '''▁fal''', '''s''', '''<unk>''', '''.''', ]
             # fmt: on

             lowercase__      			= DebertaVaTokenizer(UpperCamelCase   ,						do_lower_case=UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= tokenizer.convert_ids_to_tokens(tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= DebertaVaTokenizerFast(UpperCamelCase   ,						do_lower_case=UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )



      def       UpperCamelCase__		(self    :    Union[str, Any] ):

             '''simple docstring'''







             lowercase__      			= '''I was born in 92000, and this is falsé.'''
             lowercase__      			= ['''▁''', '''<unk>''', '''▁was''', '''▁born''', '''▁in''', '''▁9''', '''2000''', '''▁''', ''',''', '''▁and''', '''▁this''', '''▁is''', '''▁fal''', '''s''', '''<unk>''', '''▁''', '''.''', ]
             # fmt: on

             lowercase__      			= DebertaVaTokenizer(UpperCamelCase   ,						do_lower_case=UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= tokenizer.convert_ids_to_tokens(tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= DebertaVaTokenizerFast(UpperCamelCase   ,						do_lower_case=UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )



      def       UpperCamelCase__		(self    :    Union[str, Any] ):

             '''simple docstring'''







             lowercase__      			= ''' \tHeLLo!how  \n Are yoU?  '''
             lowercase__      			= ['''▁''', '''<unk>''', '''e''', '''<unk>''', '''o''', '''!''', '''how''', '''▁''', '''<unk>''', '''re''', '''▁yo''', '''<unk>''', '''?''']
             # fmt: on

             lowercase__      			= DebertaVaTokenizer(UpperCamelCase   ,						do_lower_case=UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= tokenizer.convert_ids_to_tokens(tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= DebertaVaTokenizerFast(UpperCamelCase   ,						do_lower_case=UpperCamelCase   ,						split_by_punct=UpperCamelCase )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )

             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )



      def       UpperCamelCase__		(self    :    Union[str, Any] ):

             '''simple docstring'''







             lowercase__      			= self.get_tokenizer()
             lowercase__      			= self.get_rust_tokenizer()

             lowercase__      			= '''I was born in 92000, and this is falsé.'''

             lowercase__      			= tokenizer.convert_ids_to_tokens(tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase ) )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase )
             lowercase__      			= rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= self.get_rust_tokenizer()
             lowercase__      			= tokenizer.encode(UpperCamelCase )
             lowercase__      			= rust_tokenizer.encode(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )



      def       UpperCamelCase__		(self    :    int ):

             '''simple docstring'''







             lowercase__      			= '''This is a test'''
             lowercase__      			= [13, 1, 4398, 25, 21, 1289]
             lowercase__      			= ['''▁''', '''T''', '''his''', '''▁is''', '''▁a''', '''▁test''']
             lowercase__      			= ['''▁''', '''<unk>''', '''his''', '''▁is''', '''▁a''', '''▁test''']

             lowercase__      			= DebertaVaTokenizer(UpperCamelCase   ,						keep_accents=UpperCamelCase )
             lowercase__      			= DebertaVaTokenizerFast(UpperCamelCase   ,						keep_accents=UpperCamelCase )

             lowercase__      			= tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )
             lowercase__      			= tokenizer.tokenize(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )
             lowercase__      			= tokenizer.convert_ids_to_tokens(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )
             lowercase__      			= rust_tokenizer.tokenize(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             # fmt: off
             lowercase__      			= '''I was born in 92000, and this is falsé.'''
             lowercase__      			= [13, 1, 23, 386, 19, 561, 3050, 15, 17, 48, 25, 8256, 18, 1, 9]
             lowercase__      			= ['''▁''', '''I''', '''▁was''', '''▁born''', '''▁in''', '''▁9''', '''2000''', ''',''', '''▁and''', '''▁this''', '''▁is''', '''▁fal''', '''s''', '''é''', '''.''', ]
             lowercase__      			= ['''▁''', '''<unk>''', '''▁was''', '''▁born''', '''▁in''', '''▁9''', '''2000''', ''',''', '''▁and''', '''▁this''', '''▁is''', '''▁fal''', '''s''', '''<unk>''', '''.''', ]
             # fmt: on

             lowercase__      			= tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )
             lowercase__      			= tokenizer.tokenize(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )
             lowercase__      			= tokenizer.convert_ids_to_tokens(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )

             lowercase__      			= rust_tokenizer.encode(UpperCamelCase   ,						add_special_tokens=UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )
             lowercase__      			= rust_tokenizer.tokenize(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )
             lowercase__      			= rust_tokenizer.convert_ids_to_tokens(UpperCamelCase )
             self.assertListEqual(UpperCamelCase   ,						UpperCamelCase )



      def       UpperCamelCase__		(self    :    int ):

             '''simple docstring'''







             lowercase__      			= DebertaVaTokenizer(UpperCamelCase )

             lowercase__      			= tokenizer.encode('''sequence builders''' )
             lowercase__      			= tokenizer.encode('''multi-sequence build''' )

             lowercase__      			= tokenizer.build_inputs_with_special_tokens(UpperCamelCase )
             lowercase__      			= tokenizer.build_inputs_with_special_tokens(UpperCamelCase   ,						UpperCamelCase )

             self.assertEqual([tokenizer.cls_token_id] + text + [tokenizer.sep_token_id]   ,						UpperCamelCase )
             self.assertEqual(
                 [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id] + text_a + [tokenizer.sep_token_id]   ,						UpperCamelCase   ,						)






      @slow
      def       UpperCamelCase__		(self    :    int ):

             '''simple docstring'''







             lowercase__      			= {'''input_ids''': [[1, 39867, 36, 19390, 486, 27, 35052, 81436, 18, 60685, 1225, 7, 35052, 81436, 18, 9367, 16899, 18, 15937, 53, 594, 773, 18, 16287, 30465, 36, 15937, 6, 41139, 38, 36979, 60763, 191, 6, 34132, 99, 6, 50538, 390, 43230, 6, 34132, 2779, 20850, 14, 699, 1072, 1194, 36, 382, 10901, 53, 7, 699, 1072, 2084, 36, 20422, 630, 53, 19, 105, 3049, 1896, 1053, 16899, 1506, 11, 37978, 4243, 7, 1237, 31869, 200, 16566, 654, 6, 35052, 81436, 7, 55630, 13593, 4, 2], [1, 26, 15011, 13, 667, 8, 1053, 18, 23611, 1237, 72356, 12820, 34, 104134, 1209, 35, 13313, 6627, 21, 202, 347, 7, 164, 2399, 11, 46, 4485, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 5, 1232, 2864, 15785, 14951, 105, 5, 8581, 1250, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], '''token_type_ids''': [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], '''attention_mask''': [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]}  # noqa: E501
             # fmt: on

             self.tokenizer_integration_test_util(
                 expected_encoding=UpperCamelCase   ,						model_name='''microsoft/deberta-v2-xlarge'''   ,						revision='''ad6e42c1532ddf3a15c39246b63f5559d558b670'''   ,						)








'''simple docstring'''

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


lowerCamelCase							:   int  						=	logging.get_logger(__name__)

lowerCamelCase							:   List[Any]  						=	{
    'google/realm-cc-news-pretrained-embedder': (
        'https://huggingface.co/google/realm-cc-news-pretrained-embedder/resolve/main/config.json'
    ),
    'google/realm-cc-news-pretrained-encoder': (
        'https://huggingface.co/google/realm-cc-news-pretrained-encoder/resolve/main/config.json'
    ),
    'google/realm-cc-news-pretrained-scorer': (
        'https://huggingface.co/google/realm-cc-news-pretrained-scorer/resolve/main/config.json'
    ),
    'google/realm-cc-news-pretrained-openqa': (
        'https://huggingface.co/google/realm-cc-news-pretrained-openqa/aresolve/main/config.json'
    ),
    'google/realm-orqa-nq-openqa': 'https://huggingface.co/google/realm-orqa-nq-openqa/resolve/main/config.json',
    'google/realm-orqa-nq-reader': 'https://huggingface.co/google/realm-orqa-nq-reader/resolve/main/config.json',
    'google/realm-orqa-wq-openqa': 'https://huggingface.co/google/realm-orqa-wq-openqa/resolve/main/config.json',
    'google/realm-orqa-wq-reader': 'https://huggingface.co/google/realm-orqa-wq-reader/resolve/main/config.json',
    # See all REALM models at https://huggingface.co/models?filter=realm
}
class   __lowerCAmelCase						(lowercase_     ):





      '''simple docstring'''






      lowerCAmelCase__					:     Optional[int]  					=							"""realm"""



      def __init__(self    :    str   ,						UpperCamelCase    :    List[Any]=30522   ,						UpperCamelCase    :    List[Any]=768   ,						UpperCamelCase    :    int=128   ,						UpperCamelCase    :    Any=12   ,						UpperCamelCase    :    Tuple=12   ,						UpperCamelCase    :    List[Any]=8   ,						UpperCamelCase    :    Union[str, Any]=3072   ,						UpperCamelCase    :    List[str]="gelu_new"   ,						UpperCamelCase    :    Any=0.1   ,						UpperCamelCase    :    List[str]=0.1   ,						UpperCamelCase    :    Dict=512   ,						UpperCamelCase    :    Dict=2   ,						UpperCamelCase    :    List[Any]=0.02   ,						UpperCamelCase    :    List[Any]=1E-12   ,						UpperCamelCase    :    Dict=256   ,						UpperCamelCase    :    Union[str, Any]=10   ,						UpperCamelCase    :    Optional[int]=1E-3   ,						UpperCamelCase    :    Tuple=5   ,						UpperCamelCase    :    Optional[int]=320   ,						UpperCamelCase    :    List[str]=13353718   ,						UpperCamelCase    :    Optional[Any]=5000   ,						UpperCamelCase    :    str=1   ,						UpperCamelCase    :    Union[str, Any]=0   ,						UpperCamelCase    :    List[Any]=2   ,						**UpperCamelCase    :    int   ,						):

             '''simple docstring'''







             super().__init__(pad_token_id=UpperCamelCase   ,						bos_token_id=UpperCamelCase   ,						eos_token_id=UpperCamelCase   ,						**UpperCamelCase )

             # Common config
             lowercase__      			= vocab_size
             lowercase__      			= max_position_embeddings
             lowercase__      			= hidden_size
             lowercase__      			= retriever_proj_size
             lowercase__      			= num_hidden_layers
             lowercase__      			= num_attention_heads
             lowercase__      			= num_candidates
             lowercase__      			= intermediate_size
             lowercase__      			= hidden_act
             lowercase__      			= hidden_dropout_prob
             lowercase__      			= attention_probs_dropout_prob
             lowercase__      			= initializer_range
             lowercase__      			= type_vocab_size
             lowercase__      			= layer_norm_eps

             # Reader config
             lowercase__      			= span_hidden_size
             lowercase__      			= max_span_width
             lowercase__      			= reader_layer_norm_eps
             lowercase__      			= reader_beam_size
             lowercase__      			= reader_seq_len

             # Retrieval config
             lowercase__      			= num_block_records
             lowercase__      			= searcher_beam_size




