� !A?h�\��� ddlZddlZddlZddlZddlZddlZddlZdZdZ dZ dZ dZ dZ dZiZd�ZiZd �Zdd �ZGd �d ��ZGd �d��Zd�Zedkr$ e��ZdS#e$red��YdSwxYwdS)�N������c�b�t�|g���|��dS�N)�packagePathMap� setdefault�append)� packagename�paths �9/opt/alt/python-internal/lib64/python3.11/modulefinder.py�AddPackagePathrs,�����k�2�.�.�5�5�d�;�;�;�;�;�c��|t|<dSr )�replacePackageMap)�oldname�newnames r�ReplacePackager)s��!(��g���rc�� tjj���tjj�||��}|�%t d�|���|����|jtjjur ddddtffS|jtjj ur ddddtffS|j }|j� |��r*dtj�|��ddt"ffSt%|jtjj��rt(}net%|jtjj��rt,}n9t%|jtjj��rt0}n ddddt2ffSt5j|��}tj�|��d}|||d|ffS)NzNo module named {name!r})�name�������rb)� importlib� machinery� PathFinder�invalidate_caches� find_spec� ImportError�format�loader�BuiltinImporter� _C_BUILTIN�FrozenImporter� _PY_FROZEN�origin� is_package�osr�dirname�_PKG_DIRECTORY� isinstance�SourceFileLoader� _PY_SOURCE�ExtensionFileLoader� _C_EXTENSION�SourcelessFileLoader� _PY_COMPILED� _SEARCH_ERROR�io� open_code�splitext)rr�spec� file_path�kind�file�suffixs r� _find_moduler>-s���N� ��"�4�4�6�6�6� � � )� 3� 3�D�$� ?� ?�D� �|��4�;�;��;�F�F�T�R�R�R�R� �{�i�)�9�9�9��T�B��J�/�/�/� �{�i�)�8�8�8��T�B��J�/�/�/�� �I� �{���d�#�#�J��R�W�_�_�Y�/�/�"�b�.�1I�I�I��$�+�y�2�C�D�D� 3���� �D�K��!4�!H� I� I�3���� �D�K��!4�!I� J� J�3�����T�B��M�2�2�2� �<� � "� "�D� �W� � �i� (� (�� ,�F� ��V�T�4�0� 0�0rc��eZdZdd�Zd�ZdS)�ModuleNc�Z�||_||_||_d|_i|_i|_dSr )�__name__�__file__�__path__�__code__� globalnames� starimports)�selfrr<rs r�__init__zModule.__init__\s8���� ��� ��� ��� ��������rc�t�d|j��}|j� |d|j��z}|j� |d|j��z}|dz}|S)NzModule(�, �))rBrCrD)rH�ss r�__repr__zModule.__repr__isT����=�=� *�� �=� $���d�m�m�-�-�A� �=� $���d�m�m�-�-�A� ��G���r)NN)rB� __module__� __qualname__rIrN�rrr@r@Zs7������ � � � �����rr@c��eZdZdd�Zd�Zd�Zd�Zd�Zd�Zdd �Z dd �Z d �Z d �Z d d�Z d�Zd�Zd�Zd�Zdd�Zd�Zd�Zd�Zd�Zd!d�Zd�Zd�Zd�Zd�ZdS)"� ModuleFinderNrc��|� tj}||_i|_i|_||_d|_|�|ng|_|�|ng|_g|_dS)Nr) �sysr�modules� badmodules�debug�indent�excludes� replace_paths�processed_paths)rHrrXrZr[s rrIzModuleFinder.__init__ts`�� �<��8�D��� ��� ������ ��� �$,�$8���b�� �.;�.G�]�]�R���!����rc���||jkrlt|j��D]}tdd����t|d���|D] }tt |��d����!t��dSdS)N� � ��end)rX�rangerY�print�repr)rH�level�str�args�i�args r�msgzModuleFinder.msg�s��� �D�J� � ��4�;�'�'� &� &���e��%�%�%�%�%� �#�3� � � � �� *� *���d�3�i�i�S�)�)�)�)�)� �G�G�G�G�G� � rc�b�|d}||jkr|jdz|_|j|�dSdS�Nrr�rXrYrj�rHrgres r�msginzModuleFinder.msgin��>���Q��� �D�J� � ��+��/�D�K� �D�H�d�O�O�O�O� � rc�b�|d}||jkr|jdz |_|j|�dSdSrlrmrns r�msgoutzModuleFinder.msgout�rprc���|�dd|��tj|��5}ddtf}|�d|||��ddd��dS#1swxYwYdS)Nr� run_scriptrr�__main__)rjr6r7r0� load_module)rH�pathname�fp�stuffs rrtzModuleFinder.run_script�s��� ����L�(�+�+�+� �\�(� #� #� >�r���z�*�E� � � �Z��X�u� =� =� =� >� >� >� >� >� >� >� >� >� >� >� >���� >� >� >� >� >� >s�#A�A �#A c�,�tj�|��\}}tj�|��\}}t j|��5}|dt f}|�||||��ddd��dS#1swxYwYdS)Nr)r+r�splitr8r6r7r0rv)rHrw�dirr�extrxrys r� load_filezModuleFinder.load_file�s����G�M�M�(�+�+� ��T��G�$�$�T�*�*� ��c� �\�(� #� #� 8�r��$� �+�E� � � �T�2�x�� 7� 7� 7� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8���� 8� 8� 8� 8� 8� 8s�#B � B �B rc��|�dd||||��|�||���}|�||��\}}|�||��}|s|S|jr|�||��dS)Nr� import_hook�re)rj�determine_parent�find_head_package� load_tailrD�ensure_fromlist) rHr�caller�fromlistre�parent�q�tail�ms rr�zModuleFinder.import_hook�s��� ����M�4���5�A�A�A��&�&�v�U�&�;�;���(�(���6�6���4� �N�N�1�d� #� #��� ��H� �:� .� � � ��H� -� -� -��trc��|�dd||��|r|dkr|�dd��dS|j}|dkr�|jr|dz}|dkr&|j|}|�dd|��|S|�d��|krt d���d�|�d��d| ���}|j|}|�dd|��|S|jr&|j|}|�dd|��|Sd|vrE|� d��}|d|�}|j|}|�dd|��|S|�dd��dS) N�r�rzdetermine_parent -> Nonerzdetermine_parent ->�.zrelative importpath too deep) rorrrBrDrV�countr"�joinr{�rfind)rHr�re�pnamer�rhs rr�zModuleFinder.determine_parent�s��� � � �1�(�&�%�8�8�8�� ��!��� �K�K��5� 6� 6� 6��4���� �A�:�:��� ��� ����z�z���e�,��� � �A�4�f�=�=�=�� ��{�{�3���%�'�'�!�"@�A�A�A��H�H�U�[�[��-�-�g��v�g�6�7�7�E��\�%�(�F� �K�K��0�&� 9� 9� 9��M� �?� ��\�%�(�F� �K�K��0�&� 9� 9� 9��M� �%�<�<�� � �C� � �A��"�1�"�I�E��\�%�(�F� �K�K��0�&� 9� 9� 9��M� � � �A�1�2�2�2��trc���|�dd||��d|vr-|�d��}|d|�}||dzd�}n|}d}|r |j�d|��}n|}|�|||��}|r|�dd||f��||fS|r:|}d}|�|||��}|r|�dd||f��||fS|�dd|��t d|z���) Nr�r�r�rrzfind_head_package ->�"raise ImportError: No module named�No module named )ro�findrB� import_modulerrr")rHr�rrh�headr��qnamer�s rr�zModuleFinder.find_head_package�sA�� � � �1�)�6�4�8�8�8� �$�;�;�� � �#���A�����8�D���!����:�D�D��D��D� � �%������5�E�E��E� � � �t�U�F� 3� 3�� � � �K�K��1�A�t�9� =� =� =��d�7�N� � ��E��F��"�"�4���7�7�A�� �� � �A�5��4�y�A�A�A��$�w�� � � �A�;�U�C�C�C��,�u�4�5�5�5rc��|�dd||��|}|r�|�d��}|dkrt|��}|d|�||dzd�}}|j�d|��}|�|||��}|s)|�dd|��t d|z���|��|�dd|��|S) Nr�r�r�rrr�r�z load_tail ->)ror��lenrBr�rrr")rHr�r�r�rhr��mnames rr�zModuleFinder.load_tail�s��� � � �1�k�1�d�+�+�+� ��� >�� � �#���A��1�u�u�#�d�)�)�a��b�q�b��4��!����:�$�D� �z�z�z�4�4�0�E��"�"�4���2�2�A�� >�� � �A�C�U�K�K�K�!�"4�u�"<�=�=�=�� >� � � �A�~�q�)�)�)��rc�>�|�dd|||��|D]�}|dkr1|s.|�|��}|r|�||d���9t||��s7|j�d|��}|�|||��}|st d|z�����dS)Nr�r��*rr�r�)rj�find_all_submodulesr��hasattrrBr�r")rHr�r�� recursive�sub�all�subname�submods rr�zModuleFinder.ensure_fromlist�s��� ����%�q�(�I�>�>�>�� D� D�C��c�z�z� �8��2�2�1�5�5�C��8��,�,�Q��Q�7�7�7���Q��_�_� D�%&�Z�Z�Z���5���+�+�C��!�<�<���D�%�&8�7�&B�C�C�C�� D� Drc��|jsdSi}g}|tjjdd�z }|tjjdd�z }|tjjdd�z }|jD]�} t j|��}n'#t$r|� dd|��Y�;wxYw|D]A}d}|D]-}t|��} || d�|kr |d| �}n�.|r |dkr|||<�B��|� ��S)Nrzcan't list directoryrI) rDrr�EXTENSION_SUFFIXES�SOURCE_SUFFIXES�BYTECODE_SUFFIXESr+�listdir�OSErrorrjr��keys) rHr�rV�suffixesr|�namesr�mod�suff�ns rr�z ModuleFinder.find_all_submodulessU���z� � �F������I�'�:�1�1�1�=�=���I�'�7����:�:���I�'�9�!�!�!�<�<���:� '� '�C� �� �3������� � � �����2�C�8�8�8��� ����� '� '����$���D��D� � �A��Q�B�C�C�y�D�(�(�"�3�Q�B�3�i����)��'�3�*�,�,�#&�G�C�L�� '��|�|�~�~�s�,B�!B%�$B%c��|�dd|||�� |j|}|�dd|��|S#t$rYnwxYw||jvr|�dd��dS|r|j�|�dd��dS |�||o|j|��\}}}n(#t$r|�ddd��YdSwxYw |�||||��}|r|� ��n#|r|� ��wwxYw|rt|||��|�dd|��|S)Nrr�zimport_module ->zimport_module -> None) rorVrr�KeyErrorrWrD� find_moduler"rv�close�setattr)rH�partname�fqnamer�r�rxrwrys rr�zModuleFinder.import_module$s��� � � �1�o�x���@�@�@� �� �V�$�A� �K�K��-�q� 1� 1� 1��H�� � � � � �D� ���� �T�_� $� $� �K�K��2� 3� 3� 3��4� � �f�o�-� �K�K��2� 3� 3� 3��4� �"&�"2�"2�8�39�3M�f�o�v�#W�#W� �B��%�%��� � � � �K�K��-�t� 4� 4� 4��4�4� ���� �� � ���X�u�=�=�A�� ���� � � ���� ���� � � � � ���� � )� �F�H�a� (� (� (� � � �A�)�1�-�-�-��s/� A� A� A�"B7�7!C�C� D�D(c�F�|\}}}|�dd||od|��|tkr/|�||��}|�dd|��|S|tkr$t |���|d��} n�|tkr� |���} tj � | |i��n:#t$r-} |�ddt| ��z|���d} ~ wwxYwtjt| ��dd���} nd} |�|��}||_| r9|jr|�| ��} | |_|�| |��|�dd|��|S)Nrrvrxzload_module ->�execzraise ImportError: �)ror-� load_packagerrr0�compile�readr4r�_bootstrap_external� _classify_pycr"rf�marshal�loads� memoryview� add_modulerCr[�replace_paths_in_coderE� scan_code) rHr�rxrw� file_infor=�mode�typer��co�data�excs rrvzModuleFinder.load_moduleDs���&����d� � � �1�m�V�R�[�D�(�C�C�C� �>� !� !��!�!�&�(�3�3�A� �K�K��+�Q� /� /� /��H� �:� � �������H�f�5�5�B�B� �\� !� !� ��w�w�y�y���-�;�;�D�&�"�M�M�M�M��� � � �� � �A�4�s�3�x�x�?��J�J�J������ ������z�$�/�/����4�5�5�B�B��B� �O�O�F� #� #���� � � "��!� 4��/�/��3�3���A�J� �N�N�2�q� !� !� !� � � �A�'��+�+�+��s�5C � D�(C?�?Dc�~�||jvr i|j|<|rd|j||j<dSd|j|d<dS)Nr�-)rWrB)rHrr�s r�_add_badmodulezModuleFinder._add_badmoduleasS�� �t�� &� &�$&�D�O�D� !� � +�56�D�O�D� !�&�/� 2� 2� 2�)*�D�O�D� !�#� &� &� &rc ���||jvr|�||��dS |�|||���|r�|D]�}|dz|z}||jvr|�||���* |�|||g|����F#t$rD}|�ddt |����|�||��Yd}~��d}~wwxYwdSdS#t$rE}|�ddt |����|�||��Yd}~dSd}~wt $rE}|�ddt |����|�||��Yd}~dSd}~wwxYw)Nr�r�rz ImportError:z SyntaxError:)rWr�r�r"rjrf� SyntaxError)rHrr�r�rer��fullnamerjs r�_safe_import_hookzModuleFinder._safe_import_hookis��� �4�?� "� "� � � ��f� -� -� -� �F� >� � � �T�6�� � 7� 7� 7�� >�#� >� >�C�#�c�z�C�/�H��4�?�2�2��+�+�H�f�=�=�=� �>��(�(��v��u�E�(�J�J�J�J��&�>�>�>�����N�C��H�H�=�=�=��+�+�H�f�=�=�=�=�=�=�=�=�����>���� >� >� >� >��� .� .� .� �H�H�Q���C��� 1� 1� 1� � � ��f� -� -� -� -� -� -� -� -� -������ .� .� .� �H�H�Q���C��� 1� 1� 1� � � ��f� -� -� -� -� -� -� -� -� -����� .���s;�C�*B� C�:C�C� E6�$:D$�$ E6�1:E1�1E6c#�K�tj|��D] }d|ffV�� tj|��D]\}}}|dkr d||ffV��d|||ffV��dS)N�storer�absolute_import�relative_import)�dis�_find_store_names� _find_imports)rHr�rrer�s r� scan_opcodeszModuleFinder.scan_opcodes�s������)�"�-�-� #� #�D��D�7�"� "� "� "� "�%(�%6�r�%:�%:� A� A� !�D�%����z�z�'�(�D�)9�9�9�9�9�9�'�%��4�)@�@�@�@�@�@�  A� Arc��|j}|j}||��D�]k\}}|dkr|\}d|j|<�|dkr�|\}}d} |�d|vrd} d�|D��}|�|||d���| r�d} |jr%|j�|jdz|z��} | �|j�|��} | �P|j�| j��|j �| j ��| j � d|j |<��d|j |<��|d krZ|\} }}|r|�|||| �����'|� || ���} |�| jd|d�����^t|���|j D]5} t| t|����r|�| |���6dS) Nr�rr�rr�c��g|] }|dk�|�� S)r�rQ)�.0�fs r� z*ModuleFinder.scan_code..�s��@�@�@�a�q�C�x�x��x�x�xrr�r�r�)�co_coder�rFr�rDrV�getrB�updaterGrEr�� RuntimeError� co_constsr.r�r�)rHr�r��code�scanner�whatrgrr�� have_star�mmrer��cs rr�zModuleFinder.scan_code�s+���z���#��!�'�"�+�+�( )�( )�J�D�$��w������&'�� �d�#�#��*�*�*�!%���$�� ��'��h���$%� �@�@�8�@�@�@�H��&�&�t�Q���&�B�B�B��0��B��z�G�"�\�-�-�a�j�3�.>��.E�F�F���z�!�\�-�-�d�3�3���~�� �,�,�R�^�<�<�<�� �,�,�R�^�<�<�<��;�.�23�A�M�$�/��./�� �d�+���*�*�*�(,�%��x���U��*�*�4��H�E�*�J�J�J�J�!�2�2�1�E�2�B�B�F��*�*�6�?�D�(�RS�*�T�T�T�T�#�4�(�(�(��� %� %�A��!�T�"�X�X�&�&� %����q�!�$�$�$�� %� %rc��|�dd||��t�|��}|r|}|�|��}||_|g|_|jt �|g��z|_|�d|j��\}}} |�||||��|� dd|��||r|� ��SS#|r|� ��wwxYw)Nrr�rIzload_package ->) rorr�r�rCrDr r�rvrrr�)rHr�rwrr�rx�bufrys rr�zModuleFinder.load_package�s �� � � �1�n�f�h�7�7�7�#�'�'��/�/�� � ��F� �O�O�F� #� #���� ��Z�� ��Z�.�"4�"4�V�R�"@�"@�@�� ��)�)�*�a�j�A�A���C�� � � � �V�R��e� 4� 4� 4� �K�K��,�a� 0� 0� 0��� ���� � � � � ��r� ���� � � � � ���s �#0C+�+Dc�d�||jvr |j|St|��x|j|<}|Sr )rVr@)rHr�r�s rr�zModuleFinder.add_module�s8�� �T�\� !� !��<��'� '�#)�&�>�>�1�� �V��q��rc���|�|jdz|z}n|}||jvr&|�dd|��t|���|�"|tjvr ddddt ffS|j}t||��S)Nr�rzfind_module -> Excludedr) rBrZrrr"rU�builtin_module_namesr&rr>)rHrrr�r�s rr�zModuleFinder.find_module�s��� � ���s�*�4�/�H�H��H� �t�}� $� $� �K�K��4�h� ?� ?� ?��d�#�#� #� �<��s�/�/�/��d�R��Z�$8�9�9��9�D��D�$�'�'�'rc �� t��tddz��tddz��t|j�����}|D]S}|j|}|jrtdd���ntdd���td|z|jpd ���T|���\}}|rst��td ��|D]S}t|j|�����}td |d d �|�����T|r�t��tdd���td��|D]U}t|j|�����}td |d d �|�����TdSdS)Nz %-25s %s)�Name�File)�----r��Pr_r`r�z%-25srzMissing modules:�?z imported fromrKz7Submodules that appear to be missing, but could also bez#global names in the parent package:) rc�sortedrVr�rDrC�any_missing_mayberWr�)rHr��keyr��missing�mayber�modss r�reportzModuleFinder.report�s��� � ���� �l�-�-�.�.�.� �l�-�-�.�.�.��d�l�'�'�)�)�*�*��� 3� 3�C�� �S�!�A��z� $��c�s�#�#�#�#�#��c�s�#�#�#�#� �'�C�-���!1�r� 2� 2� 2� 2��/�/�1�1���� � C� �G�G�G� �$� %� %� %�� C� C���d�o�d�3�8�8�:�:�;�;���c�4��$�)�)�D�/�/�B�B�B�B� � C� �G�G�G� �K�QT� U� U� U� U� �7� 8� 8� 8�� C� C���d�o�d�3�8�8�:�:�;�;���c�4��$�)�)�D�/�/�B�B�B�B�  C� C� C� Crc�<� |���\}}||zSr )r�)rHr�r�s r� any_missingzModuleFinder.any_missing s(�� ��/�/�1�1�������rc�B� g}g}|jD]�}||jvr� |�d��}|dkr|�|���=||dzd�}|d|�}|j�|��}|�b||j|vr|�|����||jvr��|jr|�|����|�|����|�|����|���|���||fS)Nr�rr) rWrZr�r rVr�rFrG�sort)rHr�r�rrhr��pkgname�pkgs rr�zModuleFinder.any_missing_maybesC�� ������O� %� %�D��t�}�$�$��� � �3���A��1�u�u����t�$�$�$���1�Q�3�4�4�j�G��2�A�2�h�G��,�"�"�7�+�+�C����d�o�d�3�3�3��N�N�4�(�(�(�(����/�/���_� )��L�L��&�&�&�&��N�N�4�(�(�(�(����t�$�$�$�$�� � ���� � � � � � ���~�rc���tj�|j��x}}|jD]6\}}|�|��r||t |��d�z}n�7|jr`||jvrW||kr|� dd|�d|����n|� dd|�d���|j� |��t|j ��}tt |����D]C}t||t|����r|�||��||<�D|�t%|��|���S)Nrz co_filename z changed to z remains unchanged)r�� co_filename)r+r�normpathrr[� startswithr�rXr\rrr �listr�rbr.r�r��replace�tuple)rHr�� new_filename�original_filenamer��r�constsrhs rr�z"ModuleFinder.replace_paths_in_codeCs���+-�7�+;�+;�B�N�+K�+K�K� �(��&� � �D�A�q� �+�+�A�.�.� � �#4�S��V�V�W�W�#=�=� ��� � �:� ;�+�4�3G�G�G��0�0�0�� � �A�A�'8�'8�'8��� H�I�I�I�I�� � �A�A�'8�'8�'8� ;�<�<�<� � � '� '�(9� :� :� :��b�l�#�#���s�6�{�{�#�#� B� B�A��&��)�T�"�X�X�.�.� B� �6�6�v�a�y�A�A��q� ���z�z�E�&�M�M�|�z�L�L�Lr)NrNN)NNr)r)rr )rBrOrPrIrjrorrrtr~r�r�r�r�r�r�r�rvr�r�r�r�r�r�r�r�r�r�r�rQrrrSrSrs������� "� "� "� "������� ��� >�>�>� 8�8�8� � � � �!�!�!�!�F6�6�6�6 � � � D� D� D� D����8���@���:+�+�+�>�>�>�>�4A�A�A�/%�/%�/%�b���*��� (�(�(�(�$ C� C� C�D���,�,�,�\M�M�M�M�MrrSc���ddl} |�tjdd�d��\}}n'#|j$r}t |��Yd}~dSd}~wwxYwd}d}g}g}|D]c\}} |dkr|dz}|dkrd}|dkr"|| �t j��z}|dkrd}|dkr|�| ���d|sd } n|d} tj dd�} t j � | ��| d<|| z} |dkr1t d ��| D]} t d t| ����� t| ||��} |dd�D]g}|dkrd}� |rE|d d�d kr!| � |dd �ddg���<| � |���R| �|���h| �| ��| ���| S)Nrrzdmp:qx:z-dz-mz-pz-qz-xzhello.pyzpath:r^�����z.*r�)�getoptrU�argv�errorrcr{r+�pathsepr rr,rdrSr�r~rtr�)r�optsrgrjrX�domods�addpath�exclude�o�a�scriptr�item�mfris r�testr[sN���M�M�M���]�]�3�8�A�B�B�<��;�;� ��d�d�� �<���� �c� � � ��������������� �E� �F��G��G�� � ���1� ��9�9��A�I�E� ��9�9��F� ��9�9������ � 3� 3�3�G� ��9�9��E� ��9�9� �N�N�1� � � �� ������a��� �8�A�A�A�;�D��g�o�o�f�%�%�D��G� �T�>�D� �q�y�y� �g����� %� %�D� �%��d��� $� $� $� $� �d�E�7� +� +�B��A�B�B�x� � �� �$�;�;��F� � � ��2�3�3�x�4������s�3�B�3�x���u�5�5�5�5����s�#�#�#�#� �L�L�� � � � ��M�M�&�����I�I�K�K�K� �Is�+2� A�A�Aruz [interrupted]r )r��importlib._bootstrap_externalr�importlib.machineryr�r+r6rUr5r0r4r2r-r&r(r rrrr>r@rSrrBr�KeyboardInterruptrcrQrr�r"s���9� � � � �$�$�$�$��������� � � � � � � � � � � � �� � � �� �� ��� � � � ���<�<�<���)�)�)�*1�*1�*1�*1�Z��������0fM�fM�fM�fM�fM�fM�fM�fM�R8�8�8�v �z���!� �T�V�V����� �!�!�!� ��� � � � � � �!�����s� A*�*A>�=A>