+
    œÛæhÉ
  ã                   óZ   € R t ^ RIt^ RIt^ RIt^ RIHt R	R R lltR	R R lltR R ltR# )
a+  Simple module to generate PKCE code verifier and code challenge.

Examples
--------
>>> import pkce
>>> code_verifier, code_challenge = pkce.generate_pkce_pair()

>>> import pkce
>>> code_verifier = pkce.generate_code_verifier(length=128)
>>> code_challenge = pkce.get_code_challenge(code_verifier)
N)ÚTuplec                ó0   € V ^8„  d   QhR\         R\        /# )é   ÚlengthÚreturn)ÚintÚstr)Úformats   "Ú-lib/python3.14/site-packages/pkce/__init__.pyÚ__annotate__r      s   € ÷ ñ ¤3ð ´ñ ó    c                ót   € ^+T u;8:  d   ^€8:  g   M Rp\        V4      h\        P                  ! ^`4      RV  pV# )a  Return a random PKCE-compliant code verifier.

Parameters
----------
length : int
    Code verifier length. Must verify `43 <= length <= 128`.

Returns
-------
code_verifier : str
    Code verifier.

Raises
------
ValueError
    When `43 <= length <= 128` is not verified.
z5Parameter `length` must verify `43 <= length <= 128`.N)Ú
ValueErrorÚsecretsÚtoken_urlsafe)r   ÚmsgÚcode_verifiers   &  r
   Úgenerate_code_verifierr      s=   € ð$ Ö˜3ÖØEˆÜ˜‹oÐÜ×)Ò)¨"Ó-¨g¨vÐ6€MØÐr   c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# )r   Úcode_verifier_lengthr   )r   r   r   )r	   s   "r
   r   r   ,   s"   € ÷ )ñ )¬Sð )¼5ÄÄcÀ½?ñ )r   c                ó‚   € ^+T u;8:  d   ^€8:  g   M RpVR,          p\        V4      h\        V 4      p\        V4      pW#3# )aR  Return random PKCE-compliant code verifier and code challenge.

Parameters
----------
code_verifier_length : int
    Code verifier length. Must verify
    `43 <= code_verifier_length <= 128`.

Returns
-------
code_verifier : str
code_challenge : str

Raises
------
ValueError
    When `43 <= code_verifier_length <= 128` is not verified.
z-Parameter `code_verifier_length` must verify z$`43 <= code_verifier_length <= 128`.)r   r   Úget_code_challenge)r   r   r   Úcode_challenges   &   r
   Úgenerate_pkce_pairr   ,   sJ   € ð& Ð%Ö,¨Ö,Ø=ˆØÐ5Õ5ˆÜ˜‹oÐÜ*Ð+?Ó@€MÜ'¨Ó6€NØÐ(Ð(r   c                ó0   € V ^8„  d   QhR\         R\         /# )r   r   r   )r   )r	   s   "r
   r   r   H   s   € ÷ ñ ¤cð ¬cñ r   c                ó   € ^+\        V 4      u;8:  d   ^€8:  g   M RpVR,          p\        V4      h\        P                  ! V P	                  R4      4      P                  4       p\        P                  ! V4      pVP                  R4      RR pV# )ah  Return the PKCE-compliant code challenge for a given verifier.

Parameters
----------
code_verifier : str
    Code verifier. Must verify `43 <= len(code_verifier) <= 128`.

Returns
-------
code_challenge : str
    Code challenge that corresponds to the input code verifier.

Raises
------
ValueError
    When `43 <= len(code_verifier) <= 128` is not verified.
z&Parameter `code_verifier` must verify z"`43 <= len(code_verifier) <= 128`.ÚasciiNéÿÿÿÿ)	Úlenr   ÚhashlibÚsha256ÚencodeÚdigestÚbase64Úurlsafe_b64encodeÚdecode)r   r   ÚhashedÚencodedr   s   &    r
   r   r   H   s}   € ð$ ”]Ó#Ö* sÖ*Ø6ˆØÐ3Õ3ˆÜ˜‹oÐÜ^Š^˜M×0Ñ0°Ó9Ó:×AÑAÓC€FÜ×&Ò& vÓ.€GØ—^‘^ GÓ,¨S¨bÐ1€NØÐr   )é€   )	Ú__doc__r   r   r#   Útypingr   r   r   r   © r   r
   Ú<module>r,      s'   ðñ
ó Û Û Ý ÷÷2)÷8r   