Sindbad~EG File Manager
�
$Μg����� ddlZddlZddlZddlmZmZmZgd�ZeezezZGd�de �Z
Gd�d�Zd�ZGd �d
�Z
d�Zd�ZGd
�de�Zd�Zd�Zd�Zy)�N)�CO_GENERATOR�CO_COROUTINE�CO_ASYNC_GENERATOR)�BdbQuit�Bdb�
Breakpointc��eZdZy)rN)�__name__�
__module__�__qualname__��� /usr/local/lib/python3.12/bdb.pyrr
s��*rrc�0�eZdZ d/d�Zd�Zd�Zd�Zd�Zd�Zd�Z d �Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�Zd0d�Zd�Zd/d�Zd�Zd�Zd�Zd/d�Zd�Zd�Zd�Z d1d�Zd�Zd�Z d �Z!d!�Z"d"�Z#d#�Z$d$�Z%d%�Z&d&�Z'd'�Z(d(�Z)d)�Z*d2d*�Z+d3d+�Z,d3d,�Z-d-�Z.d.�Z/y)4rNc�v�|rt|�nd|_i|_i|_d|_|j�y�N)�set�skip�breaks�fncache�frame_returning�_load_breaks)�selfrs r�__init__zBdb.__init__s3��!%�C��I�4�� �������#������rc�� |d|ddzdzk(r|S|jj|�}|sMtjj |�}tjj|�}||j|<|S)N�<�����>)r�get�os�path�abspath�normcase)r�filename�canonics rr&zBdb.canonic'sv�� ��s�X�a��^�+�c�1�1��O��,�,�"�"�8�,����g�g�o�o�h�/�G��g�g�&�&�w�/�G�%,�D�L�L��"��rc�`� ddl}|j�d|_|jdd�y)Nr)� linecache�
checkcache�botframe�
_set_stopinfo)rr(s r�resetz Bdb.reset8s+��C��������
����4��&rc�|� |jry|dk(r|j|�S|dk(r|j||�S|dk(r|j||�S|dk(r|j ||�S|dk(r|j
S|dk(r|j
S|dk(r|j
St
dt|��|j
S) N�line�call�return� exception�c_call�c_exception�c_returnz*bdb.Bdb.dispatch: unknown debugging event:)�quitting�
dispatch_line�
dispatch_call�dispatch_return�dispatch_exception�trace_dispatch�print�repr)r�frame�event�args rr:zBdb.trace_dispatch?s��� �.�=�=���F�?��%�%�e�,�,��F�?��%�%�e�S�1�1��H���'�'��s�3�3��K���*�*�5�#�6�6��H���&�&�&��M�!��&�&�&��J���&�&�&�
�:�D��K�H��"�"�"rc�� |j|�s|j|�r#|j|�|jrt�|j
Sr)� stop_here�
break_here� user_liner5rr:�rr=s rr6zBdb.dispatch_linejsC�� ��>�>�%� �D�O�O�E�$:��N�N�5�!��}�}�G�m��"�"�"rc�f� |j�|j|_|jS|j|�s|j |�sy|j
r)|jjtzr|jS|j||�|jrt�|jSr)r*�f_backr:rA�break_anywhere� stopframe�f_code�co_flags�GENERATOR_AND_COROUTINE_FLAGS� user_callr5r�rr=r?s rr7zBdb.dispatch_callvs��� ��=�=� �!�L�L�D�M��&�&�&����u�%��)<�)<�U�)C���>�>�e�l�l�3�3�6S�S��&�&�&����u�c�"��=�=��-��"�"�"rc��� |j|�s||jk(r�|jr)|jjt
zr|jS ||_|j||�d|_|jrt�|j|ur!|jdk7r|jdd�|jdk7r|j|�|jS#d|_wxYw�Nr)rA�returnframerHrIrJrKr:r�user_returnr5r�
stoplinenor+�_set_caller_tracefuncrMs rr8zBdb.dispatch_return�s��� ��>�>�%� �E�T�-=�-=�$=��~�~�%�,�,�"7�"7�:W�"W��*�*�*�
,�',��$�� � ���,�'+��$��}�}�G�m��~�~��&�4�?�?�b�+@��"�"�4��.����"�$��*�*�5�1��"�"�"��(,��$�s�C%�% C.c��� |j|�r]|jjtzr|dtur|d�$|j||�|jrt�|jS|jrj||jur\|jjjtzr5|dttfvr$|j||�|jrt�|jS)Nr�)rArIrJrK�
StopIteration�user_exceptionr5rrH�
GeneratorExitr:rMs rr9zBdb.dispatch_exception�s��� ��>�>�%� ��L�L�)�)�,I�I��A��-�/�C��F�N��#�#�E�3�/��=�=��-��"�"�"�
�n�n��d�n�n�!<��N�N�)�)�2�2�5R�R���F�}�m�<�<�����s�+��}�}�G�m��"�"�"rc�^� |�y|jD]}tj||�s�yy�NFT)r�fnmatch)r�module_name�patterns r�is_skipped_modulezBdb.is_skipped_module�s2��>�����y�y�G����{�G�4��!�rc�� |jr+|j|jjd��ry||jur)|j
dk(ry|j|j
k\S|jsyy)Nr
FrT)rr^� f_globalsr rHrR�f_linenorDs rrAz
Bdb.stop_here�si��H��9�9��%�%�e�o�o�&9�&9�*�&E�F���D�N�N�"����"�$���>�>�T�_�_�4�4��~�~��rc�� |j|jj�}||jvry|j}||j|vr(|jj
}||j|vryt
|||�\}}|rD|j|_|r0|jr$|jt|j��yyrZ)r&rI�co_filenamerra�co_firstlineno� effective�number� currentbp� temporary�do_clear�str)rr=r%�lineno�bp�flags rrBzBdb.break_here�s��� �
�<�<���� 8� 8�9���4�;�;�&����������X�.�.��\�\�0�0�F��T�[�[��2�2���x���7�
��T�
��Y�Y�D�N������
�
�c�"�)�)�n�-��rc�� td��)Nz)subclass of bdb must implement do_clear())�NotImplementedError)rr?s rrizBdb.do_clear�s�� �"�"M�N�Nrc�f� |j|jj�|jvSr)r&rIrcrrDs rrGzBdb.break_anywheres)�� ��|�|�E�L�L�4�4�5����D�Drc�� yrr
)rr=�
argument_lists rrLz
Bdb.user_call���4�rc�� yrr
rDs rrCz
Bdb.user_lines��5�rc�� yrr
)rr=�return_values rrQzBdb.user_returnrsrc�� yrr
)rr=�exc_infos rrWzBdb.user_exceptions��2�rc�>� ||_||_d|_||_y�NF)rHrPr5rR)rrHrPrRs rr+zBdb._set_stopinfos(�� �#���&�����
�%��rc�^�|j}|r|js|j|_yyyr)rF�f_tracer:)r�
current_frame�caller_frames rrSzBdb._set_caller_tracefunc&s/��
%�+�+���� 4� 4�#'�#6�#6�L� �!5�<rc�N� |�|jdz}|j|||�y�Nr)rar+)rr=rks r� set_untilz
Bdb.set_until2s.�� 9��>��^�^�a�'�F����5�%��0rc�*� |jdd�yr�r+�rs r�set_stepzBdb.set_step:s��*����4��&rc�*� |j|d�yrr�rDs r�set_nextzBdb.set_next>s��@����5�$�'rc�� |jjtzr|j|dd�y|j|j|�yrO)rIrJrKr+rFrDs r�
set_returnzBdb.set_returnBs>��7��<�<� � �#@�@����u�d�B�/����u�|�|�U�3rc�� |�tj�j}|j�|r'|j|_||_|j}|r�'|j�tj|j�yr) �sys� _getframerFr,r:r|r*r��settracerDs r� set_tracez
Bdb.set_traceIsj�� ��=��M�M�O�*�*�E��
�
��� �/�/�E�M�!�D�M��L�L�E��
�
�
�����T�(�(�)rc�$� |j|jdd�|jsftjd�tj
�j}|r0||jur!|`|j}|r||jur�yyyyyrO)r+r*rr�r�r�rFr|rDs r�set_continuezBdb.set_continueXs{�� �
���4�=�=�$��3��{�{��L�L����M�M�O�*�*�E��E����6��M������E����6�%�6�%� rc�n� |j|_d|_d|_t j
d�y�NT)r*rHrPr5r�r�r�s r�set_quitzBdb.set_quitgs/�� �����������
����T�rc�j� |jj|g�}||vr|j|�yyr)r�
setdefault�append)rr%rk�
bp_linenoss r�_add_to_breakszBdb._add_to_breaksxs6��=��[�[�+�+�H�b�9�
���#����f�%�$rc�� |j|�}ddl}|j||�}|sd||fzS|j||�t |||||�}y)NrzLine %s:%d does not exist)r&r(�getliner�r) rr%rkrh�cond�funcnamer(r.rls r� set_breakz
Bdb.set_break~sd�� �
�<�<��)���� � ��6�2���.�(�F�1C�C�C����H�f�-�
��&�)�T�8�
D��rc�v� tjj�D]\}}|j||��yr)r�bplist�keysr��rr%rks rrzBdb._load_breaks�s7�� �#-�"3�"3�"8�"8�":��X�v�����&�1�#;rc�� ||ftjvr|j|j|�|j|s|j|=yyr)rr�r�remover�s r�
_prune_breakszBdb._prune_breaks�sP�� �
�f��Z�%6�%6�6��K�K��!�(�(��0��{�{�8�$����H�%�%rc�� |j|�}||jvrd|zS||j|vrd||fzStj||fddD]}|j ��|j||�y)N�There are no breakpoints in %szThere is no breakpoint at %s:%d)r&rrr��deleteMer�)rr%rkrls r�clear_breakzBdb.clear_break�s��� ��<�<��)���4�;�;�&�3�h�>�>�����X�.�.�4��&�7I�I�I��#�#�H�f�$4�5�a�8�B��K�K�M�9����8�V�,�rc��� |j|�}|j�|j |j
|j�y#t$r}t|�cYd}~Sd}~wwxYwr)�get_bpbynumber�
ValueErrorrjr�r��filer.)rr?rl�errs r�clear_bpbynumberzBdb.clear_bpbynumber�s]�� � ��$�$�S�)�B� ���
����2�7�7�B�G�G�,��� � ��s�8�O�� �s�A� A)�
A$�A)�$A)c��� |j|�}||jvrd|zS|j|D].}tj||f}|D]}|j ���0|j|=y)Nr�)r&rrr�r�)rr%r.�blistrls r�clear_all_file_breakszBdb.clear_all_file_breaks�sy�� ��<�<��)���4�;�;�&�3�h�>�>��K�K��)�D��%�%�h��n�5�E������
��*�
�K�K��!�rc�~� |jsytjD]}|s�|j��i|_y)NzThere are no breakpoints)rr�
bpbynumberr�)rrls r�clear_all_breakszBdb.clear_all_breaks�s;�� ��{�{�-��'�'�B�����
�(����rc��� |std�� t|�} tj|}|�td|z��|S#t$rtd|z�d�wxYw#t$rtd|z�d�wxYw)NzBreakpoint number expectedz Non-numeric breakpoint number %sz!Breakpoint number %d out of rangezBreakpoint %d already deleted)r��intrr��
IndexError)rr?rfrls rr�zBdb.get_bpbynumber�s��� �
��9�:�:� Q���X�F� U��&�&�v�.�B��:��<�v�E�F�F�� ��� Q��?�#�E�F�D�P� Q��� U��@�6�I�J�PT�T� U�s�A�A�A�A6c�h� |j|�}||jvxr||j|vSr�r&rr�s r� get_breakz
Bdb.get_break�s:��G��<�<��)���4�;�;�&�,��d�k�k�(�+�+� ,rc�� |j|�}||jvxr(||j|vxrtj||fxsgSr)r&rrr�r�s r�
get_breakszBdb.get_breaks�s^�� ��<�<��)���4�;�;�&�0��d�k�k�(�+�+�0����h��.�/�6�35� 6rc�d� |j|�}||jvr|j|SgSrr�)rr%s r�get_file_breakszBdb.get_file_breakss7�� ��<�<��)���t�{�{�"��;�;�x�(�(��Irc�� |jSr)rr�s r�get_all_breakszBdb.get_all_breakss��2��{�{�rc�� g}|r|j|ur|j}|�;|j||jf�||jurn|j
}|��;|j
�tdt|�dz
�}|�6|j|j|jf�|j}|��6|�tdt|�dz
�}||fS)Nrr)
�tb_frame�tb_nextr�rar*rF�reverse�max�len� tb_lineno)r�f�t�stack�is r� get_stackz
Bdb.get_stacks��� �
������q��� � �A��m��L�L�!�Q�Z�Z��)��D�M�M�!�����A� �m�
�
�
����3�u�:��>�"���m��L�L�!�*�*�a�k�k�2�3�� � �A��m�
�9��A�s�5�z�A�~�&�A��a�x�rc��� ddl}ddl}|\}}|j|jj�}|�d|�d�}|jj
r||jj
z
}n|dz
}|dz
}d|jvr(|jd} |dz
}||j| �z
}|�7|j|||j�}
|
r|||
j�zz
}|S||�d�z
}|S) Nr�(�)z<lambda>z()�
__return__z->zWarning: lineno is None)r(�reprlibr&rIrc�co_name�f_localsr<r�r`�strip)r�frame_lineno�lprefixr(r�r=rkr%�s�rvr.s r�format_stack_entryzBdb.format_stack_entry-s��� � "�$�
��v��<�<���� 8� 8�9�� �&�)���<�<���
����%�%�%�A�
��O�A� �T� ���5�>�>�)�����-�B�
��I�A�
����b�!�!�A����$�$�X�v�u���G�D���W�t�z�z�|�+�+����
�G�9�3�4�4�A��rc�~� |�ddl}|j}|�|}|j�t|t�r
t|dd�}t
j|j� t|||�d|_t
jd�y#t$rY�(wxYw#d|_t
jd�wxYw)Nrz<string>�execT)�__main__�__dict__r,�
isinstancerj�compiler�r�r:r�rr5)r�cmd�globals�localsr�s r�runzBdb.runOs��� ��?���'�'�G��>��F��
�
���c�3���#�z�6�2�C����T�(�(�)� ���g�v�&�!�D�M��L�L���� � �� ��!�D�M��L�L���s$�%
B� B�B�B�B�B<c�~� |�ddl}|j}|�|}|j�tj|j
� t
|||�d|_tjd�S#t$rYnwxYw d|_tjd�y#d|_tjd�wxYw)NrT) r�r�r,r�r�r:�evalr5r)r�exprr�r�r�s r�runevalzBdb.runevales��� ��?���'�'�G��>��F��
�
�����T�(�(�)� ���g�v�.�!�D�M��L�L���� � �� ��� �D�M��L�L����!�D�M��L�L���s$�A1�1 A=�:B�<A=�=B�B<c�,� |j|||�yr)r�)rr�r�r�s r�runctxz
Bdb.runctxys��<�����g�v�&rc�� |j�tj|j�d} ||i|��}d|_tjd�|S#t$rY�)wxYw#d|_tjd�wxYwr�)r,r�r�r:rr5)r�func�args�kwds�ress r�runcallzBdb.runcall�s��� �
�
�
�����T�(�(�)��� ���%��%�C�!�D�M��L�L����
��� �� ��!�D�M��L�L���s#�A� A&�#A)�%A&�&A)�)Br)r�FNN)z: �NN)0r
rrrr&r,r:r6r7r8r9r^rArBrirGrLrCrQrWr+rSr�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rrrrs������"'�)#�V
#�#�,#�6#�>�
��6O�E�
�
�
�
�%�7�1�'�(�4�
*�
%��"&�AE��� 2�&��"�
���(,�6� ���.�D�,�('�rrc�6� t�j�yr)rr�r
rrr�r��s��F��E�O�O�rc�Z�eZdZ dZiZdgZdd�Zed��Zd�Z d�Z
d�Zdd�Zd �Z
d
�Zy)
rrNc��||_d|_||_||_||_||_d|_d|_d|_tj|_txjdz
c_
|jj|�||f|jvr!|j||fj|�y|g|j||f<y)NTrr)r��func_first_executable_liner�r.rhr��enabled�ignore�hitsr�nextrfr�r�r�)rr�r.rhr�r�s rrzBreakpoint.__init__�s��� ��
�*.��'��� ��� �"����� ��������� � �o�o������1��������t�$��$�<�4�;�;�&��K�K��d�
�#�*�*�4�0�'+�f�D�K�K��d�
�#rc�H�dt_it_dgt_yr�)rr�r�r�r
rr�clearBreakpointszBreakpoint.clearBreakpoints�s���
���
��!%��
�rc��� |j|jf}d|j|j<|j|j|�|j|s|j|=yyr)r�r.r�rfr�r�)r�indexs rr�zBreakpoint.deleteMe�sa�� ����D�I�I�&��'+�������$����E��!�!�$�'��{�{�5�!����E�"�"rc�� d|_yr��r�r�s r�enablezBreakpoint.enable�s��-���rc�� d|_yrzr�r�s r�disablezBreakpoint.disable�s��.���rc�`� |�tj}t|j�|��y)N)r�)r��stdoutr;�bpformat)r�outs r�bpprintzBreakpoint.bpprint�s'�� �
�;��*�*�C�
�d�m�m�o�C�(rc�� |jrd}nd}|jr|dz}n|dz}d|j||j|jfz}|j
r|d|j
��z
}|jr|d|jfzz
}|jr(|jdkDrd }nd
}|d|j|fzz
}|S)Nzdel zkeep zyes zno z%-4dbreakpoint %s at %s:%dz
stop only if z
ignore next %d hitsrr��z"
breakpoint already hit %d time%s)rhr�rfr�r.r�r�r�)r�disp�ret�sss rrzBreakpoint.bpformat�s��� ��>�>��D��D��<�<��'�>�D��'�>�D�,����T�04� � �4�9�9�0F�F���9�9��D�I�I�7�7�C��;�;��,����~�=�=�C��9�9��y�y�1�}������9�T�Y�Y��O�K�K�C��
rc�T�d|j�d|j�d|j��S)Nzbreakpoint z at �:)rfr�r.r�s r�__str__zBreakpoint.__str__
s��;�+/�;�;�� � �4�9�9�M�Mrr�r)r
rrr�r�r�r�staticmethodr�r�rrrrrr
rrrr�sR���(
�D�
�F���J�-�(�'��'�
#���)��<Nrrc�
� |js|j|jk7ryy|jj|jk7ry|j
s|j|_|j
|jk7ryyrZ)r�r.rarIr�r�)�br=s r�
checkfuncnamersr���
�:�:��6�6�U�^�^�#���
�|�|���q�z�z�)��
�'�'�',�~�~��$��#�#�u�~�~�5��rc��� tj||f}|D]�}|js�t||�s�|xjdz
c_|j
s+|jdkDr|xjdzc_�c|dfcS t|j
|j|j�}|r+|jdkDr|xjdzc_n|dfcS��y#|dfcYcSxYw)NrrTFr�)
rr�r�rr�r�r�r�r`r�)r�r.r=� possiblesr�vals rrere1s�����!�!�$��*�-�I�
���y�y���Q��&�� ���!����v�v��x�x�!�|����A�
����4�y� �
"��1�6�6�5�?�?�E�N�N�C����x�x�!�|����A�
��!"�4�y�(��5�D��
"��5�z�!�s
�AC�C(c�$�eZdZd�Zd�Zd�Zd�Zy)�Tdbc�R�|jj}|sd}td||�y)N�???z+++ call)rIr�r;)rr=r��names rrLz
Tdb.user_callgs$���|�|�#�#���E�T�
�j�$��%rc �(�ddl}|jj}|sd}|j|jj�}|j||j|j�}td||j|d|j��y)Nrrz+++r)
r(rIr�r&rcr�rar`r;r�)rr=r(r�fnr.s rrCz
Tdb.user_lineksk����|�|�#�#���E�T�
�\�\�%�,�,�2�2�
3��� � ��U�^�^�U�_�_�E��
�e�R�����s�D�J�J�L�Arc��td|�y)Nz
+++ return�r;)rr=�retvals rrQzTdb.user_returnrs��
�l�F�#rc�<�td|�|j�y)Nz
+++ exception)r;r�)rr=� exc_stuffs rrWzTdb.user_exceptionts��
�o�y�)����rN)r
rrrLrCrQrWr
rrrrfs��&�B�$�rrc�R�td|d�t|dz�}td|�y)Nzfoo(r��
zbar returned)r;�bar)�n�xs r�foor(xs%�� �&�!�S���A�b�D� �A� �.�!�rc�&�td|d�|dzS)Nzbar(r�rUr)�as rr%r%}s�� �&�!�S���Q�3�Jrc�:�t�}|jd�y)Nzimport bdb; bdb.foo(10))rr�)r�s r�testr,�s����A��E�E�
#�$r)r[r�r!�inspectrrr�__all__rK� Exceptionrrr�rrrerr(r%r,r
rr�<module>r0s�����
� �B�B�
*�� ,�|� ;�>P� P��+�i�+�~ �~ �B�
uN�uN�t�@0�j�#��$�
�%r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists