
    hh                        S r SSKJr  SSKrSr\" \5       V Vs0 s H  u  pX_M	     snn r\" S5       Vs/ s H  nSU-  PM
     snSSS2   rS r	S	 r
gs  snn f s  snf )
zPython implementation of Z85 85-bit encoding

Z85 encoding is a plaintext encoding for a bytestring interpreted as 32bit integers.
Since the chunks are 32bit, a bytestring must be a multiple of 4 bytes.
See ZMQ RFC 32 for details.


    )annotationsNsU   0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#   U   c                *   [        U 5      S-  (       a  [        S[        U 5       35      e[        U 5      S-  n[        R                  " SUS S3U 5      n/ nU H-  n[         H   nUR                  [        XE-  S-     5        M"     M/     [        U5      $ )zencode raw bytes into Z85   z"length must be multiple of 4, not >dIr   )len
ValueErrorstructunpack_85sappendZ85CHARSbytes)rawbytesnvaluesvaluesencodedvoffsets         `C:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\zmq/utils/z85.pyencoder      s     8}q=c(m_MNN(mq G]]Qwqk+X6FGFNN8Q[B$678   >    c                   [        U [        5      (       a   U R                  S5      n [        U 5      S-  (       a  [	        S[        U 5       35      e[        U 5      S-  n/ n[        S[        U 5      S5       HB  nSn[        [        5       H  u  pVU[        XU-         U-  -  nM     UR                  U5        MD     [        R                  " SUS S3/UQ76 $ ! [         a    [	        S5      ef = f)	z3decode Z85 bytes to raw bytes, accepts ASCII stringasciiz4string argument should contain only ASCII charactersr   z&Z85 length must be multiple of 5, not r   r	   r
   r   )
isinstancestrr   UnicodeEncodeErrorr   r   range	enumerater   Z85MAPr   r   pack)z85bytesr   r   ivaluejr   s          r   decoder*   (   s    (C  	Uw/H 8}qA#h-QRR(mq GF1c(mQ'"4IAVHUO,v55E )e	 (
 ;;71+Q'1&11 " 	USTT	Us   C C0)__doc__
__future__r   r   r   r#   r$   r"   r   r   r*   )idxcr'   s   000r   <module>r/      sp    #  d(2	32VS!&2	3Qx x!Ax 2& 2+ 
4 s
   AA