Ë ¤q�Îþè…ÛãóÈ—ddlZddlZddlmZddlmZmZd„Zdd„Zejse Z yddl Z ddl Z ddlZe jj Ze j$Ze j(xZZe j.Zed«j2ZdZdZd ZdZd Zd Z d Z!d Z"d Z#dZ$dZ%dZ&dZ'dZ(eeee j.eeegejR_*eejR_+d„Z,Gd„d«Z y)éNé)Úgetattr)ÚencodingÚpycompatcó —tj|«rtjStj|«rtjStj |«rtj Stj|«rtjStj|«rtjStj|«rtjStj|«rtjS|S©N)ÚstatmodÚS_ISREGÚS_IFREGÚS_ISDIRÚS_IFDIRÚS_ISLNKÚS_IFLNKÚS_ISBLKÚS_IFBLKÚS_ISCHRÚS_IFCHRÚS_ISFIFOÚS_IFIFOÚS_ISSOCKÚS_IFSOCK)Úmodes ú9usr/lib/python3.12/site-packages/mercurial/pure/osutil.pyÚ _mode_to_kindrs§€Ü‡��tÔÜ�‰Ð܇��tÔÜ�‰Ð܇��tÔÜ�‰Ð܇��tÔÜ�‰Ð܇��tÔÜ�‰ÐÜ×јÔÜ�‰ÐÜ×јÔÜ×ÑÐØ €Kócóê—g}|}|jtj«s|tjz }tj|«}|j «|D]’}tj ||z«}||k(r#tj|j«rgcS|r(|j|t|j«|f«Œm|j|t|j«f«Œ”|S)alistdir(path, stat=False) -> list_of_tuples Return a sorted list containing information about the entries in the directory. If stat is True, each element is a 3-tuple: (name, type, stat object) Otherwise, each element is a 2-tuple: (name, type) ) ÚendswithrÚossepÚosÚlistdirÚsortÚlstatr r Úst_modeÚappendr)ÚpathÚstatÚskipÚresultÚprefixÚnamesÚfnÚsts rr r %sº€ð€FØ €FØ �?‰?œ8Ÿ>™>Ô *Ø”(—.‘.Ñ ˆÜ �J‰J�tÓ €EØ ‡J�J„LÛˆÜ �X‰X�f˜r‘kÓ "ˆØ �Š:œ'Ÿ/™/¨"¯*©*Ô5ØŠIÙ Ø �M‰M˜2œ}¨R¯Z©ZÓ8¸"Ð=Õ >à �M‰M˜2œ}¨R¯Z©ZÓ8Ð9Õ :ðð €Mréÿÿÿÿéééli@é€éi@i€cóš—tj«}t|jt j |«›d|j ›�«‚)Nz: )ÚctypesÚWinErrorÚIOErrorÚerrnorÚ strfromlocalÚstrerror)ÚnameÚerrs rÚ _raiseioerrorr<xs8€Ü�o‰oÓˆÜØ �I‰I¤8×#8Ñ#8¸Õ#>ÀÇ Â ÐMó ð rcó6—eZdZdZd d„Zd„Zd„Zd„Zd„Zd„Z y) Ú posixfileaka file object aiming for POSIX-like semantics CPython's open() returns a file that was opened *without* setting the _FILE_SHARE_DELETE flag, which causes rename and unlink to abort. This even happens if any hardlinked copy of the file is in open state. We set _FILE_SHARE_DELETE here, so files opened with posixfile can be renamed and deleted while they are held open. Note that if a file opened with posixfile is unlinked, the file remains but cannot be opened again or be recreated under the same name, until all reading processes have closed the file.c óÚ—d|vrt}nt}|dd}|dk(rd|vr|tz}t}n|tz}tt z}|dk(rt }nB|dk(rt}n6|dk(rt}|tz}n!tdtj|«z«‚tj||tt zt"zd|t$d«}|t&k(r t)|«t+j,||«} | d k(r tj/|«t)|«t1j2| tj|«|«} t4j7|d |«t4j7|d | «y) Nóbrr.óró+ówóazinvalid mode: %sr-r:Ú_file)Ú _O_BINARYÚ_O_TEXTÚ _O_RDONLYÚ _GENERIC_READÚ_O_RDWRÚ_GENERIC_WRITEÚ_OPEN_EXISTINGÚ_CREATE_ALWAYSÚ _OPEN_ALWAYSÚ _O_APPENDÚ ValueErrorrÚsysstrÚ _kernel32Ú CreateFileAÚ_FILE_SHARE_READÚ_FILE_SHARE_WRITEÚ_FILE_SHARE_DELETEÚ_FILE_ATTRIBUTE_NORMALÚ_INVALID_HANDLE_VALUEr<ÚmsvcrtÚopen_osfhandleÚ CloseHandlerÚfdopenÚobjectÚ __setattr__) Úselfr:rÚbufsizeÚflagsÚm0ÚaccessÚcreationÚfhÚfdÚfs rÚ__init__zposixfile.__init__ŠsM€Ø�t‰|Ü!‘ä�à�a˜�ˆBØ�TŠz˜d¨$Ñ.ØœÑ"�Ü&‘ðœÑ �Ü&¬Ñ7�à�TŠzÜ)‘Ø�t’Ü)‘Ø�t’Ü'�ØœÑ"‘ä Ð!3´h·o±oÀdÓ6KÑ!KÓLÐLä×&Ñ&ØØÜ Ô#4Ñ4Ô7IÑIØØÜ&ØóˆBðÔ*Ò*ܘdÔ#ä×&Ñ& r¨5Ó1ˆBØ�RŠxÜ×%Ñ% bÔ)ܘdÔ#ä— ‘ ˜"œhŸo™o¨dÓ3°WÓ=ˆAô × Ñ ˜t V¨TÔ 2Ü × Ñ ˜t W¨aÕ 0rcó—|jSr)rE©r_s rÚ__iter__zposixfile.__iter__¼s €Ø—:‘:Ð rcó.—t|j|«Sr)rrE)r_r:s rÚ __getattr__zposixfile.__getattr__¿s€Ü˜4Ÿ:™: tÓ,Ð ,rcó:—|jj||«S)zÐmimics the read-only attributes of Python file objects by raising 'TypeError: readonly attribute' if someone tries: f = posixfile('foo.txt') f.name = 'bla' )rEr^)r_r:Úvalues rr^zposixfile.__setattr__Âs€ð —:‘:×)Ñ)¨$°Ó6Ð 6rcó:—|jj«|Sr)rEÚ __enter__rjs rrqzposixfile.__enter__Ês€Ø �J‰J× Ñ Ô "؈Krcó<—|jj|||«Sr)rEÚ__exit__)r_Úexc_typeÚ exc_valueÚexc_tbs rrszposixfile.__exit__Îs€Ø—:‘:×&Ñ& x°¸FÓCÐ CrN)rAr-) Ú__name__Ú __module__Ú __qualname__Ú__doc__rhrkrmr^rqrs©rrr>r>~s'„ñ =ó0 1òd ò -ò 7ò ó Drr>)FN)-rr&r rrÚrrr Ú iswindowsÚopenr>r4Ú ctypes.utilrYÚwindllÚkernel32rRÚc_ulongÚ_DWORDÚc_char_pÚ_LPCSTRÚ_LPSTRÚc_void_pÚ_HANDLErorXrTrUrVrMrLrNrIrKrWrHrJrOrGrFrSÚargtypesÚrestyper<r{rrÚr‹sðó Ûå÷ò ó$ð>×ÒØ�IóÛÛà— ‘ ×&Ñ&€Ià �^‰^€FØ—‘Ð&€GˆfØ�o‰o€Gá# B›K×-Ñ-Ðð"ÐØ"ÐØ#Ðà€NØ€NØ€Là€MØ€Nà!Ðð€IØ€GØ€Ià€GØ€Ið ØØØ�‰ØØØð&€I×ÑÔ"ð%,€I×ÑÔ!ò ÷ QDòQDr