� !A?h�p� ��� ddlZddlZddlZddlZddlTddlmZmZmZm Z m Z m Z gd�ezZ[ej ej ejeeefZedZdedfedfed ffZed Zd Zed Zed ZedZedZedZe e!��Z"e#e��Z$d�e%e"��D��Z&e'e&e ��D]\Z(Z)e)e"e(<e(e$e)<�d�e j*��D��Z+d�Z,d_ddddd�d�Z-d_dddd�d�Z.dddddddd d!d"d#� Z/d$�Z0Gd%�d&��Z1e1��Z2d'�Z3d(�Z4d)�Z5d*�Z6d+�Z7dd,�d-�Z8ej9d.gd/�dgd0z�1��Z:ej9d2gd3�dg�1��Z;d4e;j!_<d5e;j_<d6e;j=_<d7e;j>_<d8e;j?_<d9e;j@_<d:e;jA_<d;e;jB_<d��ZDd?ZEd@ZFGdA�dBe;��ZGddddC�dD�ZHdE�ZIdF�ZJdG�ZKdH�ZLdI�ZMdJ�ZN d`dL�ZOdadddd�dN�ZPddddd�dO�ZQ dbdddKdddP�dQ�ZRdR�ZSePZTdSZUdTeUdUz zZVdV�ZWdW�ZXdX�ZYdY�ZZdZ�Z[Gd[�d\��Z\d]�Z]e^d^kr e]��dSdS)c�N)�*)�__all__� _cache_format�_inline_cache_entries�_nb_ops�_specializations�_specialized_instructions) � code_info�dis� disassemble�distb�disco�findlinestarts� findlabels� show_code�get_instructions� Instruction�Bytecode� FORMAT_VALUE�N��str�repr�ascii� MAKE_FUNCTION)�defaults� kwdefaults� annotations�closure� LOAD_CONST� LOAD_GLOBAL� BINARY_OP� JUMP_BACKWARD�CACHEc�B�g|]\}}|�d���|��S)�<)� startswith)�.0�slot�names �0/opt/alt/python-internal/lib64/python3.11/dis.py� r,-s.��U�U�U� ��d����PS�@T�@T�U�t�U�U�U�c�$�i|] \}}|D]}||���S�r/)r(�base�family� specializeds r+� r33s@�� � � �&�$��V\� � �GR�K�� � � � r-c�p� t||d��}n!#t$rt||d��}YnwxYw|S)N�eval�exec)�compile� SyntaxError)�sourcer*�cs r+� _try_compiler;7sT��� *� �F�D�&� )� )���� �*�*�*� �F�D�&� )� )����*���� �Hs ��3�3F��file�depth� show_caches�adaptivec��� |�t|||���dSt|d��r|j}t|d��r|j}nGt|d��r|j}n/t|d��r|j}nt|d��r|j}t|d��r�t|j� ����}|D]}\}}t|t��rctd|z|� �� t|||||� ��n)#t$r}td ||� ��Yd}~nd}~wwxYwt|� ���~dSt|d ��rt|||||� ��dSt|t t"f��rt%|||� ��dSt|t&��rt)|||||� ��dStdt+|��jz���)N�r=r?r@�__func__�__code__�gi_code�ag_code�cr_code�__dict__zDisassembly of %s:�r=r<zSorry:�co_code)r=r?�(don't know how to disassemble %s objects)r �hasattrrCrDrErFrG�sortedrH�items� isinstance� _have_code�printr � TypeError�_disassemble_recursive�bytes� bytearray�_disassemble_bytesr�_disassemble_str�type�__name__) �xr=r>r?r@rNr*�x1�msgs r+r r DsU��� �y� �4�[�8�D�D�D�D����q�*���� �J���q�*���� �J��� ��I� � �� �I��� ��I� � �� �I��� ��I� � �� �I���q�*���*��q�z�'�'�)�)�*�*��� !� !�H�D�"��"�j�)�)� !��*�T�1��=�=�=�=�4����U� �V^�_�_�_�_�_�� �4�4�4��(�C�d�3�3�3�3�3�3�3�3�3�����4�����4� � � � �� !� !� ��I� � �*��q�t�5�k�\d�e�e�e�e�e�e� �A��y�)� *� *�*��1�4�[�A�A�A�A�A�A� �A�s� � �*����U� �V^�_�_�_�_�_�_��B��Q���(�)�*�*� *s�5D � D0�D+�+D0rBc��� |�A tj}n#t$rtd��d�wxYw|jr|j}|j�t |jj|j|||���dS)Nz no last traceback to disassemblerB) �sys�last_traceback�AttributeError� RuntimeError�tb_nextr �tb_frame�f_code�tb_lasti)�tbr=r?r@s r+r r qs���<� �z� M��#�B�B��� M� M� M��A�B�B�� L� M�����j�)�r�z�"�b�j�)��� �"�B�K�d� �^f�g�g�g�g�g�gs� �-� OPTIMIZED� NEWLOCALS�VARARGS� VARKEYWORDS�NESTED� GENERATOR�NOFREE� COROUTINE�ITERABLE_COROUTINE�ASYNC_GENERATOR) ������ �@��ic �6� g}td��D]P}d|z}||zrD|�t�|t |������||z}|sn#�Q|�t |����d�|��S)Nrvrq�, )�range�append�COMPILER_FLAG_NAMES�get�hex�join)�flags�names�i�flags r+� pretty_flagsr��s���5� �E� �2�Y�Y�!�!���!�t�� �4�<� � �L�L�,�0�0��s�4�y�y�A�A� B� B� B� �T�M�E�� ���� � � �S��Z�Z� � � � �9�9�U� � �r-c��eZdZd�ZdS)�_Unknownc��dS)Nz r/��selfs r+�__repr__z_Unknown.__repr__�s���{r-N)rY� __module__� __qualname__r�r/r-r+r�r��s#����������r-r�c�� t|d��r|j}t|d��r|j}nGt|d��r|j}n/t|d��r|j}nt|d��r|j}t |t��rt|d��}t|d��r|Stdt|��j z���) NrCrDrErFrGz rJrK) rLrCrDrErFrGrOrr;rRrXrY�rZs r+�_get_code_objectr��s���N��q�*���� �J���q�*���� �J��� ��I� � �� �I��� ��I� � �� �I��� ��I� � �� �I���!�S���-� ��O� ,� ,���q�)������ �>���G�G�$�%� &� &�&r-c�b�t|}|tvrtt|n|S�N)� _all_opname�deoptmap� _all_opmap)�opr*s r+�_deoptopr��s)�� �r�?�D�)-��)9�)9�:�h�t�n� %� %�r�Ar-c�"�|r|jn|jSr�)�_co_code_adaptiverJ)�cor@s r+�_get_code_arrayr��s��#+� ;�2� � ���;r-c�<� tt|����Sr�)�_format_code_infor�r�s r+r r �s��;� �-�a�0�0� 1� 1�1r-c��g}|�d|jz��|�d|jz��|�d|jz��|�d|jz��|�d|jz��|�d|jz��|�d|jz��|�dt|j ��z��|j rD|�d ��t|j ��D]}|�d |z���|j rD|�d ��t|j ��D]}|�d |z���|j rD|�d ��t|j ��D]}|�d |z���|jrD|�d��t|j��D]}|�d |z���|jrD|�d��t|j��D]}|�d |z���d�|��S)NzName: %szFilename: %szArgument count: %szPositional-only arguments: %szKw-only arguments: %szNumber of locals: %szStack size: %szFlags: %sz Constants:z%4d: %rzNames:z%4d: %szVariable names:zFree variables:zCell variables:� )r}�co_name� co_filename� co_argcount�co_posonlyargcount�co_kwonlyargcount� co_nlocals� co_stacksizer��co_flags� co_consts� enumerate�co_names� co_varnames� co_freevars� co_cellvarsr�)r��lines�i_c�i_ns r+r�r��s|�� �E� �L�L�(�2�:�5�6�6�6� �L�L�(�2�>�9�:�:�:� �L�L�(�2�>�9�:�:�:� �L�L�0�2�3H�H�I�I�I� �L�L�(�2�+?�?�@�@�@� �L�L�(�2�=�8�9�9�9� �L�L�(�2�?�:�;�;�;� �L�L�(�<�� �+D�+D�D�E�E�E� �|�*� � � �\�"�"�"��R�\�*�*� *� *�C� �L�L��S�� )� )� )� )� �{�*� � � �X�����R�[�)�)� *� *�C� �L�L��S�� )� )� )� )� �~�*� � � �&�'�'�'��R�^�,�,� *� *�C� �L�L��S�� )� )� )� )� �~�*� � � �&�'�'�'��R�^�,�,� *� *�C� �L�L��S�� )� )� )� )� �~�*� � � �&�'�'�'��R�^�,�,� *� *�C� �L�L��S�� )� )� )� )� �9�9�U� � �r-rIc�D� tt|��|���dS)NrI)rQr )r�r=s r+rr�s(��� �)�B�-�-�d�#�#�#�#�#�#r-� Positions)�lineno� end_lineno� col_offset�end_col_offsetrs)r� _Instruction) �opname�opcode�arg�argval�argrepr�offset� starts_line�is_jump_target� positionsz!Human readable name for operationzNumeric code for operationz6Numeric argument to operation (if any), otherwise Nonez4Resolved arg value (if known), otherwise same as argz0Human readable description of operation argumentz1Start index of operation within bytecode sequencez4Line started by this opcode (if any), otherwise Nonez1True if other code jumps to here, otherwise FalsezPdis.Positions object holding the span of source code covered by this instruction�_ExceptionTableEntryzstart end target depth lasti��c��eZdZ dd�ZdS)r�Frsc�N� g}|rB|j�#d|z}|�||jz��n|�d|z��|r|�d��n|�d��|jr|�d��n|�d��|�t|j���|����|�|j�t����|j �f|�t|j ���t����|j r |�d|j zdz��d� |��� ��S) Nz%%%dd� z-->z z>>� �(�))r�r}r�rr��rjustr��ljust� _OPNAME_WIDTHr�� _OPARG_WIDTHr�r��rstrip)r�� lineno_width�mark_as_current� offset_width�fields� lineno_fmts r+� _disassemblezInstruction._disassemble$s��� � �� � 2���+�$�|�3� �� � �j�4�+;�;�<�<�<�<�� � �c�L�0�1�1�1� � !� �M�M�%� � � � � �M�M�%� � � � � � � �M�M�$� � � � � �M�M�$� � � �� � �d�4�;�'�'�-�-�l�;�;�<�<�<�� � �d�k�'�'� �6�6�7�7�7� �8� � �M�M�$�t�x�.�.�.�.�|�<�<� =� =� =��|� 8�� � �c�D�L�0�3�6�7�7�7��x�x����&�&�(�(�(r-N)r�Frs)rYr�r�r�r/r-r+rrs-������ �#)�#)�#)�#)�#)�#)r-r)� first_liner?r@c �� t|��}tt|����}|� ||jz }nd}t t ||��|j|j|j|||� ��|���S)Nr)� co_positionsr?) r��dictr�co_firstlineno�_get_instructions_bytesr��_varname_from_opargr�r�r�)rZr�r?r@r�� linestarts� line_offsets r+rrJs��� � �!� � �B��n�R�(�(�)�)�J��� �2�#4�4� � �� � "�?�2�x�#@�#@�#%�#9�#%�;�� �#-�{�02���0A�0A�/:�  <� <� <��lastis r+�_parse_exception_tabler��s����D�*�+�+�H��G� � S�!�(�+�+�A�-�E�"�8�,�,�Q�.�F��&�.�C�"�8�,�,�Q�.�F��x�(�(�B��!�G�E���A��J�J�E� �N�N�/��s�F�E�5�Q�Q� R� R� R� S�� �����������s�B B!�! B0�/B0c� �dt|vS)Nr#)r�)r�s r+�_is_backward_jumpr�s�� �f�R�j� (�(r-r/c #�J�K� |ptd��}|�dn|j} tt|����} |D]0\} } } }}t | | ��D]}| �| ����1d}t |��D�] \}}�|�|�|d��}|�||z }|| v}d}d}tt|d���}t|��}�����}|tvrt|�|��\}}�n�|tvrD|tkr$t�dz| ��\}}�dzr|rd|z}�nRt�| ��\}}�n=|t vr�dz}dt#|��z}�n|t$vr2t'|��r� n�}|dz|dzz}dt#|��z}n�|t(vs |t*vrt�|��\}}n�|t,vrt.�}|}n�|t0krkrt@�\}}tCtD||�||||||� � V�tF|}|s��7|s$t |��D]}t|d�����]tHtJ|�&��D]�\}}t |��D]�}|dz }|d krA||kr;|||d|zz�}|�d tN�(|tRj*����}nd}tCdtVd d||ddtt|d���� � V�������"dS)Nr/rrrrqzNULL + zto r�rsr{z with formatc3�2�K�|]\}}�d|zz� |V��dS)rqNr/)r(r��sr�s �r+� z*_get_instructions_bytes..�sG�����$5�$5�$�!�Q�'*�a��d�|�$5�A�$5�$5�$5�$5�$5�$5r-rz: r$F),r�� __getitem__�setrr|�add�_unpack_opargsrr�r�r��hasconstr��hasnamer!r��hasjabsr�hasjrelr�haslocal�hasfree� hascompare�cmp_opr�FORMAT_VALUE_CONVERTERSr�rr�r��MAKE_FUNCTION_FLAGSr"rrr�rrr�rN�int� from_bytesr^� byteorderr$)r��varname_from_opargr�r�r�r��exception_entriesr�r?r��labelsr�r�r��_r�r�r�r�r�r�r�r��deop� signed_arg�cachesr*�size�datar�s @r+r�r��s������ � �+�4��8�8�L��}�t�t�%�*;�H� ��D�!�!� "� "�F�$5��� ��s�F�A�q��u�c�"�"� � �A� �J�J�v� � � � � ��K�)�$�/�/�J�J����C� � !�$�.�.���6�6�K��&��{�*� ��6�)�������t�L�"�5�5�6� ���|�|�� �?� �F��x���"1�$��Y�"G�"G����������;�&�&�&4�S�!�V�X�&F�&F�O�F�G��a��6�W�6�"+�g�"5���&4�S�(�&C�&C�O�F�G�G������Q����$�v�,�,�.�������%6�t�%<�%<�E�c�T�T�#� ��!��j��l�2���$�v�,�,�.�����!�!�T�W�_�_�"0��6H�"I�"I�������#�#����� �����%�%�"9�#��)�"D���� �$�s�S�y�/�/�2���!�9�-��(��4����}�,�G����&�&��)�)�$5�$5�$5�$5�)�r?r@rZs r+rSrSs������;��J�J�J�J� �}��� � � � ��A�I�E��� � �A��q�)�$�$� ��4� � � � ���a�a�a�1��=�=�=�=�&��D��;�QY������"� � � r-)r=r�rr�r?c ���t|��} | rJt|�����|z} | dkrtt | ����} nd} nd} t|��dz }|dkrtt |����}nd}t |||||||| | �� � D][}| o|jduo |jdk}|rt|���|j|k}t|� | ||��|����\|rZtd |���|D]H}|j rd nd }|j dz }td |j �d |�d|j �d|j�d|�� |����GdSdS)Ni�r�rrri'rs�r�rr�r?rIzExceptionTable:z lastirr�z to z -> z [�])r��max�values�lenrr�r�r�rQr�r�r�r�r�r>)r�r�rr�r�r�r=r�rr�r?� show_lineno� maxlinenor�� maxoffsetr��instr�new_source_line�is_current_instr�entryr�s r+rVrVs��� �z�"�"�K���� �)�)�+�+�,�,�{�:� � �� � ��s�9�~�~�.�.�L�L��L�L�� ��D� � �A� �I��E����3�y�>�>�*�*� � �� �(��/A�5�)2�J�5@�;L�6B�5@� B�B�B� � �� '�,� �,�D�8�,� �<�!�+� � � � �t� � � � � �<�5�0�� �e� � ��/?��N�N�� � � � � ��c� ��d�+�+�+�+�&� c� c�E� %� �3�H�H��E��)�A�+�C� �V�u�{�V�V��V�V���V�V���V�V�u�V�V�]a� b� b� b� b� b� c�c� c� cr-c �>� tt|d��fi|��dS)Nz)rSr;)r9�kwargss r+rWrWFs+��F��<���8�8�C�C�F�C�C�C�C�Cr-rvrrrqc#�JK�d}d}tdt|��d��D]}}|r|dz}� ||}t|��}t|}|tkr9||dz|z}|t kr|dznd}|t kr |dt zz}nd}d}|||fV��~dS)Nrrrrqrt)r|r)r�r� HAVE_ARGUMENT� EXTENDED_ARG� _INT_OVERFLOW)r�� extended_argrr�r�rr�s r+r r Rs������L� �F� �1�c�$�i�i�� #� #���� � � �a�K�F� � �!�W����|�|��&�t�,�� �=� � ��q��s�)�l�*�C�)-��)=�)=�C�1�H�H�1�L��}�,�,���M� 1�1� ���C��L��"�c�l�����'�r-c��� g}t|��D]X\}}}|�P|tvrt|��r| }|dz|dzz}n|tvr|dz}n�?||vr|�|���Y|S)Nrr)r r rr r})r�rr�r�r��labels r+rrjs���� �F�)�$�/�/� %� %����C� �?��W�}�}�$�R�(�(���$�C��� �S��U�*����w����A������F�"�"�� � �e�$�$�$�� �Mr-c#�fK� d}|���D]\}}}|�||kr|}||fV��dSr�)�co_lines)r��lastliner�r��lines r+rrs[������H� �M�M�O�O�����s�D� � ��� 0� 0��H���+� � � �� �Fr-c#��K� td}td}|j}|j}d�t|j��D��}t |��D]�\}\}}||kr�|dkr{||dz } ||dz } | dt vrV| dt vrGt| d| d|��} t| d| d|��} ||| | fV���dS)N� IMPORT_NAMEr c�4�g|]\}}}|tk�||f��Sr/)r5)r(rr�r�s r+r,z!_find_imports..�s6��)�)�)�J�A�r�3��<�'�'��3�i�'�'�'r-rrrqr)�opmapr�r�r rJr�r r�) r�r?r �constsr��opargsr�r��oparg�from_op�level_op�level�fromlists r+� _find_importsrI�s����� � �&�K��|�$�J� �\�F� �K�E�)�)�.���*D�*D�)�)�)�F�#�F�+�+�6�6���;�B�� �� � ��a����Q�q�S�k�G��a��c�{�H��� �h�&�&�8�A�;�(�+B�+B�(��!��h�q�k�6�J�J��+�G�A�J��� �F�K�K���U�|�U�H�5�5�5�5��6�6r-c#�K� tdtdh}|j}t|j��D]\}}}||vr ||V��dS)N� STORE_NAME� STORE_GLOBAL)rAr�r rJ)r�� STORE_OPSr�rr�r�s r+�_find_store_namesrN�sp����� �l�� �n���I� �K�E�$�R�Z�0�0��� ��2�s� ��?�?���*� � � ���r-c�X�eZdZ ddddd�d�Zd�Zd�Zeddd�d���Zd �Zd �Z dS) rNF)r��current_offsetr?r@c�,�t|��x|_}|�|j|_d|_n||_||jz |_t t |����|_||_||_ t|��|_ ||_ ||_ dS)Nr)r��codeobjr�r�� _line_offsetr�r� _linestarts�_original_objectrPr�rr?r@)r�rZr�rPr?r@r�s r+�__init__zBytecode.__init__�s���,�Q�/�/�/�� �r� � � �/�D�O� !�D� � �(�D�O� *�R�->� >�D� ���r� 2� 2�3�3��� !���,���!7��!;�!;���&��� �� � � r-c ���|j}tt||j��|j|j|j|j|j|j |� ��|j �� � S)Nr%) rRr�r�r@r�r�r�rTrSrr�r?)r�r�s r+�__iter__zBytecode.__iter__�sf�� �\��&��r�4�=�'I�'I�')�'=�')�{�B�L�'+�'7�37�3D�9=�9O�46�O�O�4E�4E�37�3C�E�E�E� Er-c�L�d�|jj|j��S)Nz{}({!r}))�format� __class__rYrUr�s r+r�zBytecode.__repr__�s'��� � ���!8�!%�!6�8�8� 8r-)r?r@c�j� |jr|j}|j�||jj|j||���S)N)rPr?r@)rbrcrdre)�clsrfr?r@s r+�from_tracebackzBytecode.from_traceback�sL��=��j� ���B��j� ��s� �K� �r�{� �^f� � � � r-c�,� t|j��Sr�)r�rRr�s r+�infoz Bytecode.info�s��A� ���.�.�.r-c�z� |j}|j�|j}nd}tj��5}t t ||j��|j|j|j |j |j |||j |� ��|j�� � |���cddd��S#1swxYwYdS)Nr ) rr�r�r�r�r=r�rr�r?)rRrP�io�StringIOrVr�r@r�r�r�rTrSrr�r?�getvalue)r�r�r��outputs r+r z Bytecode.dis�s���A� �\�� � � *��(�F�F��F� �[�]�]� %�f� ��r�4�=�A�A�24�2H�%'�[�B�L�*.�*:�+/�+<�$*�%+�15�1G�,.�O�O�,=�,=�+/�+;� =� =� =� =��?�?�$�$� %� %� %� %� %� %� %� %� %� %� %� %���� %� %� %� %� %� %s�A6B0�0B4�7B4) rYr�r�rVrXr�� classmethodr^r`r r/r-r+rr�s��������)-�T�u�_d� !� !� !� !� !� E� E� E�8�8�8��/4�u� � � � ��[� �/�/�/�%�%�%�%�%r-rc�p�ddl}|���}|�d|�d��dd���|���}|j5}|���}ddd��n #1swxYwYt||jjd��}t|��dS)Nr�infile�rb�?�-)rX�nargs�defaultr6) �argparse�ArgumentParser� add_argument�FileType� parse_argsrh�readr7r*r )rn�parser�argsrhr9r�s r+�mainrv�s����O�O�O� � $� $� &� &�F� ����x�'8�'8��'>�'>�c�SV��W�W�W� � � � � �D� ���������������������������� �6�4�;�+�V� 4� 4�D���I�I�I�I�Is� B�B�B�__main__r�)NNNNrr/NF)r )r NNNN)_r^�types� collectionsrbr�r� _opcodes_allrrrrr � MethodType� FunctionType�CodeTyperf� staticmethodrXrPrArrrrrrrr r!r"r#r$�listr�r�r�r�r�� _empty_slot�zip�spec_opr2rNr�r;r r r~r�r�r�r�r�r�r r�r� namedtupler�r��__doc__r�r�r�r�r�r�r�r�r�r�rrr�r�r�r�r�rr�r rSrVrWr� _INT_BITSr6r rrrIrNrrvrYr/r-r+�r�s=��6� � � � � � � � ����� � � � ��������������������� :� :� :�B�&c�#��b�$(�e�&c�&c�&c�&c�&c�PD�D�D� �� � ��i�!�m�$� ����0���*  �  �  �6�6�6�. � � � E%�E%�E%�E%�E%�E%�E%�E%�P � � � �z����D�F�F�F�F�F��r-