code: 
  
  
  '''simple docstring'''
  
  
  
  
  import random
  import shutil
  import tempfile
  import unittest
  
  import numpy as np
  
  from transformers import TaTokenizer, TaTokenizerFast
  from transformers.testing_utils import require_sentencepiece, require_torch
  from transformers.utils.import_utils import is_speech_available, is_torch_available
  
  
  if is_torch_available():
  				pass
  
  if is_speech_available():
  				from transformers import EncodecFeatureExtractor, MusicgenProcessor
  
  
  __lowercase  :      int      		=						random.Random()
  
  
  
  
  
  def 							a_       (						lowercase							,						lowercase=1.0							,						lowercase=None							,						lowercase=None    )			->int:
  
  
  
  
  
  
  				'''simple docstring'''
  
  				if rng is None:
  								__lowerCamelCase		:      Union[str, Any]											=					global_rng
  
  				__lowerCamelCase		:      Dict											=					[]
  				for batch_idx in range(shape[0]    ):
  								values.append([]    )
  								for _ in range(shape[1]    ):
  												values[-1].append(rng.random() * scale    )
  
  				return values
  
  
  
  
  
  @require_torch
  @require_sentencepiece
  class _snake_case   ( unittest.TestCase   ):
  							"""simple docstring"""
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->Dict:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											__lowerCamelCase		:      Any											=					"facebook/musicgen-small"
  											__lowerCamelCase		:      Any											=					tempfile.mkdtemp()
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self			,				**__A	)     ->Optional[int]:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											return TaTokenizer.from_pretrained(self.checkpoint			,				**lowerCAmelCase__	)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self			,				**__A	)     ->str:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											return EncodecFeatureExtractor.from_pretrained(self.checkpoint			,				**lowerCAmelCase__	)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->List[str]:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											shutil.rmtree(self.tmpdirname	)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->List[str]:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											__lowerCamelCase		:      List[Any]											=					self.get_tokenizer()
  											__lowerCamelCase		:      str											=					self.get_feature_extractor()
  
  											__lowerCamelCase		:      Optional[Any]											=					MusicgenProcessor(tokenizer=lowerCAmelCase__			,				feature_extractor=lowerCAmelCase__	)
  
  											processor.save_pretrained(self.tmpdirname	)
  											__lowerCamelCase		:      List[str]											=					MusicgenProcessor.from_pretrained(self.tmpdirname	)
  
  											self.assertEqual(processor.tokenizer.get_vocab()			,				tokenizer.get_vocab()	)
  											self.assertIsInstance(processor.tokenizer			,				lowerCAmelCase__	)
  
  											self.assertEqual(processor.feature_extractor.to_json_string()			,				feature_extractor.to_json_string()	)
  											self.assertIsInstance(processor.feature_extractor			,				lowerCAmelCase__	)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->Optional[int]:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											__lowerCamelCase		:      List[Any]											=					MusicgenProcessor(tokenizer=self.get_tokenizer()			,				feature_extractor=self.get_feature_extractor()	)
  											processor.save_pretrained(self.tmpdirname	)
  
  											__lowerCamelCase		:      Optional[Any]											=					self.get_tokenizer(bos_token="(BOS)"			,				eos_token="(EOS)"	)
  											__lowerCamelCase		:      Union[str, Any]											=					self.get_feature_extractor(do_normalize=lowerCAmelCase__			,				padding_value=1.0	)
  
  											__lowerCamelCase		:      str											=					MusicgenProcessor.from_pretrained(
  											    self.tmpdirname			,				bos_token="(BOS)"			,				eos_token="(EOS)"			,				do_normalize=lowerCAmelCase__			,				padding_value=1.0	)
  
  											self.assertEqual(processor.tokenizer.get_vocab()			,				tokenizer_add_kwargs.get_vocab()	)
  											self.assertIsInstance(processor.tokenizer			,				lowerCAmelCase__	)
  
  											self.assertEqual(processor.feature_extractor.to_json_string()			,				feature_extractor_add_kwargs.to_json_string()	)
  											self.assertIsInstance(processor.feature_extractor			,				lowerCAmelCase__	)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->Dict:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											__lowerCamelCase		:      Tuple											=					self.get_feature_extractor()
  											__lowerCamelCase		:      Optional[int]											=					self.get_tokenizer()
  
  											__lowerCamelCase		:      str											=					MusicgenProcessor(tokenizer=lowerCAmelCase__			,				feature_extractor=lowerCAmelCase__	)
  
  											__lowerCamelCase		:      int											=					floats_list((3, 1000)	)
  
  											__lowerCamelCase		:      List[Any]											=					feature_extractor(lowerCAmelCase__			,				return_tensors="np"	)
  											__lowerCamelCase		:      Union[str, Any]											=					processor(lowerCAmelCase__			,				return_tensors="np"	)
  
  											for key in input_feat_extract.keys():
  															self.assertAlmostEqual(input_feat_extract[key].sum()			,				input_processor[key].sum()			,				delta=1E-2	)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->Dict:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											__lowerCamelCase		:      Any											=					self.get_feature_extractor()
  											__lowerCamelCase		:      Dict											=					self.get_tokenizer()
  
  											__lowerCamelCase		:      Optional[int]											=					MusicgenProcessor(tokenizer=lowerCAmelCase__			,				feature_extractor=lowerCAmelCase__	)
  
  											__lowerCamelCase		:      Any											=					"This is a test string"
  
  											__lowerCamelCase		:      Optional[int]											=					processor(text=lowerCAmelCase__	)
  
  											__lowerCamelCase		:      int											=					tokenizer(lowerCAmelCase__	)
  
  											for key in encoded_tok.keys():
  															self.assertListEqual(encoded_tok[key]			,				encoded_processor[key]	)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->int:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											__lowerCamelCase		:      Optional[Any]											=					self.get_feature_extractor()
  											__lowerCamelCase		:      Any											=					self.get_tokenizer()
  
  											__lowerCamelCase		:      Tuple											=					MusicgenProcessor(tokenizer=lowerCAmelCase__			,				feature_extractor=lowerCAmelCase__	)
  
  											__lowerCamelCase		:      List[Any]											=					[[1, 4, 5, 8, 1, 0, 8], [3, 4, 3, 1, 1, 8, 9]]
  
  											__lowerCamelCase		:      Dict											=					processor.batch_decode(sequences=lowerCAmelCase__	)
  											__lowerCamelCase		:      Any											=					tokenizer.batch_decode(lowerCAmelCase__	)
  
  											self.assertListEqual(lowerCAmelCase__			,				lowerCAmelCase__	)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->Union[str, Any]:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											__lowerCamelCase		:      Any											=					self.get_feature_extractor()
  											__lowerCamelCase		:      List[str]											=					self.get_tokenizer()
  
  											__lowerCamelCase		:      List[str]											=					MusicgenProcessor(tokenizer=lowerCAmelCase__			,				feature_extractor=lowerCAmelCase__	)
  
  											self.assertListEqual(
  											    processor.model_input_names			,				feature_extractor.model_input_names			,				msg="`processor` and `feature_extractor` model input names do not match"			,				)
  
  
  
  
  
  
  
  							def 		__SCREAMING_SNAKE_CASE(   self	)     ->str:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											__lowerCamelCase		:      Dict											=					self.get_feature_extractor(padding_side="left"	)
  											__lowerCamelCase		:      Any											=					self.get_tokenizer()
  
  											__lowerCamelCase		:      List[str]											=					MusicgenProcessor(tokenizer=lowerCAmelCase__			,				feature_extractor=lowerCAmelCase__	)
  
  											__lowerCamelCase		:      List[str]											=					[floats_list((1, x)	)[0] for x in range(5			,				20			,				5	)]
  											__lowerCamelCase		:      List[Any]											=					processor(lowerCAmelCase__	).padding_mask
  
  											__lowerCamelCase		:      Optional[int]											=					np.asarray(floats_list((3, 20)	)	)[:, None, :]
  											__lowerCamelCase		:      Union[str, Any]											=					processor.batch_decode(lowerCAmelCase__			,				padding_mask=lowerCAmelCase__	)
  
  											self.assertIsInstance(lowerCAmelCase__			,				lowerCAmelCase__	)
  
  											for audio in decoded_audios:
  															self.assertIsInstance(lowerCAmelCase__			,				np.ndarray	)
  
  											self.assertTrue(decoded_audios[0].shape == (1, 10)	)
  											self.assertTrue(decoded_audios[1].shape == (1, 15)	)
  											self.assertTrue(decoded_audios[2].shape == (1, 20)	)
  
  
  
  
  
  
style_context: 
  
  
  '''simple docstring'''
  
  
  
  
  from __future__ import annotations
  
  from collections import deque
  from enum import Enum
  from math import atana, degrees
  from sys import maxsize
  
  
  
  
  
  class _snake_case   ( a__   ):
  							"""simple docstring"""
  
  
  
  
  
  							__a												=     1
  							__a												=     2
  							__a												=     3
  
  
  
  
  
  
  
  							def __repr__(   self	)     ->Tuple:
  
  
  
  											"""simple docstring"""
  
  
  
  
  
  
  
  											return f'{self.__class__.__name__}.{self.name}'
  
  
  
  
  
  def 							a_       (						lowercase							,						lowercase							,						lowercase    )			->float:
  
  
  
  
  
  
  				'''simple docstring'''
  
  				__lowerCamelCase						,					__lowerCamelCase		:      str											=					point
  				return degrees(atana(y - miny							,						x - minx    )    )
  
  
  
  
  
  def 							a_       (						lowercase							,						lowercase							,						lowercase    )			->Direction:
  
  
  
  
  
  
  				'''simple docstring'''
  
  				__lowerCamelCase						,					__lowerCamelCase		:      List[str]											=					starting
  				__lowerCamelCase						,					__lowerCamelCase		:      Any											=					via
  				__lowerCamelCase						,					__lowerCamelCase		:      str											=					target
  				__lowerCamelCase		:      str											=					degrees(atana(ya - ya							,						xa - xa    )    )
  				via_angle %= 360
  				__lowerCamelCase		:      List[Any]											=					degrees(atana(ya - ya							,						xa - xa    )    )
  				target_angle %= 360
  				# t-
  				#  \ \
  				#   \ v
  				#    \|
  				#     s
  				# via_angle is always lower than target_angle, if direction is left.
  				# If they are same, it means they are on a same line of convex hull.
  				if target_angle > via_angle:
  								return Direction.left
  				elif target_angle == via_angle:
  								return Direction.straight
  				else:
  								return Direction.right
  
  
  
  
  
  def 							a_       (						lowercase    )			->list[tuple[int, int]]:
  
  
  
  
  
  
  				'''simple docstring'''
  
  				if len(lowercase    ) <= 2:
  								# There is no convex hull
  								raise ValueError("graham_scan: argument must contain more than 3 points."    )
  				if len(lowercase    ) == 3:
  								return points
  				# find the lowest and the most left point
  				__lowerCamelCase		:      Optional[Any]											=					0
  				__lowerCamelCase						,					__lowerCamelCase		:      List[Any]											=					maxsize, maxsize
  				for i, point in enumerate(lowercase    ):
  								__lowerCamelCase		:      Dict											=					point[0]
  								__lowerCamelCase		:      Optional[int]											=					point[1]
  								if y < miny:
  												__lowerCamelCase		:      Dict											=					y
  												__lowerCamelCase		:      int											=					x
  												__lowerCamelCase		:      List[Any]											=					i
  								if y == miny and x < minx:
  												__lowerCamelCase		:      Optional[int]											=					x
  												__lowerCamelCase		:      Any											=					i
  
      # remove the lowest and the most left point from points for preparing for sort
  				points.pop(lowercase    )
  
  				__lowerCamelCase		:      Optional[Any]											=					sorted(lowercase							,						key=lambda lowercase    : angle_comparer(lowercase							,						lowercase							,						lowercase    )    )
  				# This insert actually costs complexity,
  				# and you should instead add (minx, miny) into stack later.
  				# I'm using insert just for easy understanding.
  				sorted_points.insert(0							,						(minx, miny)    )
  
  				__lowerCamelCase		:      deque[tuple[int, int]]											=					deque()
  				stack.append(sorted_points[0]    )
  				stack.append(sorted_points[1]    )
  				stack.append(sorted_points[2]    )
  				# In any ways, the first 3 points line are towards left.
  				# Because we sort them the angle from minx, miny.
  				__lowerCamelCase		:      str											=					Direction.left
  
  				for i in range(3							,						len(lowercase    )    ):
  								while True:
  												__lowerCamelCase		:      List[Any]											=					stack[-2]
  												__lowerCamelCase		:      str											=					stack[-1]
  												__lowerCamelCase		:      int											=					sorted_points[i]
  												__lowerCamelCase		:      List[Any]											=					check_direction(lowercase							,						lowercase							,						lowercase    )
  
  												if next_direction == Direction.left:
  																__lowerCamelCase		:      Optional[int]											=					Direction.left
  																break
  												if next_direction == Direction.straight:
  																if current_direction == Direction.left:
  																				# We keep current_direction as left.
  																				# Because if the straight line keeps as straight,
  																				# we want to know if this straight line is towards left.
  																				break
  																elif current_direction == Direction.right:
  																				# If the straight line is towards right,
  																				# every previous points on those straigh line is not convex hull.
  																				stack.pop()
  												if next_direction == Direction.right:
  																stack.pop()
  								stack.append(sorted_points[i]    )
  				return list(lowercase    )
  
  
  
  
  
  