§ ØVºƒH|úuãó—dZddlZejdkr ed¦«‚ddlZddlZddlZddlZddlZddl Z ddl Z dZ dZ ej Z ejZej¦«Zdde d œd „ZGd „d ¦«ZGd „dej¦«ZdS)z)Various Windows specific bits and pieces.éNÚwin32z win32 only)ÚpipeÚPopenÚPIPEÚ PipeHandlei F)TT)ÚduplexÚ overlappedÚbufsizec óR—tjd tj¦«t t ¦«¦«¬¦«}|r*tj}tj tj z}||}}ntj }tj }d|}}|tj z}|dr|tj z}|dr tj }nd}dx} } tj||tjd||tjtj¦«} tj||dtjtj|tj¦«} tj| d¬¦«} |  d¦«| | fS#| �tj| ¦«| �tj| ¦«‚xYw)zELike os.pipe() but with overlapped support and using handles not fds.z\\.\pipe\python-pipe-{:d}-{:d}-)ÚprefixréNT©r )ÚtempfileÚmktempÚformatÚosÚgetpidÚnextÚ _mmap_counterÚ_winapiÚPIPE_ACCESS_DUPLEXÚ GENERIC_READÚ GENERIC_WRITEÚPIPE_ACCESS_INBOUNDÚFILE_FLAG_FIRST_PIPE_INSTANCEÚFILE_FLAG_OVERLAPPEDÚCreateNamedPipeÚ PIPE_WAITÚNMPWAIT_WAIT_FOREVERÚNULLÚ CreateFileÚ OPEN_EXISTINGÚConnectNamedPipeÚGetOverlappedResultÚ CloseHandle) rr r ÚaddressÚopenmodeÚaccessÚobsizeÚibsizeÚflags_and_attribsÚh1Úh2Úovs úB/opt/alt/python-internal/lib64/python3.11/asyncio/windows_utils.pyrr s›€åŒoØ1×8Ò8Ý ŒI‰KŒK��mÑ,Ô,ñ.ô.ð/ñ/ô/€Gðð$ÝÔ-ˆÝÔ%­Ô(=Ñ=ˆØ  '�ˆˆåÔ.ˆÝÔ&ˆØ˜G�ˆà •Ô5Ñ5€Hà�!„}ð1Ø•GÔ0Ñ0ˆà�!„}ðÝ#Ô8ÐÐàÐà€N€BˆðÝ Ô $Ø �X�wÔ0Ø ˆv�v�wÔ;½W¼\ñKôKˆõÔ Ø �V˜Q¥¤ ­gÔ.CØ �wœ|ñ-ô-ˆõÔ % b°TÐ :Ñ :Ô :ˆØ ×Ò˜tÑ$Ô$Ð$Ø�2ˆvˆ øðØ ˆ>Ý Ô  Ñ #Ô #Ð #Ø ˆ>Ý Ô  Ñ #Ô #Ð #Ø øøøs ÃBE7Å7/F&cóp—eZdZdZd„Zd„Zed„¦«Zd„Ze j dœd„Z e j fd„Zd „Zd „Zd S) rz�Wrapper for an overlapped pipe handle which is vaguely file-object like. The IOCP event loop can use these instead of socket objects. có—||_dS©N©Ú_handle©ÚselfÚhandles r/Ú__init__zPipeHandle.__init__Vs €ØˆŒ ˆ ˆ ócóP—|j� d|j›�}nd}d|jj›d|›d�S)Nzhandle=Úclosedú<ú ú>)r4Ú __class__Ú__name__r5s r/Ú__repr__zPipeHandle.__repr__Ys>€Ø Œ<Ð #Ø/˜tœ|Ð/Ð/ˆFˆFàˆFØ6�4”>Ô*Ð6Ð6¨VÐ6Ð6Ð6Ð6r9có—|jSr2r3©r6s r/r7zPipeHandle.handle`s €àŒ|Ðr9có<—|j€td¦«‚|jS)NzI/O operation on closed pipe)r4Ú ValueErrorrCs r/ÚfilenozPipeHandle.filenods!€Ø Œ<Ð ÝÐ;Ñ<Ô<Ð <ØŒ|Ðr9)r%cóF—|j�||j¦«d|_dSdSr2r3)r6r%s r/ÚclosezPipeHandle.closeis/€Ø Œ<Ð #Ø ˆK˜œ Ñ %Ô %Ð %؈DŒLˆLˆLð $Ð #r9cól—|j�,|d|›�t|¬¦«| ¦«dSdS)Nz unclosed )Úsource)r4ÚResourceWarningrH)r6Ú_warns r/Ú__del__zPipeHandle.__del__nsC€Ø Œ<Ð #Ø ˆEÐ&˜dÐ&Ð&­ÀÐ EÑ EÔ EÐ EØ �JŠJ‰LŒLˆLˆLˆLð $Ð #r9có—|Sr2©rCs r/Ú __enter__zPipeHandle.__enter__ss€Øˆ r9có.—| ¦«dSr2)rH)r6ÚtÚvÚtbs r/Ú__exit__zPipeHandle.__exit__vs€Ø � Š ‰ Œ ˆ ˆ ˆ r9N)r@Ú __module__Ú __qualname__Ú__doc__r8rAÚpropertyr7rFrr%rHÚwarningsÚwarnrMrPrUrOr9r/rrQsÀ€€€€€ðððððð7ð7ð7ðððñ„Xððððð $+Ô#6ð ð ð ð ð ð %œMððððð ðððððððr9rcó$‡—eZdZdZdˆfd„ ZˆxZS)rzˆReplacement for subprocess.Popen using overlapped pipe handles. The stdin, stdout, stderr are None or instances of PipeHandle. Nc 󌕗| d¦«rJ‚| dd¦«dksJ‚dx}x}}dx} x} } |tkr4tdd¬¦«\} } tj| t j¦«}n|}|tkr)td¬¦«\} } tj| d¦«}n|}|tkr)td¬¦«\} }tj|d¦«}n|tkr|}n|} t¦«j |f|||d œ|¤Ž| �t| ¦«|_ | �t| ¦«|_ | �t| ¦«|_ n$#| | | fD]}|�tj|¦«Œ‚xYw|tkrt j|¦«|tkrt j|¦«|tkrt j|¦«dSdS#|tkrt j|¦«|tkrt j|¦«|tkrt j|¦«wwxYw) NÚuniversal_newlinesr r)FTT)r r)TFr)ÚstdinÚstdoutÚstderr)ÚgetrrÚmsvcrtÚopen_osfhandlerÚO_RDONLYÚSTDOUTÚsuperr8rr_r`rarr%rH)r6Úargsr_r`raÚkwdsÚ stdin_rfdÚ stdout_wfdÚ stderr_wfdÚstdin_whÚ stdout_rhÚ stderr_rhÚstdin_rhÚ stdout_whÚ stderr_whÚhr?s €r/r8zPopen.__init__‚s}ø€Ø—8’8Ð0Ñ1Ô1Ð1Ð1Ð1Ø�xŠx˜  1Ñ%Ô%¨Ò*Ð*Ð*Ð*Ø.2Ð2ˆ Ð2�J Ø+/Ð/ˆÐ/�9˜yØ •DŠ=ˆ=Ý!%°ÀtÐ!LÑ!LÔ!LÑ ˆH�hÝÔ-¨h½¼ ÑDÔDˆIˆIàˆIØ •TŠ>ˆ>Ý#'°=Ð#AÑ#AÔ#AÑ ˆI�yÝÔ.¨y¸!Ñ<Ô<ˆJˆJàˆJØ •TŠ>ˆ>Ý#'°=Ð#AÑ#AÔ#AÑ ˆI�yÝÔ.¨y¸!Ñ<Ô<ˆJˆJØ •vÒ Ð Ø#ˆJˆJàˆJð %Ø �E‰GŒGÔ ˜Tð 8¨¸:Ø$.ð 8ð 8Ø26ð 8ð 8ð 8ðÐ#Ý'¨Ñ1Ô1�” ØÐ$Ý(¨Ñ3Ô3�” ØÐ$Ý(¨Ñ3Ô3�” øøð Ø  ¨9Ð5ð +ð +�Ø�=ÝÔ'¨Ñ*Ô*Ð*øØ øøøð�Š}ˆ}Ý”˜Ñ#Ô#Ð#Ø�Š~ˆ~Ý”˜Ñ$Ô$Ð$Ø�Š~ˆ~Ý”˜Ñ$Ô$Ð$Ð$Ð$ðˆ~øð �Š}ˆ}Ý”˜Ñ#Ô#Ð#Ø�Š~ˆ~Ý”˜Ñ$Ô$Ð$Ø�Š~ˆ~Ý”˜Ñ$Ô$Ð$Ð$ðøøøs Ã=EÄAG#Å!E?Å?G#Ç#A I)NNN)r@rVrWrXr8Ú __classcell__)r?s@r/rr}sGø€€€€€ððð+%ð+%ð+%ð+%ð+%ð+%ð+%ð+%ð+%ð+%r9r)rXÚsysÚplatformÚ ImportErrorrÚ itertoolsrcrÚ subprocessrrZÚ__all__ÚBUFSIZErrfÚcountrrrrrOr9r/úr}s%ðØ/Ð/à € € € à„<�7ÒÐØ ˆ+�lÑ #Ô #Ð#à€€€ØÐÐÐØ € € € Ø € € € ØÐÐÐØ€€€Ø€€€ð 0€ð €Ø„€Ø Ô €Ø� ”Ñ!Ô!€ ð  \¸7ð+ð+ð+ð+ð+ðb&ð&ð&ð&ð&ñ&ô&ð&ðX0%ð0%ð0%ð0%ð0%ˆJÔ ñ0%ô0%ð0%ð0%ð0%r9