grthtrhthjhtyjytjytkergtrhtrjytjerhrfh3 \ãã@sÜddlZejdkredƒ‚ddlZddlZddlZddlZddlZddlZddl Z ddl Z dddddgZ d Z ej Z ejZejƒZeedƒr’ejZnejejdfd d„Zd de d œdd„ZGdd„dƒZGdd„dejƒZdS)éNZwin32z win32 onlyÚ socketpairÚpipeÚPopenÚPIPEÚ PipeHandlei c Cs|tjkrd}n|tjkr d}ntdƒ‚|tjkr:tdƒ‚|dkrJtdƒ‚tj|||ƒ}z¦|j|dfƒ|jdƒ|jƒdd…\}}tj|||ƒ}yP|jd ƒy|j ||fƒWnt t fk rÊYnX|jd ƒ|j ƒ\}} Wn|j ƒ‚YnXWd|j ƒX||fS) Nz 127.0.0.1z::1z?Only AF_INET and AF_INET6 socket address families are supportedz)Only SOCK_STREAM socket type is supportedrzOnly protocol zero is supportedééFT)ÚsocketÚAF_INETZAF_INET6Ú ValueErrorÚ SOCK_STREAMZbindZlistenZ getsocknameZ setblockingZconnectÚBlockingIOErrorÚInterruptedErrorZacceptÚclose) ZfamilyÚtypeÚprotoÚhostZlsockZaddrZportZcsockZssockÚ_©rú-/usr/lib64/python3.6/asyncio/windows_utils.pyr%s8        FT)ÚduplexÚ overlappedÚbufsizec Cs"tjdtjƒttƒfd�}|r>tj}tjtj B}||}}ntj }tj }d|}}|tj O}|drp|tj O}|dr€tj }nd}d} } yZtj ||tjd||tjtjƒ} tj||dtjtj|tjƒ} tj| dd�} | jdƒ| | fS| dk �rtj| ƒ| dk �rtj| ƒ‚YnXdS)Nz\\.\pipe\python-pipe-%d-%d-)ÚprefixrrT)r)ÚtempfileZmktempÚosÚgetpidÚnextÚ _mmap_counterÚ_winapiZPIPE_ACCESS_DUPLEXZ GENERIC_READZ GENERIC_WRITEZPIPE_ACCESS_INBOUNDZFILE_FLAG_FIRST_PIPE_INSTANCEZFILE_FLAG_OVERLAPPEDZCreateNamedPipeZ PIPE_WAITZNMPWAIT_WAIT_FOREVERZNULLZ CreateFileZ OPEN_EXISTINGZConnectNamedPipeZGetOverlappedResultÚ CloseHandle) rrrZaddressZopenmodeÚaccessZobsizeZibsizeZflags_and_attribsZh1Zh2ZovrrrrSs@           c@sXeZdZdd„Zdd„Zedd„ƒZdd„Zej d œd d „Z d d „Z dd„Z dd„Z dS)rcCs ||_dS)N)Ú_handle)ÚselfÚhandlerrrÚ__init__ˆszPipeHandle.__init__cCs*|jdk rd|j}nd}d|jj|fS)Nz handle=%rÚclosedz<%s %s>)r"Ú __class__Ú__name__)r#r$rrrÚ__repr__‹s  zPipeHandle.__repr__cCs|jS)N)r")r#rrrr$’szPipeHandle.handlecCs|jdkrtdƒ‚|jS)NzI/O operatioon on closed pipe)r"r )r#rrrÚfileno–s zPipeHandle.fileno)r cCs|jdk r||jƒd|_dS)N)r")r#r rrrr›s  zPipeHandle.closecCs*|jdk r&tjd|t|d�|jƒdS)Nz unclosed %r)Úsource)r"ÚwarningsÚwarnÚResourceWarningr)r#rrrÚ__del__ s  zPipeHandle.__del__cCs|S)Nr)r#rrrÚ __enter__¦szPipeHandle.__enter__cCs |jƒdS)N)r)r#ÚtÚvÚtbrrrÚ__exit__©szPipeHandle.__exit__N)r(Ú __module__Ú __qualname__r%r)Úpropertyr$r*rr rr/r0r4rrrrrƒs cseZdZd‡fdd„ Z‡ZS)rNc s|d}}}d} } } |tkr@tddd�\} } tj| tjƒ}n|}|tkrhtdd�\} } tj| dƒ}n|}|tkr�td d�\} }tj|dƒ}n|tkrž|}n|}z–y tƒj|f|||dœ|—ŽWn4x$| | | fD]}|dk rØt j |ƒqØW‚Yn>X| dk �rt | ƒ|_ | dk �r"t | ƒ|_ | dk �r6t | ƒ|_Wd|tk�rNtj|ƒ|tk�rbtj|ƒ|tk�rvtj|ƒXdS) NFT)rr)rr)ÚstdinÚstdoutÚstderr)FT)TF)TF)rrÚmsvcrtZopen_osfhandlerÚO_RDONLYÚSTDOUTÚsuperr%rr rr8r9r:r)r#Úargsr8r9r:ÚkwdsZ stdin_rfdZ stdout_wfdZ stderr_wfdZstdin_whZ stdout_rhZ stderr_rhZstdin_rhZ stdout_whZ stderr_whÚh)r'rrr%µsH            zPopen.__init__)NNN)r(r5r6r%Ú __classcell__rr)r'rr°s)TT)ÚsysÚplatformÚ ImportErrorrÚ itertoolsr;rr Ú subprocessrr,Ú__all__ZBUFSIZErr=ÚcountrÚhasattrrr r rrrrrrrÚs*  .0-