





import gc
import tempfile
import unittest

import numpy as np
import torch

from diffusers import VersatileDiffusionDualGuidedPipeline
from diffusers.utils.testing_utils import load_image, nightly, require_torch_gpu, torch_device


_UpperCAmelCase										=					False



@nightly
@require_torch_gpu
class 				_UpperCamelCase       (						unittest.TestCase  ):

       def lowercase			(		self:			Dict		)							->			List[Any]:




              """simple docstring"""


              super().tearDown()
              gc.collect()
              torch.cuda.empty_cache()

       def lowercase			(		self:			int		)							->			Optional[Any]:




              """simple docstring"""


              UpperCamelCase_ 							=	VersatileDiffusionDualGuidedPipeline.from_pretrained("shi-labs/versatile-diffusion"		)
              # remove text_unet
              pipe.remove_unused_weights()
              pipe.to(_SCREAMING_SNAKE_CASE		)
              pipe.set_progress_bar_config(disable=_SCREAMING_SNAKE_CASE		)

              UpperCamelCase_ 							=	load_image(
                  "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/versatile_diffusion/benz.jpg"		)

              UpperCamelCase_ 							=	torch.manual_seed(0		)
              UpperCamelCase_ 							=	pipe(
                  prompt="first prompt"       , image=_SCREAMING_SNAKE_CASE       , text_to_image_strength=0.75       , generator=_SCREAMING_SNAKE_CASE       , guidance_scale=7.5       , num_inference_steps=2       , output_type="numpy"       , ).images

              with tempfile.TemporaryDirectory() as tmpdirname:
                     pipe.save_pretrained(_SCREAMING_SNAKE_CASE		)
                     UpperCamelCase_ 							=	VersatileDiffusionDualGuidedPipeline.from_pretrained(_SCREAMING_SNAKE_CASE		)

              pipe.to(_SCREAMING_SNAKE_CASE		)
              pipe.set_progress_bar_config(disable=_SCREAMING_SNAKE_CASE		)

              UpperCamelCase_ 							=	generator.manual_seed(0		)
              UpperCamelCase_ 							=	pipe(
                  prompt="first prompt"       , image=_SCREAMING_SNAKE_CASE       , text_to_image_strength=0.75       , generator=_SCREAMING_SNAKE_CASE       , guidance_scale=7.5       , num_inference_steps=2       , output_type="numpy"       , ).images

              assert np.abs(image - new_image		).sum() < 1e-5, "Models don't have the same forward pass"



       def lowercase			(		self:			Tuple		)							->			List[str]:




              """simple docstring"""


              UpperCamelCase_ 							=	VersatileDiffusionDualGuidedPipeline.from_pretrained("shi-labs/versatile-diffusion"		)
              pipe.remove_unused_weights()
              pipe.to(_SCREAMING_SNAKE_CASE		)
              pipe.set_progress_bar_config(disable=_SCREAMING_SNAKE_CASE		)

              UpperCamelCase_ 							=	"cyberpunk 2077"
              UpperCamelCase_ 							=	load_image(
                  "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/versatile_diffusion/benz.jpg"		)
              UpperCamelCase_ 							=	torch.manual_seed(0		)
              UpperCamelCase_ 							=	pipe(
                  prompt=_SCREAMING_SNAKE_CASE       , image=_SCREAMING_SNAKE_CASE       , text_to_image_strength=0.75       , generator=_SCREAMING_SNAKE_CASE       , guidance_scale=7.5       , num_inference_steps=50       , output_type="numpy"       , ).images

              UpperCamelCase_ 							=	image[0, 253:256, 253:256, -1]

              assert image.shape == (1, 512, 512, 3)
              UpperCamelCase_ 							=	np.array([0.07_87, 0.08_49, 0.08_26, 0.08_12, 0.08_07, 0.07_95, 0.08_18, 0.07_98, 0.07_79]		)

              assert np.abs(image_slice.flatten() - expected_slice		).max() < 1e-2








from __future__ import annotations




def 			lowerCAmelCase_			(				UpperCamelCase_	)  ->		int | None:
       for r in range(1       ,		UpperCamelCase_	):
              UpperCamelCase_ 							=	[]
              for x in range(n - 1	):
                     UpperCamelCase_ 							=	pow(UpperCamelCase_       ,		UpperCamelCase_       ,		UpperCamelCase_	)
                     if val in li:
                            break
                     li.append(UpperCamelCase_	)
              else:
                     return r
       return None


if __name__ == "__main__":
     _UpperCAmelCase										=					int(input('Enter a prime number q: '))
     _UpperCAmelCase										=					find_primitive(q)
     if a is None:
          print(f'''Cannot find the primitive for the value: {a!r}''')
     else:
          _UpperCAmelCase										=					int(input('Enter private key of A: '))
          _UpperCAmelCase										=					pow(a, a_private, q)
          _UpperCAmelCase										=					int(input('Enter private key of B: '))
          _UpperCAmelCase										=					pow(a, b_private, q)

          _UpperCAmelCase										=					pow(b_public, a_private, q)
          _UpperCAmelCase										=					pow(a_public, b_private, q)

          print('The key value generated by A is: ', a_secret)
          print('The key value generated by B is: ', b_secret)

