�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` 3 \��@sRddlZddlZdd�ZGdd�d�ZedkrNdd�Zeje�Zed e e��dS) �NcCs�|j|d|tj||d�|j||dtj||d�|j||dtj||d�|j|d|tj||d�|j||tj�|j||tj�|j||tj�|j||tj �dS)N�) Zvline�cursesZ ACS_VLINEZhlineZ ACS_HLINE�addchZ ACS_ULCORNERZ ACS_URCORNERZ ACS_LRCORNERZ ACS_LLCORNER)�win�uly�ulxZlryZlrx�r�&/usr/lib64/python3.6/curses/textpad.py� rectanglesr c@sHeZdZddd�Zdd�Zdd�Zdd �Zd d �Zd d �Zddd�Z dS)�TextboxFcCs.||_||_|j�d|_d|_|jd�dS)Nr)r� insert_mode�_update_max_yx� stripspaces�lastcmdZkeypad)�selfrr rrr �__init__+s zTextbox.__init__cCs&|jj�\}}|d|_|d|_dS)Nr)rZgetmaxyx�maxy�maxx)rrrrrr r 3s zTextbox._update_max_yxcCs\|j�|j}xHtjj|jj||��tjjkrBt|j|d�}Pn |dkrLP|d}qW|S)Nrr)r rr�asciir�inchZSP�min)r�yZlastrrr � _end_of_line8s zTextbox._end_of_linec Cs�|j�|jj�\}}d}x�||jks0||jkr�|jr@|jj�}y|jj|�Wntj k rfYnX|j s~tj j |� r�P|}|jj�\}}|dkr||f}qW|dk r�|jj |�dS)N) r r�getyxrrr rrr�errorr�isprint�move)r�chr�xZbackyxZoldchrrr �_insert_printable_charFs$  zTextbox._insert_printable_charcCsV|j�|jj�\}}||_tjj|�rJ||jks<||jkrF|j |��n|tjj krh|jj |d��n�|tjj tj tjjtjfk�r|dkr�|jj ||d�nB|dkr�n8|jr�|jj |d|j|d��n|jj |d|j�|tjjtjfk�rR|jj��nL|tjjk�r"|jj��n0|tjjk�rb|j�rN|jj ||j|��n|jj ||j��n�|tjjtjfk�r�||jk�r�|jj ||d�n ||jk�r�n|jj |dd��n�|tjjk�r�dS|tjjk�r |jdk�r�dS||jk�rR|jj |dd��nF|tjjk�rZ|dk�r@|j|�dk�r@|jj�n|jj ||�|jj�n�|tjjk�rt|jj�n�|tjjtjfk�r�||jk�rR|jj |d|�||j|d�k�rR|jj |d|j|d��nz|tjj k�r�|jj!�n`|tjj"tj#fk�rR|dk�rR|jj |d|�||j|d�k�rR|jj |d|j|d��dS)Nrr)$r rrrrrrrrrZSOHrZSTXZKEY_LEFTZBSZ KEY_BACKSPACErrZdelchZEOTZENQZACKZ KEY_RIGHTZBEL�NLZVTZdeletelnZclrtoeolZFF�refresh�SOZKEY_DOWNZSIZinsertlnZDLEZKEY_UP)rrrrrrr � do_command_sr            zTextbox.do_commandcCs�d}|j�x�t|jd�D]�}|jj|d�|j|�}|dkrH|jrHqxDt|jd�D]2}|jrl||krlP|tt j j |jj ||���}qXW|jdkr|d}qW|S)N�rr� ) r �rangerrrrrr�chrrrr)r�resultr�stoprrrr �gather�s "  zTextbox.gatherNcCs@x6|jj�}|r||�}|sq|j|�s*P|jj�qW|j�S)N)rZgetchr#r!r*)rZvalidaterrrr �edit�s  z Textbox.edit)F)N) �__name__� __module__� __qualname__rr rrr#r*r+rrrr r s Ar �__main__cCsfd\}}d \}}|j|d|d�tj||||�}t||d|d||||�|j�t|�j�S) N� ����zUse Ctrl-G to end editing.r)r0r1)r2r3)ZaddstrrZnewwinr r!r r+)ZstdscrZncolsZnlinesrrrrrr � test_editbox�s r5zContents of text box:) rZ curses.asciir r r,r5�wrapper�str�print�reprrrrr �s ,