+
    Û1j  ã                   ó0   € ^ RI t ^ RIHt  ! R R]4      tR# )é    N)ÚSoSMapc                   ód   a a€ ] tR t^t oRtRR.tRtRtRtRt	^ t
V 3R ltV 3R	 ltR
 tRtVtV ;t# )Ú	SoSMacMapa”  Mapping store for MAC addresses

MAC addresses added to this map will be broken into two halves, vendor and
device like how MAC addresses are normally crafted. For the vendor hextets,
obfuscation will take the form of 53:4f:53, or 'SOS' in hex. The following
device hextets will be obfuscated by a series of suffixes starting from
zeroes. For example a MAC address of '60:55:cb:4b:c9:27' may be obfuscated
into '53:4f:53:00:00:1a' or similar.

This map supports both 48-bit and 64-bit MAC addresses.

48-bit address may take the form of either:

        MM:MM:MM:SS:SS:SS
        MM-MM-MM-SS-SS-SS

For 64-bit addresses, the identifier injected by IPv6 standards is
used in obfuscated returns. These addresses may take either of these forms:

    MM:MM:MM:FF:FE:SS:SS:SS
    MMMM:MMFF:FESS:SSSS

All mapped mac addresses are converted to lower case.
Dash delimited styles will be converted to colon-delimited style.
zff:ff:ff:ff:ff:ffz00:00:00:00:00:00z53:4f:53:%s:%s:%sz53:4f:53:ff:fe:%s:%s:%sz534f:53ff:fe%s:%s%sFc                óœ   <€ VP                  R R4      P                  4       P                  R4      P                  4       p\        SV `  V4      # ©Ú-Ú:z=.,)ÚreplaceÚlowerÚstripÚsuperÚadd©ÚselfÚitemÚ	__class__s   &&€Ú>/usr/lib/python3/dist-packages/sos/cleaner/mappings/mac_map.pyr   ÚSoSMacMap.add6   ó?   ø€ Ø�|‰|˜C Ó%×+Ñ+Ó-×3Ñ3°EÓ:×@Ñ@ÓBˆÜ‰w‰{˜4Ó Ð ó    c                óœ   <€ VP                  R R4      P                  4       P                  R4      P                  4       p\        SV `  V4      # r   )r
   r   r   r   Úgetr   s   &&€r   r   ÚSoSMacMap.get:   r   r   c                ó@  a€ RoV ;P                   ^,          un         V P                   ^,	          V P                   ^,	          R,          V P                   R,          .p\        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      p\        P                  ! RV4      '       d   V P                  V,          # \        P                  ! RV4      '       d   V P
                  V,          # \        P                  ! RV4      '       d   V P                  V,          # R# )zFObfuscate the device hextets, and append those to our 'vendor'
hextet
Ú0123456789abdcefé   c              3   óh   <"  € T F'  pSV^,          ,           SV^,          ,           2x € K)  	  R# 5i)é   N© )Ú.0ÚiÚ	hexdigitss   & €r   Ú	<genexpr>Ú*SoSMacMap.sanitize_item.<locals>.<genexpr>J   s5   øé € ð *Ù!(˜Að % Q¨¥UÕ+Ð,¨Y°q¸2µvÕ->Ð,?Õ@Û!(ùs   ƒ/2z$(([0-9a-fA-F]{2}:){7}[0-9a-fA-F]{2})z&(([0-9a-fA-F]{4}:){3}([0-9a-fA-F]){4})z([0-9a-fA-F][:_]?){12}N)Úob_hextets_cntÚtupleÚreÚmatchÚmac6_templateÚmac6_quad_templateÚmac_template)r   r   Úhextetsr"   s   && @r   Úsanitize_itemÚSoSMacMap.sanitize_item>   sí   ø€ ð 'ˆ	Ø×Ò˜qÕ Õð ×Ñ 2Õ%Ø× Ñ  AÕ%¨Õ,Ø×Ñ #Õ%ð
ˆ÷
 ”%ô *Ù!(ó*—%‘%ô *Ù!(ó*ó *ˆô �8Š8Ð:¸D×AÒAØ×%Ñ%¨Õ/Ð/ä�8Š8Ð<¸d×CÒCØ×*Ñ*¨WÕ4Ð4ä�8Š8Ð,¨d×3Ò3Ø×$Ñ$ wÕ.Ð.Ùr   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úignore_matchesr+   r)   r*   Úcompile_regexesr%   r   r   r-   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r   r      sI   ù‡ € ñð6 	Øð€Nð
 '€LØ-€MØ.ÐØ€OØ€Nõ!õ!÷ò r   r   )r'   Úsos.cleaner.mappingsr   r   r   r   r   Ú<module>r;      s   ðó 
å 'ôF�ö Fr   