f ddlmZddlZddlZddlZddlmZmZddlmZmZmZgdZ dZ dZ dZ dZ dZd Zd Zd Zd Zd ZeefdZeefdZdS))selectN)closewaitpid)setraw tcgetattr tcsetattr)openptyforkspawnc tjS#ttf$rYnwxYwt \}}t |}||fSN)osr AttributeErrorOSError_open_terminal slave_open) master_fd slave_nameslave_fds */opt/alt/python311/lib64/python3.11/pty.pyr r sfE z|| G $     *,,Iz*%%H h s **c tj\}}tj|}tj|||fS#tt f$rYnwxYwt Sr)rr ttynamerrrr)rrrs r master_openr&s}*% jll 8Z))  *$$ G $        sAAAc dD]M}dD]H}d|z|z} tj|tj}n#t$rY7wxYw|d|z|zfccSNtd)NpqrstuvwxyzPQRST0123456789abcdefz/dev/ptyz/dev/ttyzout of pty devices)ropenO_RDWRr)xypty_namefds rrr6s; ,,# , ,A!A~)H WXry11     Q*+ + + + + +  , & ' ''s3 AAc tj|tj} ddlm}m}n#t $r|cYSwxYw |||d|||dn#t$rYnwxYw|S)Nr)ioctlI_PUSHptemldterm)rrr fcntlr&r' ImportErrorr)tty_nameresultr&r's rrrBs* WXry ) )F'''''''''    fff%%% ffh''''      Ms+ ::A A&%A&c tj\}}|tkr% tjn#t$rYnwxYw||fS#t tf$rYnwxYwt \}}tj}|tkrtjtj|tj |ttj |ttj |t|tkrtj|tj tjttj}tj|ntj|||fSr)rforkptyCHILDsetsidrrr r rdup2 STDIN_FILENO STDOUT_FILENO STDERR_FILENOrrr )pidr$rrtmp_fds rr r TskM *,,R %<<      Bw G $     "))Ix '))C e||   ,''' -((( -((( m # # HX   M22BI>>    >s A 9 AA A! A!c. tj|dS)Ni)rread)r$s r_readr:|s 72t  c tj|rZtj|d t|||tj|dn#tj|dwxYwdSd}|tk}|t k}d}d} g}g} |r-t ||kr|t|r(t ||kr|||r-t |dkr| t t |dkr| |t|| g\}} } t | vr8 tj t |} || d}n#t$rd}YnwxYw||vr( ||} n#t$rd} YnwxYw| sdS|| z }|| vrtj ||} || d}|r#t|vr|t} | sd}n|| z })NF) master_read stdin_readTir;r r) r get_blocking set_blocking_copyr3r4lenappendrwriter) rr=r>high_waterlevel stdin_avail stdout_availi_bufo_bufrfdswfds_xfdsndatas rrArAs}< y!!   5))) - ) L L L L OIt , , , ,BOIt , , , ,O|+K -L E E*  &3u::77 KK % % %  #CJJ88 KK " " "  'CJJNN KK & & & u::>> KK " " ""4r22dE D  %H]E22abb  % % %$  %    "{9--      TME   E**A!""IE  <4//:l++D #  U*s/AA+ $F FF F(( F76F7cf t|tdkr|f}tjd|t\}}|tkrt j|dg|R tt}ttd}n#tj $rd}YnwxYw t||||r tttj|n(#|r!tttj|wwxYwt|t!|ddS)Nz pty.spawnrTFr )typesysauditr r0rexeclprr3rttyerrorrAr TCSAFLUSHrr)argvr=r>r6rmoderestores rr r s5# DzzT"XXwIk4   VVNC e|| $q'!D!!!!&&| 99 ij111  9 lCM4 8 8 8  9 lCM4 8 8 8 8 9 ) 3??1 s/*BB.-B.2C&&%D )rrrRrUrrrrr__all__r3r4r5r0r rrrr r:rAr r;rr]s*  ,,,,,,,,,, & & &        ( ( ($&&&P"'5????B"er;