� !A?h���� ddlmZddlZddlZddlZddlmZmZddlmZmZmZgd�Z dZ dZ dZ dZ d�Zd �Zd �Zd �Zd �Zd �Zeefd�Zeefd�ZdS)�)�selectN)�close�waitpid)�setraw� tcgetattr� tcsetattr)�openpty�fork�spawn��c�� tj��S#ttf$rYnwxYwt ��\}}t |��}||fS�N)�osr �AttributeError�OSError�_open_terminal� slave_open)� master_fd� slave_name�slave_fds �0/opt/alt/python-internal/lib64/python3.11/pty.pyr r sf��E� ��z�|�|��� �G� $� � � � �� ����*�,�,��I�z��*�%�%�H� �h� �s ��*�*c��� tj��\}}tj|��}tj|��||fS#tt f$rYnwxYwt ��Sr)rr �ttynamerrrr)rrrs r� master_openr&s}��*�%� �j�l�l�� �8��Z��)�)� � �������*�$�$�� �G� $� � � � �� ���� � � �s�A�A�Ac��� dD]M}dD]H}d|z|z} tj|tj��}n#t$rY�7wxYw|d|z|zfccS�Ntd���)N�pqrstuvwxyzPQRST�0123456789abcdefz/dev/ptyz/dev/ttyzout of pty devices)r�open�O_RDWRr)�x�y�pty_name�fds rrr6s���;� �,�,��#� ,� ,�A�!�A�~��)�H� ��W�X�r�y�1�1����� � � ��� ����� �Q���*�+� +� +� +� +� +�  ,� �&� '� '�'s�3� A�Ac��� tj|tj��} ddlm}m}n#t $r|cYSwxYw |||d��|||d��n#t$rYnwxYw|S)Nr)�ioctl�I_PUSH�ptem�ldterm)rrr �fcntlr&r'� ImportErrorr)�tty_name�resultr&r's rrrBs���*� �W�X�r�y� )� )�F��'�'�'�'�'�'�'�'�'�� ����� � � ����� � ��f�f�f�%�%�%� ��f�f�h�'�'�'�'�� � � � � �� ���� �Ms�+� :�:�A� A&�%A&c�� tj��\}}|tkr% tj��n#t$rYnwxYw||fS#t tf$rYnwxYwt ��\}}tj��}|tkr�tj��tj|��tj |t��tj |t��tj |t��|tkrtj|��tj tjt��tj��}tj|��ntj|��||fSr)r�forkpty�CHILD�setsidrrr r r�dup2� STDIN_FILENO� STDOUT_FILENO� STDERR_FILENOrrr )�pidr$rr�tmp_fds rr r Tsk��M� ��*�,�,���R� �%�<�<� �� � � � � ��� � � ��� �����B�w��� �G� $� � � � �� ����"�)�)��I�x� �'�)�)�C� �e�|�|� � � � � � ������ ���,�'�'�'� ���-�(�(�(� ���-�(�(�(� �m� #� #� �H�X� � � �����M�2�2�B�I�>�>�� ������� ������ � �>�s �A �9� A�A� A!� A!c�.� tj|d��S)Ni)r�read)r$s r�_readr:|s�� � �7�2�t� � ��c�� tj|��rZtj|d�� t|||���tj|d��n#tj|d��wxYwdSd}|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�_copyr3r4�len�appendr�writer) rr=r>�high_waterlevel� stdin_avail� stdout_avail�i_buf�o_buf�rfds�wfds�_xfds�n�datas rrArA�s}��<� ��y�!�!� � �� �5�)�)�)� -� �)��� L� L� L� L� �O�I�t� ,� ,� ,� ,��B�O�I�t� ,� ,� ,� ,�������O��|�+�K�� �-�L� �E� �E�*����� � &�3�u�:�:��7�7� �K�K� � %� %� %� � #�C��J�J��8�8� �K�K� � "� "� "� � '�C��J�J��N�N� �K�K� � &� &� &� �u�:�:��>�>� �K�K� � "� "� "�"�4��r�2�2���d�E� �D� � � %��H�]�E�2�2���a�b�b� ����� %� %� %�$� � � � %���� �� � � �"�{�9�-�-����� � � ����� ����� ��� �T�M�E� �� � ����E�*�*�A��!�"�"�I�E� � �<�4�/�/��:�l�+�+�D�� �#� � ��� ��U*s/�A�A+� $F� F�F� F(�( F7�6F7c�f� t|��td��kr|f}tjd|��t��\}}|tkrt j|dg|�R� tt��}tt��d}n#tj $rd}YnwxYw t|||��|r tttj|��n(#|r!tttj|��wwxYwt|��t!|d��dS)N�z pty.spawnrTFr )�type�sys�auditr r0r�execlprr3r�tty�errorrAr� TCSAFLUSHrr)�argvr=r>r6r�mode�restores rr r �s5��#� �D�z�z�T�"�X�X����w���I�k�4� � � ��V�V�N�C�� �e�|�|� � �$�q�'�!�D�!�!�!�!����&�&���|�������� �9������������9� �i��j�1�1�1� � 9� �l�C�M�4� 8� 8� 8��� � 9� �l�C�M�4� 8� 8� 8� 8� 9���� �)���� �3��?�?�1� �s�/*B�B.�-B.�2C&�&%D )rrrRrUrrrrr�__all__r3r4r5r0r rrrr r:rAr �r;r�r]s*�� ������� � � � � � � � � � � � ���������,�,�,�,�,�,�,�,�,�,� &� &� &��� �� �� � �� � � ���� (� (� (����$&�&�&�P���"'�5�?�?�?�?�B"�e������r;