eaiovnaovbqoebvqoeavibavo B YI~d @sddlZddlZddlZddlmZejZddddddd d d d d ddddddddgZddZ ddZ dekrdZ dZ ddl Tyddl mZedWnek rYnXddlZyddl mZWnek rYnXddl Z ee e [ nd ekrd Z d!Z ddlTyddlmZedWnek r>YnXddlZddlZee e[yddlmZWnek rYnXned"eejd#<dd$lmZmZmZmZmZmZmZm Z [e d%re!Z"d&d'Z#e$Z%e#d(d)e#d*d+e#d,d-e#d.d/e#d0d1e#d2d3e#d4d5e#d6d7e#d8d9e#d:d;e#dd?e#d@dAe#dBdCe#dBdDe#dEd1e%Z&e$Z%e#d(d)e%Z'e$Z%e#dFdGe#dHd+e#dId-e#dJdKe#dJdLe#dMdNe%(ee#dOdPe#dQd1e#dRd1e#dSdTe dUr.e dVr.e#dWdUe%Z)e$Z%e#d(d)e#d,d-e#d.d/e#dXdYe#dZd+e d[r~e#d\d-e#d2d3e#d]d1e#d^d/e#d.d/e#dEd1e#d_d/e%Z*[%[["[#dZ+d`Z,daZ-ddddeZ.dfdgZ/dhdiZ0ededgdigddkdlZ1edle2ehe&krPe3ehe)krPddcddndodpZ4dqdrZ5edpye6Wne7k rriZ6YnXdsdtZ8dudvZ9dwdxZ:dydzZ;d{d|ZdddZ?ddlm@Z@Gddde@ZAyeBZCWne7k rddZCYnXdekr&edyeDZEWne7k rLddZEYnXdekrbedddZFeFZ6[FdddZGe d kZHedeHrddZIeAe6jJeIeKeIeKeCeEZL[IdddZMedddZNeN\ZOZP[Ne drPe dsPe drPdZQd`ZRZSedddgddZTddZUddZVddZWddZXeddddge drxddZYddZZeddge drddZ[ddZ\eddgdddZ]GdddZ^ddZ_ddZ`e dse`Zadea_bGdddejcZddS)N)_check_methodsaltsepcurdirpardirseppathseplinesepdefpathnamepathdevnullSEEK_SETSEEK_CURSEEK_ENDfsencodefsdecode get_exec_pathfdopenpopenextsepcCs |tkS)N)globals)r r'/opt/alt/python37/lib64/python3.7/os.py_exists'srcCs2y t|jStk r,ddt|DSXdS)NcSsg|]}|ddkr|qS)r_r).0nrrr .sz%_get_exports_list..)list__all__AttributeErrordir)modulerrr_get_exports_list*s r#posix )*)_exitr')_have_functionsntz zno os specific module foundzos.path)rrrrr rrr r(cCs"|tkr|tkrtt|dS)N)_globalsr(_setadd)strfnrrr_addfsr/ZHAVE_FACCESSATaccessZ HAVE_FCHMODATchmodZ HAVE_FCHOWNATchownZ HAVE_FSTATATstatZHAVE_FUTIMESATutimeZ HAVE_LINKATlinkZ HAVE_MKDIRATmkdirZ HAVE_MKFIFOATmkfifoZ HAVE_MKNODATmknodZ HAVE_OPENATopenZHAVE_READLINKATreadlinkZ HAVE_RENAMEATrenameZHAVE_SYMLINKATsymlinkZ HAVE_UNLINKATunlinkrmdirZHAVE_UTIMENSATZ HAVE_FCHDIRchdirZ HAVE_FCHMODZ HAVE_FCHOWNZHAVE_FDOPENDIRlistdirscandirZ HAVE_FEXECVEexecveZHAVE_FTRUNCATEtruncateZ HAVE_FUTIMENSZ HAVE_FUTIMESZHAVE_FPATHCONFpathconfstatvfsfstatvfsZ HAVE_FSTATVFSZ HAVE_LCHFLAGSZchflagsZ HAVE_LCHMODlchownZ HAVE_LCHOWNZ HAVE_LUTIMESZ HAVE_LSTATZ MS_WINDOWSFcCst|\}}|s t|\}}|r||r|t|s|yt||dWntk rVYnXt}t|trpttd}||kr|dSyt||Wn$t k r|rt |sYnXdS)N)exist_okASCII) r splitexistsmakedirsFileExistsErrorr isinstancebytesr6OSErrorisdir)r moderKheadtailcdirrrrrOs$   rOcCslt|t|\}}|s(t|\}}x>|rf|rfy t|Wntk rTPYnXt|\}}q*WdS)N)r>r rMrS)r rVrWrrr removedirss   rYcCsnt|\}}|r(|r(t|s(t|t||t|\}}|rj|rjy t|Wntk rhYnXdS)N)r rMrNrOr;rYrS)oldnewrVrWrrrrenamess  r\Tc cst|}g}g}g}y t|}Wn2tk rR}z|dk rB||dSd}~XYnX|xy(y t|} Wntk rPYnXWn2tk r}z|dk r||dSd}~XYnXy | } Wntk rd} YnX| r|| jn || j|s`| r`|rd} n.y | } Wntk r:d} YnX| } | r`|| j q`WWdQRX|r|||fVt j t j } }xn|D]4}|||}|s| |st ||||EdHqWn0x"|D]}t ||||EdHqW|||fVdS)NFT) fspathrArSnext StopIterationis_dirappendr is_symlinkr islinkjoinwalk)toptopdownonerror followlinksdirsnondirs walk_dirs scandir_iterrorentryr` walk_intorbrcrddirnamenew_pathrrrres`;            re.)follow_symlinksdir_fdccst|trt|dst|}|s.t|d|d}t|t|d}zB|s^t|j r|t |t|r|t ||t|t |||EdHWdt|XdS)N __index__F)rtru)ru)rQinthasattrr]r3r9O_RDONLYstS_ISDIRst_moder samestat_fwalkrRclose)rfrgrhrtruorig_sttopfdrrrfwalks!rc cst|}g}g}|s|rdng} x|D]} | j} |ry|j||}Wntk r2t|dYnX||S)N)rrrr)rkeyvaluerrr __getitem__s z_Environ.__getitem__cCs.||}||}|||||j|<dS)N)rrrr)rrrrrr __setitem__s   z_Environ.__setitem__cCsD||}||y |j|=Wntk r>t|dYnXdS)N)rrrr)rr encodedkeyrrr __delitem__s    z_Environ.__delitem__ccs(t|j}x|D]}||VqWdS)N)rrr)rkeysrrrr__iter__s  z_Environ.__iter__cCs t|jS)N)lenr)rrrr__len__sz_Environ.__len__cs$ddfddjDS)Nzenviron({{{}}})z, c3s*|]"\}}d||VqdS)z {!r}: {!r}N)formatrr)rrr)rrr sz$_Environ.__repr__..)rrdritems)rr)rr__repr__s z_Environ.__repr__cCst|S)N)dict)rrrrcopysz _Environ.copycCs||kr|||<||S)Nr)rrrrrr setdefaultsz_Environ.setdefaultN) __name__ __module__ __qualname__rrrrrrrrrrrrrrs  rcCsdS)Nr)rrrrrrrcCs t|dS)N)_putenv)rrrrrrrcstdkrLdd}|t}fdd}i}xJtD]\}}||||<q2Wn(tfddfdd }}t}t||||ttS) Nr)cSs t|tstdt|j|S)Nzstr expected, not %s)rQr-rtyper)rrrr check_strs z!_createenviron..check_strcs |S)N)upper)r)encoderrrsz!_createenviron..encodekeycs(t|tstdt|j|dS)Nzstr expected, not %ssurrogateescape)rQr-rrrr)r)encodingrrrs z_createenviron..encodecs |dS)Nr)decode)r)rrrrsz_createenviron..decode) r r-rrsysgetfilesystemencodingrr _unsetenv)rrrrrrr)rrr_createenvirons"   rcCs t||S)N)rr)rdefaultrrrgetenvsr)rrcCs t|tstdt|j|S)Nzbytes expected, not %s)rQrRrrr)rrrr _check_bytess rcCs t||S)N)environbr)rrrrrgetenvbsr)rrcs4ttfdd}fdd}||fS)Ncs&t|}t|tr|S|SdS)N)r]rQr-r)filename)rerrorsrrr&s  z_fscodec..fsencodecs&t|}t|tr|S|SdS)N)r]rQrRr)r)rrrrr2s  z_fscodec..fsdecode)rrgetfilesystemencodeerrors)rrr)rrr_fscodec"s   rforkspawnvrP_WAITP_NOWAIT P_NOWAITOcCst|ttfstd|r"|ds*tdt}|spy$|dkrJ|||n ||||WqtdYqXnV|tkr||SxHt|d\}}t |rq~q~t |rt | St |rt |Stdq~WdS)Nzargv must be a tuple or a listrz"argv first element cannot be emptyz"Not stopped, signaled or exited???)rQtuplerrrrr'rwaitpid WIFSTOPPED WIFSIGNALEDWTERMSIG WIFEXITED WEXITSTATUSrS)rUrrrfuncpidwpidstsrrr _spawnvefOs.   rcCst|||dtS)N)rr)rUrrrrrrnscCst||||tS)N)rrB)rUrrrrrrspawnvewsrcCst|||dtS)N)rr)rUrrrrrspawnvpsrcCst||||tS)N)rr)rUrrrrrrspawnvpesrcGs t|||S)N)r)rUrrrrrspawnlsrcGs|d}t|||dd|S)Nr)r)rUrrrrrrspawnlesrcGs t|||S)N)r)rUrrrrrspawnlpsrcGs|d}t|||dd|S)Nr)r)rUrrrrrrspawnlpesrrrcCst|tstdt||dkr.td||dks>|dkrFtdddl}ddl}|dkr|j|d|j|d}t | |j |S|j|d|j|d }t | |j |SdS) Nz&invalid cmd type (%s, expected string))rwzinvalid mode %rrz+popen() does not support unbuffered streamsrT)shellstdoutbufsize)rstdinr) rQr-rrr subprocessioPopenPIPE _wrap_close TextIOWrapperrr)cmdrU bufferingrrprocrrrrs$  c@s<eZdZddZddZddZddZd d Zd d Zd S)rcCs||_||_dS)N)_stream_proc)rstreamr rrrrsz_wrap_close.__init__cCs8|j|j}|dkr dStdkr,|S|d>SdS)Nrr))r rrwaitr )r returncoderrrrs  z_wrap_close.closecCs|S)Nr)rrrr __enter__sz_wrap_close.__enter__cGs |dS)N)r)rrrrr__exit__sz_wrap_close.__exit__cCs t|j|S)N)getattrr )rr rrr __getattr__sz_wrap_close.__getattr__cCs t|jS)N)iterr )rrrrrsz_wrap_close.__iter__N) rrrrrrrrrrrrrrs  rcOs4t|tstdt|ddl}|j|f||S)Nz&invalid fd type (%s, expected integer)r)rQrwrrrr9)fdrkwargsrrrrrs cCst|ttfr|St|}y||}Wn0tk rXt|drFntd|jYnXt|ttfrl|Std |jt|jdS)N __fspath__z/expected str, bytes or os.PathLike object, not z7expected {}.__fspath__() to return str or bytes, not {}) rQr-rRrrr rxrrr)r path_type path_reprrrr_fspath s rr]c@s&eZdZejddZeddZdS)PathLikecCstdS)N)NotImplementedError)rrrrr2szPathLike.__fspath__cCs|tkrt|dStS)Nr)rrNotImplemented)clssubclassrrr__subclasshook__7s zPathLike.__subclasshook__N)rrrabcabstractmethodr classmethodr#rrrrr.sr)rJF)TNF)rsTN)N)N)N)N)rr)er$rr3rz_collections_abcrbuiltin_module_namesZ_namesrrr#r rr$r'ra ImportError posixpathr r(extendr)ZntpathmodulesZos.pathrrrrr rrr rr*r/setr+supports_dir_fdsupports_effective_idsr, supports_fdsupports_follow_symlinksr rrrOrYr\rer9rArr~r NameErrorrrrrrrrrrrrrrrrrrrrrRrrrrrrrrrrrrrrrrrrrrrr]rABCrrrrrs~        (                                              08     - 7