


'''simple docstring'''

from manim import *


class       a__				( __snake_case      ):







				"""simple docstring"""



				def 					lowercase  (self		):
										__lowerCAmelCase							       =				Rectangle(height=0.5       ,			width=0.5		)
										__lowerCAmelCase							       =				Rectangle(height=0.2_5       ,			width=0.2_5		)
										__lowerCAmelCase							       =				Rectangle(height=0.4_6       ,			width=0.4_6		).set_stroke(width=0		)

										__lowerCAmelCase							       =				[mem.copy() for i in range(6		)]
										__lowerCAmelCase							       =				[mem.copy() for i in range(6		)]
										__lowerCAmelCase							       =				VGroup(*_lowercase		).arrange(_lowercase       ,			buff=0		)
										__lowerCAmelCase							       =				VGroup(*_lowercase		).arrange(_lowercase       ,			buff=0		)
										__lowerCAmelCase							       =				VGroup(_lowercase       ,			_lowercase		).arrange(_lowercase       ,			buff=0		)
										__lowerCAmelCase							       =				Text('''CPU'''       ,			font_size=24		)
										__lowerCAmelCase							       =				Group(_lowercase       ,			_lowercase		).arrange(_lowercase       ,			buff=0.5       ,			aligned_edge=_lowercase		)
										cpu.move_to([-2.5, -0.5, 0]		)
										self.add(_lowercase		)

										__lowerCAmelCase							       =				[mem.copy() for i in range(4		)]
										__lowerCAmelCase							       =				VGroup(*_lowercase		).arrange(_lowercase       ,			buff=0		)
										__lowerCAmelCase							       =				Text('''GPU'''       ,			font_size=24		)
										__lowerCAmelCase							       =				Group(_lowercase       ,			_lowercase		).arrange(_lowercase       ,			buff=0.5       ,			aligned_edge=_lowercase		)
										gpu.move_to([-1, -1, 0]		)
										self.add(_lowercase		)

										__lowerCAmelCase							       =				[mem.copy() for i in range(6		)]
										__lowerCAmelCase							       =				VGroup(*_lowercase		).arrange(_lowercase       ,			buff=0		)

										__lowerCAmelCase							       =				Text('''Model'''       ,			font_size=24		)
										__lowerCAmelCase							       =				Group(_lowercase       ,			_lowercase		).arrange(_lowercase       ,			buff=0.5       ,			aligned_edge=_lowercase		)
										model.move_to([3, -1.0, 0]		)
										self.add(_lowercase		)

										__lowerCAmelCase							       =				[]
										__lowerCAmelCase							       =				[]
										__lowerCAmelCase							       =				[]

										for i, rect in enumerate(_lowercase		):
																rect.set_stroke(_lowercase		)

																__lowerCAmelCase							       =				Rectangle(height=0.4_6 / 4       ,			width=0.4_6 / 3		).set_stroke(width=0.0		).set_fill(_lowercase       ,			opacity=0.7		)

																if i == 0:
																						cpu_target.next_to(cpu_left_col_base[0].get_corner(DOWN + LEFT		)       ,			buff=0.0_2       ,			direction=_lowercase		)
																						cpu_target.set_x(cpu_target.get_x() + 0.1		)
																elif i == 3:
																						cpu_target.next_to(model_cpu_arr[0]       ,			direction=_lowercase       ,			buff=0.0		)
																else:
																						cpu_target.next_to(model_cpu_arr[i - 1]       ,			direction=_lowercase       ,			buff=0.0		)
																self.add(_lowercase		)
																model_cpu_arr.append(_lowercase		)

										self.add(*_lowercase       ,			*_lowercase       ,			*_lowercase		)

										__lowerCAmelCase							       =				[mem.copy() for i in range(6		)]
										__lowerCAmelCase							       =				VGroup(*_lowercase		).arrange(_lowercase       ,			buff=0		)

										__lowerCAmelCase							       =				Text('''Loaded Checkpoint'''       ,			font_size=24		)
										__lowerCAmelCase							       =				Group(_lowercase       ,			_lowercase		).arrange(_lowercase       ,			buff=0.5       ,			aligned_edge=_lowercase		)
										checkpoint.move_to([3, 0.5, 0]		)

										self.add(_lowercase		)

										__lowerCAmelCase							       =				[]
										__lowerCAmelCase							       =				[]

										for i, rect in enumerate(_lowercase		):
																__lowerCAmelCase							       =				fill.copy().set_fill(_lowercase       ,			opacity=0.7		)
																target.move_to(_lowercase		)
																ckpt_arr.append(_lowercase		)

																__lowerCAmelCase							       =				target.copy()
																if i < 5:
																						cpu_target.move_to(cpu_left_col_base[i + 1]		)
																else:
																						cpu_target.move_to(cpu_right_col_base[i - 5]		)
																ckpt_cpu_arr.append(_lowercase		)
										self.add(*_lowercase       ,			*_lowercase		)

										__lowerCAmelCase							       =				Square(side_length=2.2		)
										key.move_to([-5, 2, 0]		)

										__lowerCAmelCase							       =				MarkupText(
										    F"""<b>Key:</b>\n\n<span fgcolor=\'{YELLOW}\'>●</span> Empty Model"""       ,			font_size=18       ,			)

										key_text.move_to([-5, 2.4, 0]		)

										self.add(_lowercase       ,			_lowercase		)

										__lowerCAmelCase							       =				MarkupText(
										    F"""<span fgcolor=\'{BLUE}\'>●</span> Checkpoint"""       ,			font_size=18       ,			)

										blue_text.next_to(_lowercase       ,			DOWN * 2.4       ,			aligned_edge=key_text.get_left()		)
										self.add(_lowercase		)

										__lowerCAmelCase							       =				MarkupText(
										    F"""Based on the passed in configuration, weights are stored in\na variety of np.memmaps on disk or to a particular device."""       ,			font_size=24       ,			)
										step_a.move_to([2, 2, 0]		)

										__lowerCAmelCase							       =				[meta_mem.copy() for i in range(6		)]
										__lowerCAmelCase							       =				[meta_mem.copy() for i in range(6		)]
										__lowerCAmelCase							       =				VGroup(*_lowercase		).arrange(_lowercase       ,			buff=0		)
										__lowerCAmelCase							       =				VGroup(*_lowercase		).arrange(_lowercase       ,			buff=0		)
										__lowerCAmelCase							       =				VGroup(_lowercase       ,			_lowercase		).arrange(_lowercase       ,			buff=0		)
										__lowerCAmelCase							       =				Text('''Disk'''       ,			font_size=24		)
										__lowerCAmelCase							       =				Group(_lowercase       ,			_lowercase		).arrange(_lowercase       ,			buff=0.5       ,			aligned_edge=_lowercase		)
										disk.move_to([-4.0, -1.2_5, 0]		)
										self.play(Write(_lowercase       ,			run_time=3		)       ,			Write(_lowercase       ,			run_time=1		)       ,			Create(_lowercase       ,			run_time=1		)		)

										__lowerCAmelCase							       =				[]
										for i, rect in enumerate(_lowercase		):
																__lowerCAmelCase							       =				rect.copy()
																target.generate_target()
																target.target.move_to(disk_left_col_base[i]		).scale(0.5		)
																animations.append(MoveToTarget(_lowercase       ,			run_time=1.5		)		)
										self.play(*_lowercase		)

										self.play(FadeOut(_lowercase		)		)

										__lowerCAmelCase							       =				MarkupText(F"""Then, the checkpoint is removed from memory\nthrough garbage collection."""       ,			font_size=24		)
										step_a.move_to([2, 2, 0]		)

										self.play(Write(_lowercase       ,			run_time=3		)		)

										self.play(
										    FadeOut(_lowercase       ,			_lowercase       ,			*_lowercase       ,			*_lowercase		)       ,			)

										self.wait()





'''simple docstring'''

from __future__ import annotations

def 							__magic_name__(						lowerCamelCase,				lowerCamelCase):
						__lowerCAmelCase							       =				sorted(numsa + numsa)
						__lowerCAmelCase       ,					__lowerCAmelCase							       =				divmod(len(lowerCamelCase),				2)
						if mod == 1:
												return all_numbers[div]
						else:
												return (all_numbers[div] + all_numbers[div - 1]) / 2


if __name__ == "__main__":
	import doctest

	doctest.testmod()
	_UpperCAmelCase				: Union[str, Any]							    =				[float(x) for x in input("""Enter the elements of first array: """).split()]
	_UpperCAmelCase				: int							    =				[float(x) for x in input("""Enter the elements of second array: """).split()]
	print(f"""The median of two arrays is: {median_of_two_arrays(array_a, array_a)}""")

