




"""simple docstring"""

from __future__ import annotations

from typing import Any





class 							lowercase_			:



 '''simple docstring'''

 def __init__(					self			:			Dict       ,				_UpperCAmelCase			:			int = 6						):
       _A     =  None
       _A     =  None
       self.create_linked_list(_UpperCAmelCase						)

 def      lowerCAmelCase_				(					self			:			Any       ,				_UpperCAmelCase			:			int						):
       _A     =  Node()
       _A     =  current_node
       _A     =  current_node
       _A     =  current_node
       for _ in range(1       ,				_UpperCAmelCase						):
             _A     =  Node()
             _A     =  current_node
             _A     =  previous_node
             _A     =  current_node
       _A     =  self.front
       _A     =  previous_node

 def      lowerCAmelCase_				(					self			:			int						):
       return (
           self.front == self.rear
           and self.front is not None
           and self.front.data is None
       )

 def      lowerCAmelCase_				(					self			:			List[str]						):
       self.check_can_perform_operation()
       return self.front.data if self.front else None

 def      lowerCAmelCase_				(					self			:			List[str]       ,				_UpperCAmelCase			:			Any						):
       if self.rear is None:
             return

       self.check_is_full()
       if not self.is_empty():
             _A     =  self.rear.next
       if self.rear:
             _A     =  data

 def      lowerCAmelCase_				(					self			:			List[Any]						):
       self.check_can_perform_operation()
       if self.rear is None or self.front is None:
             return None
       if self.front == self.rear:
             _A     =  self.front.data
             _A     =  None
             return data

       _A     =  self.front
       _A     =  old_front.next
       _A     =  old_front.data
       _A     =  None
       return data

 def      lowerCAmelCase_				(					self			:			Tuple						):
       if self.is_empty():
             raise Exception('Empty Queue'						)



 def      lowerCAmelCase_				(					self			:			Any						):
       if self.rear and self.rear.next == self.front:
             raise Exception('Full Queue'						)





class 							lowercase_			:



 '''simple docstring'''

 def __init__(					self			:			Union[str, Any]						):
       _A     =  None
       _A     =  None
       _A     =  None


if __name__ == "__main__":
       import doctest

       doctest.testmod()







"""simple docstring"""

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


a							      =     logging.get_logger(__name__)

a							      =     {
    '''bigcode/gpt_bigcode-santacoder''': '''https://huggingface.co/bigcode/gpt_bigcode-santacoder/resolve/main/config.json''',
}





class 							lowercase_			(	__lowerCAmelCase				):



 '''simple docstring'''
 UpperCAmelCase       :	int     =      '''gpt_bigcode'''
 UpperCAmelCase       :	str     =      ['''past_key_values''']
 UpperCAmelCase       :	Dict     =      {
     '''hidden_size''': '''n_embd''',
     '''max_position_embeddings''': '''n_positions''',
     '''num_attention_heads''': '''n_head''',
     '''num_hidden_layers''': '''n_layer''',
 }

 def __init__(					self			:			Tuple       ,				_UpperCAmelCase			:			Dict=50_257       ,				_UpperCAmelCase			:			List[Any]=1_024       ,				_UpperCAmelCase			:			Any=768       ,				_UpperCAmelCase			:			int=12       ,				_UpperCAmelCase			:			Any=12       ,				_UpperCAmelCase			:			Tuple=None       ,				_UpperCAmelCase			:			str="gelu_pytorch_tanh"       ,				_UpperCAmelCase			:			str=0.1       ,				_UpperCAmelCase			:			Optional[Any]=0.1       ,				_UpperCAmelCase			:			Tuple=0.1       ,				_UpperCAmelCase			:			List[Any]=1E-5       ,				_UpperCAmelCase			:			List[Any]=0.02       ,				_UpperCAmelCase			:			Optional[Any]=True       ,				_UpperCAmelCase			:			Dict=True       ,				_UpperCAmelCase			:			List[Any]=50_256       ,				_UpperCAmelCase			:			Dict=50_256       ,				_UpperCAmelCase			:			int=True       ,				_UpperCAmelCase			:			Union[str, Any]=True       ,				_UpperCAmelCase			:			Any=True       ,				**_UpperCAmelCase			:			Any       ,				):
       _A     =  vocab_size
       _A     =  n_positions
       _A     =  n_embd
       _A     =  n_layer
       _A     =  n_head
       _A     =  n_inner
       _A     =  activation_function
       _A     =  resid_pdrop
       _A     =  embd_pdrop
       _A     =  attn_pdrop
       _A     =  layer_norm_epsilon
       _A     =  initializer_range
       _A     =  scale_attn_weights
       _A     =  use_cache
       _A     =  attention_softmax_in_fpaa
       _A     =  scale_attention_softmax_in_fpaa
       _A     =  multi_query

       _A     =  bos_token_id
       _A     =  eos_token_id

       super().__init__(bos_token_id=_UpperCAmelCase       ,				eos_token_id=_UpperCAmelCase       ,				**_UpperCAmelCase						)

