+
    iV  c                   s   ^ RI t ^ RIt. R8Ot]]3tR tR9R ltR:R ltR t	R t
]P                  RR	4      t]P                  R	R4      tR
 tR tRtRtRtRtRt/ t/ tR tR;R ltR t]P5                  RR7      ]n        R;R lt]P5                  R]R7      ]n        R t]P5                  RR7      ]n        R<R lt]P5                  RRR7      ]n        R tR<R lt Rs!Rs"Rt#Rt$R=R  lt%R!RR"^ R#RR$R/R% lt&R!RR$RR&R'/R( lt'R)t(Rs)Rs*Rs+R<R* lt,R+ t-R,t.R-t/]P                  ].]/,           ](R.]0! ]/4      ,          ,           4      t1]P                  ](].4      t2R/ t3R0 t4^Lt5]5^,          ^,          t6R1 t7R2 t8R3 t9R4 t:R5 t;R6 t<]=R78X  d
   ]<! 4        R# R# )>    Nc                 sV   \        V \        4      '       d    V P                  R 4      # \        V \
        4      '       d   V #  \        V 4      P                  4       #   \         d    \	        R4      hi ; i  \         d)    \        RT P                  P                  ,          4      Rhi ; i)Zasciiz4string argument should contain only ASCII charactersz>argument should be a bytes-like object or ASCII string, not %rN)
isinstanceZstrencodeZUnicodeEncodeError
ValueErrorbytes_types
memoryviewtobytes	TypeError	__class____name__s   &/usr/lib64/python3.14/base64.py_bytes_from_decode_datar      s    !S	U88G$$ ![!!K!}$$&& " 	USTT	U  K )+,;;+?+?@ AFJ	KKs   A A5 A253B(c                 s    \         P                  ! V R R7      pVe&   VP                  \        P	                  RV4      4      # V# )F)Znewline   +/)binascii
b2a_base64	translatebytes	maketrans)r   altcharsencodeds   && r   	b64encoder   0   s=     !!!U3G  !ABBN    Fc                 s    \        V 4      p Ve1   \        V4      pV P                  \        P                  VR4      4      p \        P
                  ! WR7      # )Nr   )Zstrict_mode)r   r   r   r   r   
a2b_base64)r   r   Zvalidate   &&&r   	b64decoder   >   sH    $ 	 "A*84KK%89q77r   c                     \        V 4      # N)r   r
   r   r   standard_b64encoder   X   s    
 Q<r   c                 r   r   )r   r
   r   r   standard_b64decoder   _   s     Q<r   r   s   -_c                 >    \        V 4      P                  \        4      # r   )r   r   _urlsafe_encode_translationr
   r   r   urlsafe_b64encoder"   m   s     Q<!!"=>>r   c                 sX    \        V 4      p V P                  \        4      p \        V 4      # r   )r   r   _urlsafe_decode_translationr   r
   r   r   urlsafe_b64decoder$   v   s'     	 "A	/0AQ<r   zK
Encode the bytes-like objects using {encoding} and return a bytes object.
a  
Decode the {encoding} encoded bytes-like object or ASCII string s.

Optional casefold is a flag specifying whether a lowercase alphabet is
acceptable as input.  For security purposes, the default is False.
{extra_args}
The result is returned as a bytes object.  A binascii.Error is raised if
the input is incorrectly padded or if there are non-alphabet
characters present in the input.
a  
RFC 3548 allows for optional mapping of the digit 0 (zero) to the
letter O (oh), and for optional mapping of the digit 1 (one) to
either the letter I (eye) or letter L (el).  The optional argument
map01 when not None, specifies which letter the digit 1 should be
mapped to (when map01 is not None, the digit 0 is always mapped to
the letter O).  For security purposes the default is None, so that
0 and 1 are not allowed in the input.
s    ABCDEFGHIJKLMNOPQRSTUVWXYZ234567s    0123456789ABCDEFGHIJKLMNOPQRSTUVc                 s`   V \         9  dG   V  Uu. uF  p\        V34      NK  	  ppV UUu. uF  qC F  qTV,           NK  	  K  	  upp\         V &   R p\        V\        4      '       g   \	        V4      P                  4       p\        V4      ^,          pV'       d   VR^V,
          ,          ,           p\        4       p\        P                  p\         V ,          p	\        ^ \        V4      ^4       Ft  pV! WV^,            4      p
WyV
^,	          ,          W^,	          R,          ,          ,           W^
,	          R,          ,          ,           WR,          ,          ,           ,          pKv  	  V^8X  d   RVRR % M&V^8X  d   RVRR % MV^8X  d   RVR	R % MV^8X  d   RVR
R % \        V4      # u upi u uppi )N    i  s   ======s   ====s   ===   =iii)_b32tab2r   r   r   r   r   len	bytearrayZint
from_bytesrange)alphabetr   iZb32tabableftoverr   r+   Zb32tab2cs   &&         r   
_b32encoder3      s}    x'/0x!%+x0-3DVV!eeVeVDa%%qM!!#1vzHX&&kGJx G1c!fa qAE{#AG$"W-./"W-./ I&' 	 ! 1} 	Q	Q	Q>; 1Ds
   F%F*c                 s.   V \         9  d'   \        V 4       UUu/ uF  w  rEWTbK	  	  upp\         V &   \        V4      p\        V4      ^,          '       d   \        P
                  ! R4      hVe8   \        V4      pVP                  \        P                  RRV,           4      4      pV'       d   VP                  4       p\        V4      pVP                  R4      pV\        V4      ,
          p\        4       p\         V ,          p	\        ^ \        V4      ^4       FG  p
WV
^,            p^ p V F  pV^,          W,          ,           pK  	  YP                  ^4      ,          pKI  	  V^,          '       g   VR9  d   \        P
                  ! R4      hV'       dI   V'       dA   X^V,          ,          pVP                  ^4      p^+^V,          ,
          ^,          pVRV VRR% \        V4      # u uppi   \         d    \        P
                  ! R4      Rhi ; i)	i   zIncorrect paddingNs   01s   Or&   zNon-base32 digit found>   r       i      i   i)_b32rev	enumerater   r)   r   Errorr   r   r   upperZrstripr*   r,   ZKeyErrorZto_bytes)r-   r   casefoldmap01ZkZvZlZpadcharsdecodedZb32revr.   Zquantaaccr2   Zlastr1   s   &&&&            r   
_b32decoder>      s    w.7.AB.AdaQT.AB"A
1vzznn011 '.KKte|<=GGI 	AA	A3q6zHkGXF1c!fa a!e	Eax69,  	<<?" ! 	1uu/nn011GH||AX%!+IX>O C8  	E..!9:D	Es   G+*G11#Hc                 "    \        \        V 4      # r   )r3   _b32alphabetr
   r   r   	b32encoderA      s    lA&&r   Zbase32)encodingc                 s$    \        \        WV4      # r   )r>   r@   )r   r:   r;   r   r   	b32decoderC      s    lA77r   )rB   Z
extra_argsc                 r?   r   )r3   _b32hexalphabetr
   r   r   b32hexencoderE      s    oq))r   Z	base32hexc                 s"    \        \        W4      # r   )r>   rD   r   r:      &&r   b32hexdecoderH     s    oq33r   Z c                 sJ    \         P                  ! V 4      P                  4       # r   )r   Zhexlifyr9   r
   r   r   	b16encoderI     s     A$$&&r   c                 s    \        V 4      p V'       d   V P                  4       p V P                  R RR7      '       d   \        P                  ! R4      h\        P
                  ! V 4      # )Ns   0123456789ABCDEF)ZdeletezNon-base16 digit found)r   r9   r   r   r8   Z	unhexlifyrF   rG   r   	b16decoderJ     sQ     	 "AGGI{{4 3{44nn566a  r   s   <~s   ~>c                 s   \        V \        4      '       g   \        V 4      P                  4       p \	        V 4      ) ^,          pV'       d   V RV,          ,           p \
        P                  ! R\	        V 4      ^,          ,          4      P                  V 4      pV Uu. uFd  pV'       d   V'       g   RMNV'       d
   VR8X  d   RM=W(R,          ,          W(^U,          R,          ,          ,           W^U,          ,          ,           NKf  	  p	pV'       d:   V'       g2   V	R
,          R8X  d   V^ ,          ^,          V	R
&   V	R
,          RV)  V	R
&   R	P                  V	4      # u upi )r5   r%   z!%dIs   zi    s   yi^	 i9  Nr   r'   )	r   r   r   r   r)   structStructZunpackjoin)
r0   ZcharsZchars2padZfoldnuls
foldspacespaddingZwordsZwordchunkss
   &&&&&&    r   	_85encoderR   +  s   a%%qM!!#Aw!mGMM&CFaK0188;E  !
  $ td TZ%7dfn%bj4'()BY !
    ! s":qAF2JBZ	'*r
88F!s   E(E0	E:AErO   wrapcolrN   adobec                s   \         fR   \        ^!^v4       Uu. uF  p\        V34      NK  	  ups\         UU u. uF  p\         F  qV ,           NK  	  K  	  up ps \	        X \        \         VRV4      pV'       d   \
        V,           pV'       d   \        V'       d   ^M^V4      p\        ^ \        V4      V4       Uu. uF  pWuWR,            NK  	  ppV'       d0   \        VR,          4      ^,           V8  d   VP                  R4       RP                  V4      pV'       d   V\        ,          pV# u upi u up pi u upi )NTr   s   
r'   )
_a85chars2r,   r   	_a85charsrR   	_A85STARTZmaxr)   appendrM   _A85END)	r0   rO   rS   rN   rT   r.   r/   resultrQ   s	   &$$$$    r   	a85encoder[   C  s   ( */C.9.QUA4[.9	'0Dy!)Q1uu)uyD
q)ZdJGFV#5aa1 CK9;9a AK(9 	 ;6":"W,c"F#'M% :D;s   D1D6=D<ignorecharss    	
c                s   \        V 4      p V'       d`   V P                  \        4      '       g   \        R P	                  \        4      4      hV P                  \        4      '       d   V ^R
 p MV RR
 p \        P                  ! R4      P                  p. pVP                  p. pVP                  pVP                  p	V R,            F  p
^!T
u;8:  d   ^u8:  dX   M MTV! V
4       \        V4      ^8X  d;   ^ pV F  p
^UV,          V
^!,
          ,           pK  	   V! V! V4      4       T	! 4        Kg  Ki  V
^z8X  d   V'       d   \        R4      hV! R4       K  V'       d%   V
^y8X  d   V'       d   \        R4      hV! R4       K  W9   d   K  \        RV
,          4      h	  R	P                  V4      p^\        V4      ,
          pV'       d   VRV)  pV#   \        P                   d    \        R4      Rhi ; i)z1Ascii85 encoded byte sequences must end with {!r}N!IzAscii85 overflowzz inside Ascii85 5-tuples       zy inside Ascii85 5-tuples       zNon-Ascii85 digit found: %cr   is   uuuu)r   ZendswithrY   r   formatZ
startswithrW   rK   rL   packrX   Zclearr)   errorrM   )r0   rO   rT   r\   packIr<   Zdecoded_appendZcurrZcurr_appendZ
curr_clearZxr=   rZ   rP   s   &$$$          r   	a85decoderb   l  s     	 "Azz'"""F7O  <<	""!BA#2A
 MM$$$EG^^ND++KJ\\a"7"N4yA~As(a"f-C C"5:.   '\ !;<<;'AL !;<<./:Q>??1 4 XXgF#d)mG	'"M- || C$%78dBCs   G"G.sU   0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~c                 s    \         fL   \         Uu. uF  p\        V34      NK  	  ups\         UU u. uF  p\         F  qV ,           NK  	  K  	  up ps \	        X \        \         V4      # u upi u up pi r   )
_b85chars2_b85alphabetr   	_b85charsrR   )r0   rN   r.   r/      &&  r   	b85encoderg     s]     *67,QUA4[,7	'0Dy!)Q1uu)uyD
Q	:s33 8Ds
   A*A/c                 s   \         f)   R .R,          p\        \        4       F	  w  r#W!V&   K  	  Vs \        V 4      p \	        V 4      ) ^,          pV RV,          ,           p . p\
        P                  ! R4      P                  p\        ^ \	        V 4      ^4       FM  pWV^,            p^ p V F  pV^U,          \         V,          ,           pK   	   TP                  T! T4      4       KO  	  RP                  V4      p
V'       d   V
R V)  p
V
#   \         d?    \        T4       F-  w  r\         T,          e   K  \        RY),           ,          4      R h	  h i ; i  \
        P                   d    \        RT,          4      R hi ; i)Ni   s   ~r]   z#bad base85 character at position %dz+base85 overflow in hunk starting at byte %dr   )_b85decr7   rd   r   r)   rK   rL   r_   r,   r   r   rX   r`   rM   )r0   Z
b85dec_tmpr.   r2   rP   Zoutra   chunkr=   ZjrZ   s   &          r   	b85decoderj     st     Vc\
l+DAqM ,"AAw!mG	D7NA
CMM$$$E1c!fa AE
	Bh+ 	,JJuSz" !$ XXc]F	'"M  	!%(1:%$%J'(u&. /489 ) 	 || 	,J ! "'+,	,s   ($D	E	'E5E)E>sU   0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#s   ;_`|~r%   c                 r    r   )rg   r   _z85_encode_translationr
   r   r   	z85encoderl     s    Q<!!"9::r   c                 s    \        V 4      p V P                  \        4      p  \        V 4      #   \         d3   p\	        TP
                  ^ ,          P                  RR4      4      RhRp?ii ; i)r    Zbase85Zz85N)r   r   _z85_decode_translationrj   r   argsZreplace)r   Zes   & r   	z85decodero     sa    
 	 "A	+,AG| G**8U;<$FGs   
- A*-A%%A*c                 s(   V P                  \        4      ;p'       du   \        V4      \        8  d8   V P                  \        \        V4      ,
          4      ;p'       d   W#,          pKK  \        P                  ! V4      pVP                  V4       K  R # r   )read
MAXBINSIZEr)   r   r   write)inputoutputr   Znslines   &&   r   r   r     sf    zz*%
%!
%!fz!UZZ
3q68I-J'Jr'JGA""1%T	 &r   c                 s    V P                  4       ;p'       d*   \        P                  ! V4      pVP                  V4       KA  R # r   )Zreadliner   r   rr   )rs   rt   ru   r   rf   r   decoderv     s4    .."
"$
"%Q #r   c                 s    \        V 4      pTP                  R9  d4   RTP                  : RT P                  P                  : 2p\        T4      hTP
                  ^8w  d5   RTP
                  T P                  P                  3,          p\        T4      hR#   \         d/   pR T P                  P                  ,          p\        T4      ThRp?ii ; i)z"expected bytes-like object, not %sNz#expected single byte elements, not z from z(expected 1-D data, not %d-D data from %s)r2   r0   ZB)r   r   r   r	   r^   Zndim)r   ZmZerrmsg   &   r   _input_type_checkry   %  s    &qM 	xx&+,88Q[[5I5IKnvv{9+,661;;3G3G*HIn   &2Q[[5I5IIn#%&s   B C#)CCc                 s    \        V 4       . p\        ^ \        V 4      \        4       F7  pWV\        ,            pVP	                  \
        P                  ! V4      4       K9  	  RP                  V4      # )r    r   )ry   r,   r)   rq   rX   r   r   rM   )r   Zpiecesr.   ri   rx   r   encodebytesrz   5  s^     aF1c!fj)a*n%h))%01 * 88Fr   c                 sD    \        V 4       \        P                  ! V 4      # r   )ry   r   r   r
   r   r   decodebytesr{   @  s    aq!!r   c                  s   ^ RI p ^ RIpRV P                  ^ ,           R2p VP                  V P                  R,          R4      w  r4\        pX FA  w  rxVR8X  d   \        pVR8X  d   \        pVR8X  d   \        pVR	8X  g   K5  \        V4        R# 	  X'       dQ   V^ ,          R
8w  dC   \        V^ ,          R4      ;_uu_ 4       p	V! WP
                  P                  4       RRR4       R# V P                  P                  4       '       d;   ^ RIp
V P                  P                  P                  4       pV
P!                  V4      pMV P                  P                  pV! WP
                  P                  4       R#   TP                   dD   pT P                  T n        \        T4       \        T4       T P                  ^4        Rp?ELRp?ii ; i  + '       g   i     R# ; i)r    Nzusage: zx [-h|-d|-e|-u] [file|-]
        -h: print this help message and exit
        -d, -u: decode
        -e: encode (default):r4   NNZhdeuz-ez-dz-uz-hZ-Zrb)sysgetoptZargvr`   ZstderrZstdoutZprintZexitr   rv   ZopenbufferZstdinZisattyiorp   ZBytesIO)r|   r}   ZusageZoptsrn   rw   ZfuncZor/   Zfr   Zdatar~   s                r   mainr   G  se   } %  E]]388B<8
 D9Vd9Vd9Vd9eElF	 
 Q3$q'4  AJJ%%& !  9999##((*DZZ%FYY%%FVZZ&&'- << ZZ
c
e	 !  s#   %E9 G9G
8GGG!	Z__main__)r   rv   rz   r{   r   r   rA   rC   rE   rH   rI   rJ   rg   rj   r[   rb   rl   ro   r   r   r"   r$   r   )NF)FN)F)FFF)>rK   r   Z__all__r   r*   r   r   r   r   r   r   r   r!   r#   r"   r$   Z_B32_ENCODE_DOCSTRINGZ_B32_DECODE_DOCSTRINGZ_B32_DECODE_MAP01_DOCSTRINGr@   rD   r(   r6   r3   r>   rA   r^   Z__doc__rC   rE   rH   rI   rJ   rV   rU   rW   rY   rR   r[   rb   rd   re   rc   rh   rg   rj   Z_z85alphabetZ_z85_b85_decode_diffr)   rm   rk   rl   ro   ZMAXLINESIZErq   r   rv   ry   rz   r{   r   r	   ) r   r   <module>r      sI    $ i K"84 $ooeU; #ooeU; ?$ 	   35
!F+\')00(0C	 8)00(3N 1 P	 *,33[3I 4 -33[?A 4 C '!* 	
	
0'u 'a 'U '% 'RDu DE D| DPE	

4*XE   //''7S!5666   //,E ;
G  1na
 "(D zF r   