+
    4Ssi¦  ã                   óø   € R  t ] ! 4        ]! ]! 4       P                  4       4       F2  t]P                  4       '       g   K  ]3R lt]]! 4       R],          &   K4  	  AAR tR tRR lt	RR/R lt
RR/R	 ltR
 tR# )c                  ó  € \        4       p \        R4       FI  w  rRV,          W&   RV,          V RV,           &   RV,          V RV,           &   RV,          V RV,           &   KK  	  \        V R&   \        V R	&   R
V R&   RV R&   R# )ÚBLACKz[1;3%dmz[3%dmÚDARK_z[1;4%dmÚREV_z[4%dmÚ	REV_DARK_ÚPURPLEÚGREYz[0mÚC_NORMALz[4mÚ	UNDERLINEN)r   ÚREDÚGREENÚYELLOWÚBLUEÚMAGENTAÚCYANÚWHITE)ÚglobalsÚ	enumerateÚDARK_MAGENTAÚ
DARK_WHITE)ÚgÚiÚnames      Ú./usr/lib/python3/dist-packages/samba/colour.pyÚ_gen_ansi_coloursr      s�   € Ü‹	€AÜð :ö ;‰ˆà !Õ#ˆ‰Ø'¨!�Oˆˆ'�D�.ÑØ(¨1Õ,ˆˆ&�4�-ÑØ +¨a¥ˆˆ+˜Õ
Óñ;ô €A€h�KÜ€A€f�Ið €A€j�Mð €A€kƒNó    c                 ó>   € \        4       V,          : V : \        : 2# )N)r   r	   )Úsr   s   &&r   Ú_fr   B   s   € Ü&›y¨Ÿ²¶8Ð<Ð<r   zc_%sc                 óø   € \        4       p \        V P                  4       4       FR  w  rVP                  4       '       g   K  \	        V\
        4      '       g   K5  VP                  R4      '       g   KN  RW&   KT  	  R# )z5Convert all the ANSI colour codes into empty strings.ÚÚ N)r   ÚlistÚitemsÚisupperÚ
isinstanceÚstrÚ
startswith)r   ÚkÚvs      r   Úswitch_colour_offr*   I   sK   € ä‹	€AÜ�Q—W‘W“Y–‰ˆØ�9‰9�;Œ;œ: a¬×-Ô-°!·,±,¸v×2FÔ2FØˆA‹Dó  r   c                 ó   € \        4        R# )z%Regenerate all the ANSI colour codes.N)r   © r   r   Úswitch_colour_onr-   Q   s   € äÖr   c                 óZ   € V'       d   R MRpV'       d   RMRpRW4\        V 4      3,          # )z01;r!   Ú48Ú38z[%s%s;5;%dm)Úint)ÚnÚbgÚboldÚweightÚtargets   &&&  r   Úxterm_256_colourr7   V   s(   € ß‰U €Fß‰T˜T€Fà ´°A³Ð7Õ7Ð7r   ÚhintÚautoc                ó8  € V R	9   d   R# V R
9   d   R# V R9  d   \        RV  R24      h^ RIHp VP                  R4      '       d   R# V FL  p\	        V\
        4      '       d   VR8w  d    R# ^ RIpVP                  pVP                  4       '       d   KK   R# 	  R# )a  The hint is presumably a --color argument.

The streams to be considered can be file objects or file names,
with '-' being a special filename indicating stdout.

We follow the behaviour of GNU `ls` in what we accept.
* `git` is stricter, accepting only {always,never,auto}.
* `grep` is looser, accepting mixed case variants.
* historically we have used {yes,no,auto}.
* {always,never,auto} appears the commonest convention.
* if the caller tries to opt out of choosing and sets hint to None
  or '', we assume 'auto'.
FTNzunexpected colour hint: z; try always|never|auto)ÚenvironÚNO_COLORÚ-)ÚnoÚneverÚnone)ÚyesÚalwaysÚforce)r9   Úttyzif-ttyNr!   )	Ú
ValueErrorÚosr;   Úgetr%   r&   ÚsysÚstdoutÚisatty)r8   Ústreamsr;   ÚstreamrH   s   $*   r   Úis_colour_wantedrM   ]   sœ   € ð Ð&Ô&ÙàÐ)Ô)ÙàÐ6Ô6ÜÐ3°D°6ð :1ð 1ó 2ð 	2õ Ø‡{�{�:×ÒáãˆÜ�fœc×"Ò"ð ˜Œ}ÚÛØ—Z‘ZˆFà�}‰}�ŒÚñ ñ r   c                 óX   € \        VR V / pV'       d   \        4        V# \        4        V# )r8   )rM   r-   r*   )r8   rK   Úwanteds   $* r   Úcolour_if_wantedrP   ‰   s.   € Ü˜wÐ2¨TÑ2€FßÜÔð €Mô 	ÔØ€Mr   c                óØ  € ^ RI Hp . p\        V \        4      '       d   V P	                  R4      p \        V\        4      '       d   VP	                  R4      pV P                  RR4      p VP                  RR4      pV! RW4      pVP                  4        FÃ  w  rVrxp	VR8X  d   VP                  WV 4       K#  VR8X  d   VP                  \        WV 4      4       KH  VR8X  d   VP                  \        WV	 4      4       Km  VR	8X  d;   VP                  \        WV 4      4       VP                  \        WV	 4      4       K®  VP                  R
V R24       KÅ  	  RP                  V4      # )z­Generate a string comparing two strings or byte sequences, with
differences coloured to indicate what changed.

Byte sequences are printed as hex pairs separated by colons.
)ÚSequenceMatcherÚ:Ú u   â� NÚequalÚdeleteÚinsertÚreplacez --unknown diff op z!-- r!   )ÚdifflibrR   r%   ÚbytesÚhexrX   Úget_opcodesÚappendÚc_REDÚc_GREENÚjoin)
ÚaÚbrR   Úoutr   ÚopÚalÚarÚblÚbrs
   &&        r   Ú
colourdiffri   ’   s)  € õ (Ø
€CÜ�!”U×ÒØ�E‰E�#‹JˆÜ�!”U×ÒØ�E‰E�#‹JˆØ	�	‰	�#�uÓ€AØ	�	‰	�#�uÓ€Aá˜˜aÓ#€AØŸm™mžoÑˆ�˜Ø�Œ=Ø�J‰J�q˜R�yÖ!Ø�8Œ^Ø�J‰J”u˜Q 2˜YÓ'Ö(Ø�8Œ^Ø�J‰J”w˜q R˜yÓ)Ö*Ø�9Œ_Ø�J‰J”u˜Q 2˜YÓ'Ô(Ø�J‰J”w˜q R˜yÓ)Ö*à�J‰JÐ,¨R¨D°Ð5Ö6ñ .ð �7‰7�3‹<Ðr   N)FF)r   r"   r   ÚkeysÚ_kr$   r   r*   r-   r7   rM   rP   ri   r,   r   r   Ú<module>rl      sƒ   ðò:ñ( Ô ñ ‰w‹y�~‰~ÓÖ
 €BØ	‡z�z‡|„|Øô 	=à!#‰‹	�&˜2•+Óñ	 !ð ˆòòô
8ð) Fô )ðX Fô ôr   