
'''simple docstring'''



from __future__ import annotations

from queue import Queue

class 				_a			:






       def __init__(							self )      ->     None:
          _SCREAMING_SNAKE_CASE       	=			{}






       def     UpperCamelCase			(							self )      ->     None:
          for i in self.vertices:
             print(A__    ,							""" : """    ,							""" -> """.join([str(A__ ) for j in self.vertices[i]] ) )






       def     UpperCamelCase			(							self    ,							A__    ,							A__ )      ->     None:
          if from_vertex in self.vertices:
             self.vertices[from_vertex].append(A__ )
          else:
             _SCREAMING_SNAKE_CASE       	=			[to_vertex]






       def     UpperCamelCase			(							self    ,							A__ )      ->     set[int]:
          _SCREAMING_SNAKE_CASE       	=			set()

          # create a first in first out queue to store all the vertices for BFS
          _SCREAMING_SNAKE_CASE       	=			Queue()

          # mark the source node as visited and enqueue it
          visited.add(A__ )
          queue.put(A__ )

          while not queue.empty():
             _SCREAMING_SNAKE_CASE       	=			queue.get()

             # loop through all adjacent vertex and enqueue it if not yet visited
             for adjacent_vertex in self.vertices[vertex]:
                if adjacent_vertex not in visited:
                   queue.put(A__ )
                   visited.add(A__ )
          return visited


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

     testmod(verbose=True)

     UpperCamelCase__ :						Any    							=					Graph()
     g.add_edge(0, 1)
     g.add_edge(0, 2)
     g.add_edge(1, 2)
     g.add_edge(2, 0)
     g.add_edge(2, 3)
     g.add_edge(3, 3)

     g.print_graph()
     # 0  :  1 -> 2
     # 1  :  2
     # 2  :  0 -> 3
     # 3  :  3

     assert sorted(g.bfs(2)) == [0, 1, 2, 3]








'''simple docstring'''



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


UpperCamelCase__ :						int    							=					logging.get_logger(__name__)

UpperCamelCase__ :						Any    							=					{
    "openbmb/cpm-ant-10b": "https://huggingface.co/openbmb/cpm-ant-10b/blob/main/config.json"
    # See all CPMAnt models at https://huggingface.co/models?filter=cpmant
}

class 				_a			(_lowerCamelCase):





       """simple docstring"""




       SCREAMING_SNAKE_CASE =					'cpmant'






       def __init__(							self    ,							A__ = 3_07_20    ,							A__ = 40_96    ,							A__ = 32    ,							A__ = 1_28    ,							A__ = 1_02_40    ,							A__ = 48    ,							A__ = 0.0    ,							A__ = 5_12    ,							A__ = 20_48    ,							A__ = 1E-6    ,							A__ = 1.0    ,							A__ = 32    ,							A__ = 32    ,							A__ = 32    ,							A__ = True    ,							**A__    ,							)      ->     List[Any]:
          super().__init__(**A__ )
          _SCREAMING_SNAKE_CASE       	=			prompt_types
          _SCREAMING_SNAKE_CASE       	=			prompt_length
          _SCREAMING_SNAKE_CASE       	=			segment_types
          _SCREAMING_SNAKE_CASE       	=			hidden_size
          _SCREAMING_SNAKE_CASE       	=			num_attention_heads
          _SCREAMING_SNAKE_CASE       	=			dim_head
          _SCREAMING_SNAKE_CASE       	=			dim_ff
          _SCREAMING_SNAKE_CASE       	=			num_hidden_layers
          _SCREAMING_SNAKE_CASE       	=			position_bias_num_buckets
          _SCREAMING_SNAKE_CASE       	=			position_bias_max_distance
          _SCREAMING_SNAKE_CASE       	=			dropout_p
          _SCREAMING_SNAKE_CASE       	=			eps
          _SCREAMING_SNAKE_CASE       	=			use_cache
          _SCREAMING_SNAKE_CASE       	=			vocab_size
          _SCREAMING_SNAKE_CASE       	=			init_std






