





snake_case__   :				Optional[int]						=	{
    '0000': '0',
    '0001': '1',
    '0010': '2',
    '0011': '3',
    '0100': '4',
    '0101': '5',
    '0110': '6',
    '0111': '7',
    '1000': '8',
    '1001': '9',
    '1010': 'a',
    '1011': 'b',
    '1100': 'c',
    '1101': 'd',
    '1110': 'e',
    '1111': 'f',
}



def _a							(      lowerCamelCase:  str					)      ->		str:







      '''simple docstring'''






      __A			  =							str(lowerCamelCase					).strip()

      # Exceptions
      if not binary_str:
            raise ValueError('''Empty string was passed to the function'''					)
      __A			  =							binary_str[0] == '''-'''
      __A			  =							binary_str[1:] if is_negative else binary_str
      if not all(char in '''01''' for char in binary_str					):
            raise ValueError('''Non-binary value was passed to the function'''					)

      __A			  =							(
          '''0''' * (4 * (divmod(len(lowerCamelCase					)   ,							4					)[0] + 1) - len(lowerCamelCase					)) + binary_str
      )

      __A			  =							[]
      for x in range(0   ,							len(lowerCamelCase					)   ,							4					):
            hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]					)
      __A			  =							'''0x''' + ''''''.join(lowerCamelCase					)

      return "-" + hexadecimal_str if is_negative else hexadecimal_str


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

       testmod()












def _a							(      lowerCamelCase:  list					)      ->		list:







      '''simple docstring'''






      __A			  =							len(lowerCamelCase					)
      for cycle_start in range(0   ,							array_len - 1					):
            __A			  =							array[cycle_start]

            __A			  =							cycle_start
            for i in range(cycle_start + 1   ,							lowerCamelCase					):
                  if array[i] < item:
                        pos += 1

            if pos == cycle_start:
                  continue

            while item == array[pos]:
                  pos += 1

            __A  ,		__A			  =							item, array[pos]
            while pos != cycle_start:
                  __A			  =							cycle_start
                  for i in range(cycle_start + 1   ,							lowerCamelCase					):
                        if array[i] < item:
                              pos += 1

                  while item == array[pos]:
                        pos += 1

                  __A  ,		__A			  =							item, array[pos]

      return array


if __name__ == "__main__":
       assert cycle_sort([4, 5, 3, 2, 1]) == [1, 2, 3, 4, 5]
       assert cycle_sort([0, 1, -10, 15, 2, -2]) == [-10, -2, 0, 1, 2, 15]





