


"""simple docstring"""







def        UpperCAmelCase__	(lowerCAmelCase_       ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE						       =    set()
					# edges = list of graph's edges
					__SCREAMING_SNAKE_CASE						       =    get_edges(_A       )

					# While there are still elements in edges list, take an arbitrary edge
					# (from_node, to_node) and add his extremity to chosen_vertices and then
					# remove all arcs adjacent to the from_node and to_node
					while edges:
										__SCREAMING_SNAKE_CASE						       =    edges.pop()
										chosen_vertices.add(_A       )
										chosen_vertices.add(_A       )
										for edge in edges.copy():
															if from_node in edge or to_node in edge:
																				edges.discard(_A       )
					return chosen_vertices




def        UpperCAmelCase__	(lowerCAmelCase_       ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE						       =    set()
					for from_node, to_nodes in graph.items():
										for to_node in to_nodes:
															edges.add((from_node, to_node)       )
					return edges


if __name__ == "__main__":
		import doctest

		doctest.testmod()

		# graph = {0: [1, 3], 1: [0, 3], 2: [0, 3, 4], 3: [0, 1, 2], 4: [2, 3]}
		# print(f"Matching vertex cover:\n{matching_min_vertex_cover(graph)}")




"""simple docstring"""







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


a__    :							int            =					logging.get_logger(__name__)

a__    :							Tuple            =					{'''ctrl''': '''https://huggingface.co/ctrl/resolve/main/config.json'''}




class 			UpperCamelCase_     (			UpperCamelCase):

	"""simple docstring"""





	snake_case__    :  Dict    =      "ctrl"
	snake_case__    :  int    =      ["past_key_values"]
	snake_case__    :  Tuple    =      {
	    "max_position_embeddings": "n_positions",
	    "hidden_size": "n_embd",
	    "num_attention_heads": "n_head",
	    "num_hidden_layers": "n_layer",
	}




	def __init__(			self      :    List[Any]      ,      UpperCAmelCase__      :    Any=2_4_6_5_3_4      ,      UpperCAmelCase__      :    List[Any]=2_5_6      ,      UpperCAmelCase__      :    Optional[int]=1_2_8_0      ,      UpperCAmelCase__      :    Optional[Any]=8_1_9_2      ,      UpperCAmelCase__      :    int=4_8      ,      UpperCAmelCase__      :    Optional[int]=1_6      ,      UpperCAmelCase__      :    Tuple=0.1      ,      UpperCAmelCase__      :    Optional[Any]=0.1      ,      UpperCAmelCase__      :    Any=1E-6      ,      UpperCAmelCase__      :    List[str]=0.02      ,      UpperCAmelCase__      :    Union[str, Any]=True      ,      **UpperCAmelCase__      :    Tuple      ,      )	->     str:
						__SCREAMING_SNAKE_CASE						       =    vocab_size
						__SCREAMING_SNAKE_CASE						       =    n_positions
						__SCREAMING_SNAKE_CASE						       =    n_embd
						__SCREAMING_SNAKE_CASE						       =    n_layer
						__SCREAMING_SNAKE_CASE						       =    n_head
						__SCREAMING_SNAKE_CASE						       =    dff
						__SCREAMING_SNAKE_CASE						       =    resid_pdrop
						__SCREAMING_SNAKE_CASE						       =    embd_pdrop
						__SCREAMING_SNAKE_CASE						       =    layer_norm_epsilon
						__SCREAMING_SNAKE_CASE						       =    initializer_range

						__SCREAMING_SNAKE_CASE						       =    use_cache

						super().__init__(**UpperCAmelCase__       )
