U a@sddlZddlZddlZddlZddlmZejee fZ de eee dddZ e e d d d Z e e d d d Z ejejddZedZejZedejZee dddZe edddZdS)N)BadDatautf-8strict)sencodingerrorsreturncCst|tr|||}|S)N) isinstancestrencode)rrrr VC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-w3tduf5e\itsdangerous\encoding.py want_bytes s  r)stringr cCst|}t|dS)z^Base64 encode a string of bytes or text. The resulting bytes are safe to use in URLs. =)rbase64urlsafe_b64encoderstriprr r r base64_encodesrc CsVt|ddd}|dt| d7}z t|WSttfk rPtdYnXdS)zOBase64 decode a URL-safe string of bytes or text. The result is bytes. asciiignore)rrrzInvalid base64-encoded dataN)rlenrurlsafe_b64decode TypeError ValueErrorrrr r r base64_decodes  rz-_=rz>Qz#_t.Callable[[bytes], _t.Tuple[int]])numr cCst|dS)N) _int_to_byteslstrip)rr r r int_to_bytes1sr#)bytestrr cCst|dddS)Nr r) _bytes_to_intrjust)r$r r r bytes_to_int5sr()rr)rrstructtypingZ_texcrUnionr bytesZ _t_str_bytesrrr ascii_lettersdigitsr Z_base64_alphabetStructZ _int64_structpackr!castunpackr&intr#r(r r r rs*