grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026§ ;¨°”T´Ãã ó—dZddlZ ddlZn*#e$r"ejdkr ed¦«‚ed¦«‚wxYwddlZddlZ ddl Z ddl m Z ddlmZe jed¬ ¦«e je jzd zZe ¦«ZGd „d ed d ¦«¦«Zd%ddœd„Zd%d„ZgZddœd„Zedddd¦«edddd¦«dD]#Zeddezddee¦«zd¬¦«rnŒ$eddd d!¦«ed"dd#d$¦«[[dS)&zEWrapper to the POSIX crypt library call and associated functionality.éNÚwin32z,The crypt module is not supported on Windowsz;The required _crypt module was not built as part of CPython)Ú SystemRandom)Ú namedtuple)éé )Úremovez./có—eZdZdZd„ZdS)Ú_MethodziClass representing a salt method per the Modular Crypt Format or the legacy 2-character crypt method.có6—d |j¦«S)Nz)ÚformatÚname)Úselfs ú,/opt/alt/python311/lib64/python3.11/crypt.pyÚ__repr__z_Method.__repr__ s€Ø"×)Ò)¨$¬)Ñ4Ô4Ð4óN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r©rrr r s-€€€€€ð(ð(ð5ð5ð5ð5ð5rr z name ident salt_chars total_size©Úroundscóž—|€ td}|�1t|t¦«st|jj›d�¦«‚|jsd}n d|j›d�}|jrs|jddkrb|€d}nSt |dz ¦«}|d|zkrtd ¦«‚d |cxkrd ksntd ¦«‚||d ›d�z }nG|jdvr*|�'d|cxkrdksntd¦«‚|d|›d�z }n|�t|›d�¦«‚|d  d„t|j ¦«D¦«¦«z }|S)zsGenerate a salt for the specified method. If not specified, the strongest available method will be used. Nrz+ object cannot be interpreted as an integerÚú$Ú2é ézrounds must be a power of 2ééz%rounds out of the range 2**4 to 2**31Ú02d)Ú5Ú6ièiÿÉš;z+rounds out of the range 1000 to 999_999_999zrounds=z$ doesn't support the rounds argumentc3óTK—|]#}t t¦«V—Œ$dS©N)Ú_srÚchoiceÚ _saltchars)Ú.0Úchars rú zmksalt..Fs.èè€ÐMÐM¨D•—’�JÑ'Ô'ÐMÐMÐMÐMÐMÐMr) ÚmethodsÚ isinstanceÚintÚ TypeErrorÚ __class__rÚidentÚ bit_lengthÚ ValueErrorÚjoinÚrangeÚ salt_chars)ÚmethodrÚsÚ log_roundss rÚmksaltr:$s½€ð €~ݘ”ˆØ Ð¥*¨VµSÑ"9Ô"9Ðݘ6Ô+Ô4ð5ð5ð5ñ6ô6ð 6à Œ<ð Ø ˆˆà �” Ð Ð Ð ˆà „|ðJ˜œ  Qœ¨3Ò.Ð.Ø ˆ>؈JˆJ埚¨¨q©Ñ1Ô1ˆJؘ˜j™Ò(Ð(Ý Ð!>Ñ?Ô?Ð?ؘ Ð(Ð(Ò(Ð( bÒ(Ð(Ð(Ð(Ý Ð!HÑIÔIÐIØ � Ð !Ð !Ð !Ð !Ñ!ˆˆØ Œ˜Ð #Ð #Ø Ð Ø˜6Ð0Ð0Ò0Ð0 [Ò0Ð0Ð0Ð0Ý Ð!NÑOÔOÐOØ Ð$˜6Ð$Ð$Ð$Ñ $ˆAøØ РݘFÐHÐHÐHÑIÔIÐIàˆ�ŠÐMÐMµE¸&Ô:KÑ4LÔ4LÐMÑMÔMÑ MÔ MÑM€AØ €Hrcóx—|�t|t¦«rt|¦«}tj||¦«S)aRReturn a string representing the one-way hash of a password, with a salt prepended. If ``salt`` is not specified or is ``None``, the strongest available method will be selected and a salt generated. Otherwise, ``salt`` may be one of the ``crypt.METHOD_*`` values, or a string as returned by ``crypt.mksalt()``. )r-r r:Ú_cryptÚcrypt)ÚwordÚsalts rr=r=Js4€ð €|•z $­Ñ0Ô0€|Ý�d‰|Œ|ˆÝ Œ<˜˜dÑ #Ô #Ð#rcó„—t|g|¢RŽ}|t¦«d|z<t||¬¦«}d} td|¦«}nC#t$r6}|jt jt jt jhvrYd}~dS‚d}~wwxYw|r4t|¦«|j krt  |¦«dSdS)NÚMETHOD_rrFT) r Úglobalsr:r=ÚOSErrorÚerrnoÚEINVALÚEPERMÚENOSYSÚlenÚ total_sizer,Úappend)r rÚargsr7r?ÚresultÚes rÚ _add_methodrN\s×€Ý �TÐ !˜DÐ !Ð !Ð !€FØ"(…G�I„Iˆi˜$ÑÑÝ �& Ð (Ñ (Ô (€DØ €FðÝ�r˜4‘”ˆˆøÝ ðððà Œ7•u”|¥U¤[µ%´,Ð?Ð ?Ð ?Ø�5�5�5�5�5Ø øøøøð øøøð ð•#�f‘+”+ Ô!2Ò2Ð2Ý�Š�vÑÔÐØˆtØ ˆ5s¶AÁ BÁ*BÂBÂBÚSHA512r#ééjÚSHA256r"é?)ÚbÚyÚarÚBLOWFISHréé;ÚMD5Ú1éé"ÚCRYPTérr%)rÚsysÚ_sysr<ÚModuleNotFoundErrorÚplatformÚ ImportErrorrDÚstringÚ_stringÚwarningsÚrandomrÚ _SystemRandomÚ collectionsrÚ _namedtupleÚ _deprecatedrÚ ascii_lettersÚdigitsr(r&r r:r=r,rNÚ_vrHrrrúrps1ðØKÐKàÐÐÐðYØ€M€M€M€MøØðYðYðYØ „}˜ÒÐØˆkÐHÑIÔIÐIàˆkÐWÑXÔXÐXð Yøøøð  € € € ØÐÐÐØ€€€Ø0Ð0Ð0Ð0Ð0Ð0Ø1Ð1Ð1Ð1Ð1Ð1ð€Ô�X gÐ.Ñ.Ô.Ð.ðÔ " W¤^Ñ 3°dÑ :€ Ø€m�o„o€ð5ð5ð5ð5ð5ˆkˆk˜)Ð%GÑHÔHñ5ô5ð5ð#  $ð# ð# ð# ð# ð# ðL $ð $ð $ð $ð €à$(ðððððð" € ˆH�c˜2˜sÑ#Ô#Ð#Ø € ˆH�c˜2˜rÑ"Ô"Ð"ð ðð€BØ€{�:˜s R™x¨¨R°#°#°b±'´'©\À$ÐGÑGÔGðØ ˆðð € ˆE�3˜˜2ÑÔÐØ € ˆG�T˜1˜bÑ!Ô!Ð!àˆ ˆ ˆ sˆ �'4