
    2Bf              	       x   d dl Z d dlZd dlZd dlZddlmZ ej                  ee	f   Z
	 dde
dedede	fdZd	e
de	fd
Zd	e
de	fdZej                   ej                   dj!                  d      Z ej$                  d      Zej(                  Z ej,                  dej.                        Zdede	fdZde	defdZy)    N   )BadDatasencodingerrorsreturnc                 J    t        | t              r| j                  ||      } | S )N)
isinstancestrencode)r   r   r   s      U/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/itsdangerous/encoding.py
want_bytesr      s#     !SHHXv&H    stringc                 `    t        |       } t        j                  |       j                  d      S )z^Base64 encode a string of bytes or text. The resulting bytes are
    safe to use in URLs.
       =)r   base64urlsafe_b64encoderstripr   s    r   base64_encoder      s*     F##F+22488r   c                     t        | dd      } | dt        |        dz  z  z  } 	 t        j                  |       S # t        t
        f$ r t        d      w xY w)zOBase64 decode a URL-safe string of bytes or text. The result is
    bytes.
    asciiignore)r   r   r      zInvalid base64-encoded data)r   lenr   urlsafe_b64decode	TypeError
ValueErrorr   r   s    r   base64_decoder       sb     BF
ds6{lQ&''F5''//z" 53445s	   : Az-_=r   z>Qz#_t.Callable[[bytes], _t.Tuple[int]]numc                 6    t        |       j                  d      S )N    )_int_to_byteslstrip)r!   s    r   int_to_bytesr&   1   s    $$W--r   bytestrc                 >    t        | j                  dd            d   S )N   r#   r   )_bytes_to_intrjust)r'   s    r   bytes_to_intr,   5   s    q'23A66r   )zutf-8strict)r   r   structtyping_texcr   Unionr   bytes_t_str_bytesr   r   r    ascii_lettersdigitsr   _base64_alphabetStruct_int64_structpackr$   castunpackr*   intr&   r,    r   r   <module>r?      s        xxU
# =E"69
9, 95 9
5, 
55 
5 **+FMM?#>EEgN d#""=}?S?ST.c .e .7% 7C 7r   