� !A?hb ��"� daddlZddlZddlZddlZddlZejdkZer ddlZ ddl Z nddl Z erddgZ ndgZ e dZ ee ��Zd�e ��Z d�e D��ZdZdZeezZd �Ze��Zd �Zd �Zd �Zerd �Znd�Zd�Zd�Zd�Zd�Zd�Zerd�Z nd�Z dMd�Z!e"e!j#��Z$d�%dd��dzZ&e'�(e&d��Z)dZ*dZ+dgZ,ere,�-d��ej.��Z/d gZ0e0xZ1Z2dNdd!�d"�Z3d#�Z4d$�Z5d%�Z6d&�Z7d'�Z8d(�Z9d)�Z:d*�Z;d+�ZdQd/�Z?d0�Z@eA��ZBdNdeBd1�d2�ZCGd3�d4��ZDGd5�d6��ZEGd7�d8eE��ZFGd9�d:��ZGGd;�deGeE��ZIGd?�d@eGeE��ZJGdA�dB��ZKGdC�dD��ZLeLZMGdE�dF��ZNGdG�dH��ZOdNdI�ZPdJ�ZQdK�ZRdL�ZSdS)RN��win32�\�/�c��h|]}d|����S)�:�)�.0�ss �J/opt/alt/python-internal/lib64/python3.11/importlib/_bootstrap_external.py� r 2s��9�9�9�A��A���9�9�9�)�win)�cygwin�darwinc���tj�t��r/tj�t��rd�nd��fd�}nd�}|S)N� PYTHONCASEOKs PYTHONCASEOKc�F�� tjj o �tjvS�N)�sys�flags�ignore_environment�_os�environ��keys�r � _relax_casez%_make_relax_case.._relax_caseCs ��� p��y�3�3�J��s�{�8J� Jrc�� dS)NFr r rr rz%_make_relax_case.._relax_caseGs �� G��5r)r�platform� startswith�_CASE_INSENSITIVE_PLATFORMS�#_CASE_INSENSITIVE_PLATFORMS_STR_KEY)rrs @r �_make_relax_caser#<s|��� �|���:�;�;� � �<� "� "�#F� G� G� "� �C�C�!�C� K� K� K� K� K� K� � � � �rc�P� t|��dz�dd��S)N�����little)�int�to_bytes)�xs r � _pack_uint32r+Os&��4� ��F�F�Z� � )� )�!�X� 6� 6�6rc�:� t�|d��S�Nr'�r(� from_bytes��datas r �_unpack_uint32r2T���9� �>�>�$�� )� )�)rc�:� t�|d��Sr-r.r0s r �_unpack_uint16r5Yr3rc��� |sdSt|��dkr|dSd}g}ttj|��D]�\}}|�t ��s|�t ��r(|�t��p|}t|zg}�a|�d��rF|� ��|� ��kr|}|g}��|� |����|p|}|� |����d�|D��}t|��dkr|ds |tzS|t� |��zS)Nr�rrc�F�g|]}|�|�t����Sr ��rstrip�path_separators)r �ps r � z_path_join..ws)��=�=�=�a�1�=�����)�)�=�=�=r) �len�mapr�_path_splitrootr �path_sep_tuple�endswithr:r;�path_sep�casefold�append�join)� path_parts�root�path�new_root�tails r � _path_joinrL`sj��-�� ��2� �z�?�?�a� � ��a�=� �����!�#�"5�z�B�B� "� "�N�H�d��"�"�>�2�2� "�h�6G�6G��6W�6W� "�����7�7�?�4�� �4��(����"�"�3�'�'� "��=�=�?�?�h�&7�&7�&9�&9�9�9�$�D� �6�D�D��K�K��%�%�%�%��'�4��� � �D�!�!�!�!�=�=�4�=�=�=�� �t�9�9��>�>�$�q�'�>��(�?� "��h�m�m�D�)�)�)�)rc�L� t�d�|D����S)Nc�F�g|]}|�|�t����Sr r9)r �parts r r=z_path_join..�s8��>�>�>�"&��>�d�k�k�/�:�:�>�>�>r)rCrF)rGs r rLrL~s7��-��}�}�>�>�*4�>�>�>�?�?� ?rc��� t�fd�tD����}|dkrd�fS�d|��|dzd�fS)Nc3�B�K�|]}��|��V��dSr)�rfind)r r<rIs �r � z_path_split..�s-����� 3� 3�a�D�J�J�q�M�M� 3� 3� 3� 3� 3� 3rrrr7)�maxr;)rI�is` r � _path_splitrV�sY���*� � 3� 3� 3� 3�?� 3� 3� 3�3�3�A��1�u�u��4�x�� ����8�T�!�a�%�&�&�\� !�!rc�,� tj|��Sr)r�stat�rIs r � _path_statrZ�s��� �8�D�>�>�rc�d� t|��}n#t$rYdSwxYw|jdz|kS)NFi�)rZ�OSError�st_mode)rI�mode� stat_infos r �_path_is_mode_typer`�sN��;���t�$�$� � �� �����u�u����� � �� (�T� 1�1s �� !�!c�$� t|d��S)Ni�)r`rYs r � _path_isfilerb�s��)� �d�H� -� -�-rc�N� |stj��}t|d��S)Ni@)r�getcwdr`rYs r � _path_isdirre�s(��(� ���z�|�|�� �d�H� -� -�-rc��� |sdStj|��d�dd��}t|��dko)|�d��p|�d��S)NFrrrr7z\\)rr@�replacer>r rB)rIrHs r � _path_isabsrh�si��,�� ��5��"�4�(�(��+�3�3�C��>�>���4�y�y�1�}�Q�$�/�/�&�"9�"9�"P�T�]�]�4�=P�=P�Qrc�8� |�t��Sr)r r;rYs r rhrh�s��,�����/�/�/r�c��� d�|t|����}tj|tjtjztjz|dz��} tj|d��5}|� |��ddd��n #1swxYwYtj ||��dS#t$r( tj |��n#t$rYnwxYw�wxYw)N�{}.{}rj�wb) �format�idr�open�O_EXCL�O_CREAT�O_WRONLY�_io�FileIO�writergr\�unlink)rIr1r^�path_tmp�fd�files r � _write_atomicr{�s;��$��~�~�d�B�t�H�H�-�-�H� ��(��*�s�{�*�S�\�9�4�%�<� I� I�B� ��Z��D� !� !� �T� �J�J�t� � � � � � � � � � � � � � ���� � � � � � �H�d�#�#�#�#�#�� ���� � �J�x� � � � ��� � � � �D� ���� � ���sT�#B<�8B� B<�B�B<�!B�"B<�< C.�C�C.� C)�&C.�(C)�)C.i� �r's � __pycache__zopt-z.pyz.pywz.pyc)� optimizationc�� |�3tjdt��|�d}t|���|rdnd}t j|��}t |��\}}|�d��\}}}tj j } | �td���d� |r|n||| g��} |�)tj jdkrd}ntj j}t|��}|dkrR|���s"t#d�|�����d �| t&|��} | t(dz} tj��t-|��s!t/t j��|��}|dd kr|dt2vr |d d�}t/tj|�t2��| ��St/|t6| ��S) NzFthe debug_override parameter is deprecated; use 'optimization' insteadz2debug_override or optimization must be set to Nonerr7�.�$sys.implementation.cache_tag is Nonerz{!r} is not alphanumericz{}.{}{}rr|)� _warnings�warn�DeprecationWarning� TypeErrorr�fspathrV� rpartitionr�implementation� cache_tag�NotImplementedErrorrFr�optimize�str�isalnum� ValueErrorrn�_OPT�BYTECODE_SUFFIXES�pycache_prefixrhrLrdr;�lstrip�_PYCACHE) rI�debug_overrider~�message�headrK�base�sep�rest�tag�almost_filename�filenames r �cache_from_sourcer��s����"�!���0�1C� E� E� E� � #�J�G��G�$�$� $�+�2�r�r�� � �:�d� � �D��T�"�"�J�D�$��o�o�c�*�*�O�D�#�t� � � &�C� �{�!�"H�I�I�I��g�g�� 6���$��c�B�C�C�O��� �9� �� "� "��L�L��9�-�L��|�$�$�L��r����#�#�%�%� N��7�>�>�|�L�L�M�M� M�#�*�*�?�D�,�O�O���!2�1�!5�5�H� ��%��4� � � 2��c�j�l�l�D�1�1�D� ��7�c�>�>�d�1�g�_�<�<�����8�D�� � � �K�K�� (� (� � � � � �d�H�h� /� /�/rc��� tjj�td���t j|��}t |��\}}d}tj�Ztj�t��}|� |tz��r|t|��d�}d}|s6t |��\}}|tkrtt�d|�����|�d��}|dvrtd|�����|dkr�|�dd ��d }|� t"��std t"�����|tt"��d�}|���std |�d ����|�d��d} t)|| t*dz��S)Nr�FTz not bottom-level directory in r�>r|�zexpected only 2 or 3 dots in r�r|�����z5optimization portion of filename does not start with zoptimization level z is not an alphanumeric valuer)rr�r�r�rr�rVr�r:r;r rCr>r�r��count�rsplitr�r�� partitionrL�SOURCE_SUFFIXES) rIr��pycache_filename�found_in_pycache_prefix� stripped_path�pycache� dot_countr~� opt_level� base_filenames r �source_from_cacher��s��� ��#�+�!�"H�I�I�I� �:�d� � �D�(��.�.��D� �#�� ��%��*�1�1�/�B�B� � �?�?�=�8�3� 4� 4� +���M�*�*�+�+�,�D�&*� #� "�*�#�D�)�)� ��g� �h� � ���)�)� $�)�)�*�*� *� �&�&�s�+�+�I������M�9I�M�M�N�N�N� �a���'�.�.�s�A�6�6�r�:� ��&�&�t�,�,� /��.�%)�.�.�/�/� /� ��T�����,� �� � �"�"� 3��2�<�2�2�2�3�3� 3�$�.�.�s�3�3�A�6�M� �d�M�O�A�,>�>� ?� ?�?rc�2� t|��dkrdS|�d��\}}}|r |���dd�dkr|S t|��}n!#tt f$r |dd�}YnwxYwt |��r|n|S)Nrr������������py)r>r��lowerr�r�r�rb)� bytecode_pathr��_� extension� source_paths r �_get_sourcefiler�$s����  �=���Q����t�&�1�1�#�6�6��D�!�Y� ��9�?�?�$�$�R��U�+�t�3�3���)�'� �6�6� � �� �� ,�)�)�)�#�C�R�C�(� � � �)����&�{�3�3� F�;�;��Fs�A%�%B�Bc���|�tt����r! t|��S#t$rYdSwxYw|�tt ����r|SdSr)rB�tupler�r�r�r�)r�s r � _get_cachedr�7s~�������/�/�0�0�� �$�X�.�.� .��"� � � � �D�D� ���� � � �5�!2�3�3� 4� 4�����ts�8� A�Ac�b� t|��j}n#t$rd}YnwxYw|dz}|S)Nrj�)rZr]r\)rIr^s r � _calc_moder�CsP��=���$���'���� ������������ �E�M�D� �Ks �� '�'c�\�� d�fd� }t� tj}nd�}||���|S)Nc���|�|j}n'|j|krtd|j�d|��|�����||g|�Ri|��S)Nz loader for z cannot handle ��name)r�� ImportError)�selfr��args�kwargs�methods �r �_check_name_wrapperz(_check_name.._check_name_wrapperWsn��� �<��9�D�D� �Y�$� � ��+�!%����D�D�2�8<�>�>�>� >��v�d�D�2�4�2�2�2�6�2�2�2rc ��dD]1}t||��rt||t||�����2|j�|j��dS)N)� __module__�__name__� __qualname__�__doc__)�hasattr�setattr�getattr�__dict__�update)�new�oldrgs r �_wrapz_check_name.._wrapdsa��P� A� A���3��(�(�A��C��'�#�w�*?�*?�@�@�@�� �L� � �� � -� -� -� -� -rr)� _bootstrapr�)r�r�r�s` r � _check_namer�Osb����3�3�3�3�3�3���� ��� .� .� .�  �E� �v�&�&�&� �rc��� tjdt��|�|��\}}|�Dt |��r5d}tj|�|d��t ��|S)NzZfind_module() is deprecated and slated for removal in Python 3.12; use find_spec() insteadz,Not importing directory {}: missing __init__r)r�r�r�� find_loaderr>rn� ImportWarning)r��fullname�loader�portions�msgs r �_find_module_shimr�ns{��� �N�P�%�'�'�'� �'�'��1�1��F�H� �~�#�h�-�-�~�<����s�z�z�(�1�+�.�.� �>�>�>� �Mrc�x� |dd�}|tkr0d|�d|��}t�d|��t|fi|���t |��dkr/d|��}t�d|��t |���t |dd���}|dzrd |�d |��}t|fi|���|S) Nr&zbad magic number in z: �{}�z(reached EOF while reading pyc header of ������zinvalid flags z in )� MAGIC_NUMBERr��_verbose_messager�r>�EOFErrorr2)r1r�� exc_details�magicr�rs r � _classify_pycr��s���� ��!��H�E� � ���<��<�<�5�<�<���#�#�D�'�2�2�2��'�1�1�[�1�1�1� �4�y�y�2�~�~�E�T�E�E���#�#�D�'�2�2�2��w���� �4��!��9� %� %�E� �u�}�2�8�5�8�8��8�8���'�1�1�[�1�1�1� �Lrc�� t|dd���|dzkr-d|��}t�d|��t|fi|���|�.t|dd���|dzkrtd|��fi|���dSdS)Nr�� r%zbytecode is stale for r�r�)r2r�r�r�)r1� source_mtime� source_sizer�r�r�s r �_validate_timestamp_pycr��s����"�d�1�R�4�j�!�!�l�Z�&?�@�@�3�4�3�3���#�#�D�'�2�2�2��'�1�1�[�1�1�1����t�B�r�E�{�#�#� �j�(@�A�A��;�4�;�;�K�K�{�K�K�K� ��A�Arc�D� |dd�|krtd|��fi|���dS)Nr�r�z.hash in bytecode doesn't match hash of source )r�)r1� source_hashr�r�s r �_validate_hash_pycr��sN���  �A�b�D�z�[� � �� F�d� F� F� � �� � � �!� rc�� tj|��}t|t��r4t�d|��|�t j||��|Std� |��||����)Nzcode object from {!r}zNon-code object in {!r}�r�rI) �marshal�loads� isinstance� _code_typer�r��_imp�_fix_co_filenamer�rn)r1r�r�r��codes r �_compile_bytecoder��s���-� �=�� � �D��$� �#�#�9��#�#�$;�]�K�K�K� � "� � !�$� � 4� 4� 4�� ��3�:�:�=�I�I�#�-�9�9�9� 9rc�J� tt��}|�td����|�t|����|�t|����|�t j|����|S)Nr�� bytearrayr��extendr+r��dumps)r��mtimer�r1s r �_code_to_timestamp_pycr�s��1� �\� "� "�D��K�K� �Q��� � � ��K�K� �U�#�#�$�$�$��K�K� �[�)�)�*�*�*��K�K�� �d�#�#�$�$�$� �KrTc��� tt��}d|dzz}|�t|����|�|��|�t j|����|S)Nr7r�)r�r��checkedr1rs r �_code_to_hash_pycr�sm��,� �\� "� "�D� �'�Q�,� �E��K�K� �U�#�#�$�$�$��K�K� �����K�K�� �d�#�#�$�$�$� �Krc��� ddl}tj|��j}|�|��}tjdd��}|�|�|d����S)NrT)�tokenizert�BytesIO�readline�detect_encoding�IncrementalNewlineDecoder�decode)� source_bytesr�source_bytes_readline�encoding�newline_decoders r � decode_sourcer�sq����O�O�O��K� �5�5�>���'�'�(=�>�>�H��3�D�$�?�?�O� � !� !�,�"5�"5�h�q�k�"B�"B� C� C�Cr�r��submodule_search_locationsc�,� |�:d}t|d��r' |�|��}ng#t$rYn[wxYwnVtj|��}t |��s3 t tj��|��}n#t$rYnwxYwt� |||���}d|_ |�Mt��D]<\}}|� t|����r|||��}||_n�=dS|t urAt|d��r0 |�|��}|rg|_n#t$rYn wxYwn||_|jgkr1|r/t'|��d}|j�|��|S)Nz � get_filename��originT� is_packager)r�rr�rr�rhrLrdr\r�� ModuleSpec� _set_fileattr�_get_supported_file_loadersrBr�r�� _POPULATErrrVrE) r��locationr�r�spec� loader_class�suffixesr�dirnames r �spec_from_file_locationr! s�� ����� �6�>� *� *� � �!�.�.�t�4�4����� � � ��� ����  ��:�h�'�'���8�$�$� � �%�c�j�l�l�H�=�=����� � � ��� ���� � � ��v�h� � ?� ?�D��D���~�&A�&C�&C� � � "�L�(�� � ��x���1�1� �%��d�H�5�5��$�� ��� � �4�"�Y�.�.� �6�<� (� (� 9� 9�#�.�.�t�4�4� ��9�68�D�3��� � � � ��� ���� 9�+E��'� �&�"�,�,� � <�!�(�+�+�A�.�G� � +� 2� 2�7� ;� ;� ;� �Ks0�-� :�:�"!B� B�B�!E� E � E c��eZdZ dZdZeodevZed���Z e d���Z e d d���Z e d d���Z dS) �WindowsRegistryFinderz;Software\Python\PythonCore\{sys_version}\Modules\{fullname}zASoftware\Python\PythonCore\{sys_version}\Modules\{fullname}\Debugz_d.pydc�� tjtj|��S#t$r"tjtj|��cYSwxYwr)�winreg�OpenKey�HKEY_CURRENT_USERr\�HKEY_LOCAL_MACHINErs r �_open_registryz$WindowsRegistryFinder._open_registry_sW�� B��>�&�":�C�@�@� @��� B� B� B��>�&�";�S�A�A� A� A� A� B���s�!�)A � A c�4�|jr|j}n|j}|�|dtjdd�z���} |�|��5}tj|d��}ddd��n #1swxYwYn#t$rYdSwxYw|S)Nz%d.%dr|)r�� sys_versionr) � DEBUG_BUILD�REGISTRY_KEY_DEBUG� REGISTRY_KEYrnr� version_infor)r%� QueryValuer\)�clsr�� registry_keyr�hkey�filepaths r �_search_registryz&WindowsRegistryFinder._search_registryfs��� �?� ,��1�L�L��+�L��!�!�8�.5��8H��!��8L�.L�"�N�N�� ��#�#�C�(�(� 7�D�!�,�T�2�6�6�� 7� 7� 7� 7� 7� 7� 7� 7� 7� 7� 7���� 7� 7� 7� 7���� � � ��4�4� �����s6�B�A;�/ B�;A?�?B�A?�B� B�BNc�>�|�|��}|�dS t|��n#t$rYdSwxYwt��D]R\}}|�t |����r+t �||||��|���}|cS�SdS)Nr)r5rZr\rrBr�r��spec_from_loader)r1r�rI�targetr4r�rrs r � find_speczWindowsRegistryFinder.find_specus����'�'��1�1�� � ��4� � �x� � � � ��� � � ��4�4� ���� ;� =� =� � � �F�H�� � ��x���1�1� �!�2�2�8�39�6�(�H�3M�3M�:B�3�D�D��� � � �  � � s �+� 9�9c�z� tjdt��|�||��}|�|jSdS)NzpWindowsRegistryFinder.find_module() is deprecated and slated for removal in Python 3.12; use find_spec() instead�r�r�r�r9r��r1r�rIrs r � find_modulez!WindowsRegistryFinder.find_module�sN�� � ��T�)� +� +� +��}�}�X�t�,�,�� � ��;� ��4r�NNr)r�r�r�r.r-� _MS_WINDOWS�EXTENSION_SUFFIXESr,� staticmethodr)� classmethodr5r9r=r rr r#r#Ss�������H� �� '���A�8�/A�#A�K��B�B��\�B� � � ��[� �� � � ��[� �� � � ��[� � � rr#c�(�eZdZ d�Zd�Zd�Zd�ZdS)� _LoaderBasicsc��� t|�|����d}|�dd��d}|�d��d}|dko|dkS)Nr7r�rr|�__init__)rVrr�r�)r�r�r�� filename_base� tail_names r rz_LoaderBasics.is_package�sm�� N��t�0�0��:�:�;�;�A�>�� ����Q�/�/��2� ��'�'��,�,�Q�/� �� �*�F�y�J�/F�Frc��dSrr �r�rs r � create_modulez_LoaderBasics.create_module����8�8rc��� |�|j��}|�'td�|j�����t�t ||j��dS)Nz4cannot load module {!r} when get_code() returns None)�get_coder�r�rnr��_call_with_frames_removed�execr�)r��moduler�s r � exec_modulez_LoaderBasics.exec_module�sf��!��}�}�V�_�-�-�� �<��-�-3�V�F�O�-D�-D�F�F� F��,�,�T�4���I�I�I�I�Irc�:� t�||��Sr)r��_load_module_shim�r�r�s r � load_modulez_LoaderBasics.load_module�s��(��+�+�D�(�;�;�;rN)r�r�r�rrKrRrVr rr rDrD�s[�������G�G�G�9�9�9�J�J�J�<�<�<�<��eZdZd�Zd�Zd�Zd�Zd�Zdd�d�Zd �Z d S) � SourceLoaderc�� t�r)r\�r�rIs r � path_mtimezSourceLoader.path_mtime�s�� � � rc�2� d|�|��iS)Nr)r[rZs r � path_statszSourceLoader.path_stats�s �� ������.�.�/�/rc�0� |�||��Sr)�set_data)r�r�� cache_pathr1s r �_cache_bytecodezSourceLoader._cache_bytecode�s�� ��}�}�Z��.�.�.rc��dSrr )r�rIr1s r r_zSourceLoader.set_data�s �� � rc��� |�|��} |�|��}n$#t$r}td|���|�d}~wwxYwt |��S)Nz'source not available through get_data()r�)r�get_datar\r�r)r�r�rIr �excs r � get_sourcezSourceLoader.get_source�s��B�� � ��*�*�� 6��=�=��.�.�L�L��� 6� 6� 6��G�#+�-�-�-�25� 6����� 6�����\�*�*�*s�.� A�A � Ar�)� _optimizec�N� t�t||dd|���S)NrPT)� dont_inheritr�)r�rO�compile)r�r1rIrgs r �source_to_codezSourceLoader.source_to_code�s6�� ��3�3�G�T�4��59�I�4�O�O� Orc��� |�|��}d}d}d}d}d} t|��} |�|��} t| d��} |�|��} ||d�} t | || ��} t | ��dd�} | dzdk}|rm| dzdk}tjd krS|stjd krA|�|��}tj t|��}t| ||| ��nt| || d || ��t�d ||��t| |||� ��S#t t"f$rYn6wxYw#t$$rYn&wxYw#t$$rYnwxYw#t&$rd}YnwxYw|�|�|��}|�||��}t�d|��t*jsu|�s|�q|r(|�tj |��}t/|||��} nt1||t3|����} |�||| ��n#t&$rYnwxYw|S)NFTrr�r�r7rr|�never�always�sizez {} matches {})r�r�r�zcode object from {})rr�r]r(rdr�� memoryviewr��check_hash_based_pycsr��_RAW_MAGIC_NUMBERr�r�r�r�r�r�r�r\r�rkr�dont_write_bytecoderrr>ra)r�r�r�r�r r�� hash_based� check_sourcer��str1r�r� bytes_data� code_objects r rNzSourceLoader.get_code�sR�� � �'�'��1�1� �� �� �� �� �� �3 J�-�k�:�:�M�. J��_�_�[�1�1�� #�2�g�;�/�/� �(J��=�=��7�7�D� !)� -�#�#�K�J� -�d�H�k� J� J��%/��%5�%5�b�c�c�%:� �%*�S�[�A�%5� �%��+0�4�<�1�+<�L� $� :�g� E� E�!-�!F�!%�!;�x�!G�!G�/3�}�}�[�/I�/I� �.2�.>�$5�$0�/"�/"� �!3�4��h�3>�!@�!@�!@��4� $� ,� "�6� � (� +� ���#�3�3�O�]�4?�A�A�A�0��(�?L�=H� J� J� J�J�� (��2�����������?�����D������ � � � ��� ����� #� !� !� !� �M�M�M� !����d � ��=�=��5�5�L��)�)�,� �D�D� ��#�#�$9�;�G�G�G��'� �M�,E��(�� A��&�"&�"2�<�"@�"@�K�(��k�<�P�P���-�k�<�.1�,�.?�.?�A�A�� ��$�$�[�-��F�F�F�F��&� � � ��� �����sY�F�F�E7�8B9E � E4�3E4�7 F�F� F�F� F&�%F&� I"�" I/�.I/N) r�r�r�r[r]rar_rfrkrNr rr rXrX�s���������� 0� 0� 0�/�/�/� � � �+�+�+�79�O�O�O�O�O�R�R�R�R�RrrXc�t��eZdZ d�Zd�Zd�Ze�fd���Zed���Zd�Z ed���Z �xZ S)� FileLoaderc�$� ||_||_dSrr�)r�r�rIs r rFzFileLoader.__init__Is�� ��� ��� � � rc�B�|j|jko|j|jkSr�� __class__r��r��others r �__eq__zFileLoader.__eq__O�$����%�/�1�0�� ���/� 1rc�T�t|j��t|j��z Sr��hashr�rI�r�s r �__hash__zFileLoader.__hash__S����D�I����d�i���0�0rc�V�� tt|���|��Sr)�superrzrV)r�r�r~s �r rVzFileLoader.load_moduleVs(��� ��Z��&�&�2�2�8�<�<��?� @� @� #���s�4�y�y�)�)� #�T��y�y�{�{� #� #� #� #� #� #� #� #� #� #� #� #���� #� #� #� #� #� #���D�#�&�&� #�$��y�y�{�{� #� #� #� #� #� #� #� #� #� #� #� #���� #� #� #� #� #� #s#�A � A$�'A$�B#�#B'�*B'c�$�ddlm}||��S)Nr)� FileReader)�importlib.readersr�)r�rQr�s r �get_resource_readerzFileLoader.get_resource_readerps$��0�0�0�0�0�0��z�$���r) r�r�r�rFr�r�r�rVrrdr�� __classcell__)r~s@r rzrzDs��������"���� 1�1�1�1�1�1�� =� =� =� =��[� =�����[��#�#�#�� � ��[� � � � � rrzc�(�eZdZ d�Zd�Zdd�d�ZdS)�SourceFileLoaderc�@� t|��}|j|jd�S)N)rro)rZ�st_mtime�st_size)r�rIrvs r r]zSourceFileLoader.path_statszs$��/� �� � ����b�j�9�9�9rc�P�t|��}|�|||���S)N��_mode)r�r_)r�r�r�r1r^s r raz SourceFileLoader._cache_bytecodes'���+�&�&���}�}�]�D��}�=�=�=rrjr�c�r� t|��\}}g}|rGt|��s8t|��\}}|�|��|rt|���8t|��D]g}t ||��} t j|���(#t$rY�4t$r(}t� d||��Yd}~dSd}~wwxYw t|||��t� d|��dS#t$r'}t� d||��Yd}~dSd}~wwxYw)Nzcould not create {!r}: {!r}z created {!r}) rVrerE�reversedrLr�mkdir�FileExistsErrorr\r�r�r{) r�rIr1r��parentr�rGrOres r r_zSourceFileLoader.set_data�s���)�&�t�,�,����� �� $�[��0�0� $�&�v�.�.�L�F�D� � � �d� #� #� #�� $�[��0�0� $��Z�(�(� � �D����-�-�F� �� �&�!�!�!�!��"� � � ���� � � ��+�+�,I�,2�C�9�9�9������������  ����  -� �$��e� ,� ,� ,� � '� '��� =� =� =� =� =��� -� -� -� � '� '�(E�t�(+� -� -� -� -� -� -� -� -� -����� -���s6�B� C�" C�+C�C�,D� D6�D1�1D6N)r�r�r�r]rar_r rr r�r�vsS������H�:�:�:� >�>�>� -2�-�-�-�-�-�-�-rr�c��eZdZ d�Zd�ZdS)�SourcelessFileLoaderc���|�|��}|�|��}||d�}t|||��tt |��dd�||���S)Nr�r�)r�r�)rrdr�r�rp)r�r�rIr1r�s r rNzSourcelessFileLoader.get_code�s��� � ��*�*���}�}�T�"�"���� � � � �d�H�k�2�2�2� � �t� � �R�S�S� !��� � � � rc�� dSrr rUs r rfzSourcelessFileLoader.get_source�s ��5��trN)r�r�r�rNrfr rr r�r��s5������7� � � � ����rr�c�V�eZdZ d�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z e d ���Z d S) r�c�"�||_||_dSrr�)r�r�rIs r rFzExtensionFileLoader.__init__�s���� ��� � � rc�B�|j|jko|j|jkSrr}rs r r�zExtensionFileLoader.__eq__�r�rc�T�t|j��t|j��z Srr�r�s r r�zExtensionFileLoader.__hash__�r�rc�� t�tj|��}t�d|j|j��|S)Nz&extension module {!r} loaded from {!r})r�rOr��create_dynamicr�r�rI)r�rrQs r rKz!ExtensionFileLoader.create_module�sK��6��5�5� � ��'�'���#�#�$L���D�I� /� /� /�� rc�� t�tj|��t�d|j|j��dS)Nz(extension module {!r} executed from {!r})r�rOr�� exec_dynamicr�r�rI�r�rQs r rRzExtensionFileLoader.exec_module�sL��,��,�,�T�->��G�G�G��#�#�$N���D�I� /� /� /� /� /rc�z�� t|j��d�t�fd�tD����S)Nr7c3�*�K�|] }�d|zkV��dS)rFNr )r �suffix� file_names �r rSz1ExtensionFileLoader.is_package..�sA�����5�5��� �V� 3�3�5�5�5�5�5�5r)rVrI�anyr@)r�r�r�s @r rzExtensionFileLoader.is_package�sR���?��� �*�*�1�-� ��5�5�5�5�!3�5�5�5�5�5� 5rc�� dSrr rUs r rNzExtensionFileLoader.get_code�s ��M��trc�� dSrr rUs r rfzExtensionFileLoader.get_source�s ��C��trc�� |jSrrYrUs r rz ExtensionFileLoader.get_filename�r�rN) r�r�r�rFr�r�rKrRrrNrfr�rr rr r�r��s�������� ���1�1�1�1�1�1����/�/�/� 5�5�5� ����������[���rr�c�V�eZdZ dZd�Zd�Zd�Zd�Zd�Zd�Z d�Z d �Z d �Z d �Z d �Zd S)�_NamespacePathrc��||_||_t|�����|_|j|_||_dSr)�_name�_pathr��_get_parent_path�_last_parent_path�_epoch� _last_epoch� _path_finder�r�r�rI� path_finders r rFz_NamespacePath.__init__�sD���� ��� �!&�t�'<�'<�'>�'>�!?�!?����;���'����rc�X� |j�d��\}}}|dkrdS|dfS)Nr�r)rrI�__path__)r�r�)r�r��dot�mes r �_find_parent_path_namesz&_NamespacePath._find_parent_path_namess;��L��*�/�/��4�4����R� �"�9�9� �=��z�!�!rc�p�|���\}}ttj||��Sr)r�r�r�modules)r��parent_module_name�path_attr_names r r�z_NamespacePath._get_parent_path s1��-1�-I�-I�-K�-K�*��N��s�{�#5�6��G�G�Grc��t|�����}||jks|j|jkrJ|�|j|��}|�|j�|jr |j|_ ||_|j|_|j Sr) r�r�r�r�r�r�r�r�rr�)r�� parent_pathrs r � _recalculatez_NamespacePath._recalculates����D�1�1�3�3�4�4� � �$�0� 0� 0�D�K�4�CS�4S�4S��$�$�T�Z��=�=�D���D�K�$7��2�A�!%�!@�D�J�%0�D� "�#�{�D� ��z�rc�D�t|�����Sr)�iterr�r�s r �__iter__z_NamespacePath.__iter__s���D�%�%�'�'�(�(�(rc�6�|���|Sr�r�)r��indexs r � __getitem__z_NamespacePath.__getitem__"s��� � �"�"�5�)�)rc��||j|<dSr)r�)r�r�rIs r � __setitem__z_NamespacePath.__setitem__%s�� �� �5���rc�D�t|�����Sr)r>r�r�s r �__len__z_NamespacePath.__len__(s���4�$�$�&�&�'�'�'rc�6�d�|j��S)Nz_NamespacePath({!r}))rnr�r�s r �__repr__z_NamespacePath.__repr__+s��%�,�,�T�Z�8�8�8rc�.�||���vSrr��r��items r � __contains__z_NamespacePath.__contains__.s���t�(�(�*�*�*�*rc�:�|j�|��dSr)r�rEr�s r rEz_NamespacePath.append1s�� � ���$�����rN)r�r�r�r�rFr�r�r�r�r�r�r�r�r�rEr rr r�r��s���������F�(�(�(�"�"�"�H�H�H� � � �)�)�)�*�*�*�!�!�!�(�(�(�9�9�9�+�+�+� � � � � rr�c�T�eZdZd�Zed���Zd�Zd�Zd�Zd�Z d�Z d�Z d �Z d S) �NamespaceLoaderc�2�t|||��|_dSr)r�r�r�s r rFzNamespaceLoader.__init__9s��#�D�$� �<�<�� � � rc�l� tjdt��d�|j��S)NzQNamespaceLoader.module_repr() is deprecated and slated for removal in Python 3.12z)r�r�r�rnr�)rQs r � module_reprzNamespaceLoader.module_repr<s>�� � ��;�rPT)ri)rjrUs r rNzNamespaceLoader.get_codeMs���r�:�v�D�A�A�A�Arc��dSrr rJs r rKzNamespaceLoader.create_modulePrLrc��dSrr r�s r rRzNamespaceLoader.exec_moduleSs�� �rc�z� t�d|j��t�||��S)Nz&namespace module loaded with path {!r})r�r�r�rTrUs r rVzNamespaceLoader.load_moduleVsA�� � �#�#�$L�$(�J� 0� 0� 0��+�+�D�(�;�;�;rc�.�ddlm}||j��S)Nr)�NamespaceReader)r�r�r�)r�rQr�s r r�z#NamespaceLoader.get_resource_readerbs&��5�5�5�5�5�5���t�z�*�*�*rN) r�r�r�rFrAr�rrfrNrKrRrVr�r rr r�r�8s�������=�=�=��C�C��\�C�������B�B�B�9�9�9� � � � <� <� <�+�+�+�+�+rr�c���eZdZ ed���Zed���Zed���Zed���Zed d���Z ed d���Z ed d���Z ed ���Z dS) � PathFinderc�N� ttj�����D]H\}}|�t |��stj|=�$t |d��r|����Itxjdz c_ddl m }|���dS)N�invalidate_cachesr7r��MetadataPathFinder) �listr�path_importer_cache�itemsrhr�r�r�r��importlib.metadatar�)r��finderr�s r r�zPathFinder.invalidate_cachesqs��� C� ��!8�!>�!>�!@�!@�A�A� +� +�L�D�&��~�[��%6�%6�~��+�D�1�1���!4�5�5� +��(�(�*�*�*�� ����"���9�9�9�9�9�9��,�,�.�.�.�.�.rc��� tj�&tjstjdt��tjD]} ||��cS#t $rY�wxYwdS)Nzsys.path_hooks is empty)r� path_hooksr�r�r�r�)rI�hooks r � _path_hookszPathFinder._path_hooks�sx��<� �>� %�c�n� %� �N�4�m� D� D� D��N� � �D� ��t�D�z�z�!�!�!��� � � ��� �����4s� A� A�Ac��� |dkr& tj��}n#t$rYdSwxYw tj|}n4#t $r'|�|��}|tj|<YnwxYw|Sr�)rrd�FileNotFoundErrorrr��KeyErrorr�)r1rIr�s r �_path_importer_cachezPathFinder._path_importer_cache�s��� � �2�:�:� ��z�|�|����$� � � ��t�t� ���� 3��,�T�2�F�F��� 3� 3� 3��_�_�T�*�*�F�,2�C� #�D� )� )� )� 3����� s�� +�+�A�.A3�2A3c���t|d��rPt�|���d�}tj|t ��|�|��\}}nNt�|���d�}tj|t ��|�|��}g}|�t�||��St� |d��}||_ |S)Nr�z5.find_spec() not found; falling back to find_loader()z5.find_spec() not found; falling back to find_module()) r�r�� _object_namer�r�r�r�r=r7rr)r1r�r�r�r�r�rs r �_legacy_get_speczPathFinder._legacy_get_spec�s��� �6�=� )� )� � �-�-�f�5�5�4�4�4�C� �N�3� � .� .� .�%�1�1�(�;�;� �F�H�H� �-�-�f�5�5�4�4�4�C� �N�3� � .� .� .��'�'��1�1�F��H� � ��.�.�x��@�@� @��$�$�X�t�4�4��*2��'�� rNc�� g}|D]�}t|t��s�|�|��}|�xt|d��r|�||��}n|�||��}|��o|j�|cS|j}|�td���|� |����t� |d��}||_|S)Nr9zspec missing loader) r�r�rr�r9rr�rr�r�r�r) r1r�rIr8�namespace_path�entryr�rr�s r � _get_speczPathFinder._get_spec�s���M���� � �E��e�S�)�)� ���-�-�e�4�4�F��!��6�;�/�/�B�!�+�+�H�f�=�=�D�D��/�/��&�A�A�D��<���;�*��K�K�K��:���#�%�&;�<�<�<� �%�%�h�/�/�/���(�(��4�8�8�D�.<�D� +��Krc��� |� tj}|�|||��}|�dS|j�/|j}|r$d|_t |||j��|_|SdS|Sr)rrIr r�rrr�)r1r�rIr8rrs r r9zPathFinder.find_spec�s|�� � �<��8�D��}�}�X�t�V�4�4�� �<��4� �[� �!�<�N�� �#�� �2@��>�[^�[h�2i�2i��/�� ��t��Krc�z� tjdt��|�||��}|�dS|jS)NzePathFinder.find_module() is deprecated and slated for removal in Python 3.12; use find_spec() insteadr;r<s r r=zPathFinder.find_module�sM�� � ��T�)� +� +� +��}�}�X�t�,�,�� �<��4��{�rc�*� ddlm}|j|i|��S)Nrr�)r�r��find_distributions)r�r�r�s r rzPathFinder.find_distributionss4�� � :�9�9�9�9�9�4�!�4�d�E�f�E�E�Errr>) r�r�r�rAr�r�rBrrr r9r=rr rr r�r�ms������H��/�/��\�/�"� � ��\� �����[��*����[��(�����[��>�����[��.� � � ��[� �� F� F��\� F� F� Frr�c�V�eZdZ d�Zd�ZeZd�Zd�Zd d�Z d�Z e d���Z d �Z dS) � FileFinderc��� g}|D]&\�}|��fd�|D�����'||_|r|dkrtj��|_n=t |��s't tj��|��|_n||_d|_t��|_ t��|_ dS)Nc3� �K�|]}|�fV�� dSrr )r r�r�s �r rSz&FileFinder.__init__.. s(�����C�C��F�F�+�C�C�C�C�C�Crr�r�) r��_loadersrrdrIrhrL� _path_mtime�set� _path_cache�_relaxed_path_cache)r�rI�loader_details�loadersrr�s @r rFzFileFinder.__init__s���� ��� .� D� D� �F�H� �N�N�C�C�C�C�(�C�C�C� C� C� C� C��� �� �t�s�{�{�� � � �D�I�I��T�"�"� �"�3�:�<�<��6�6�D�I�I��D�I�����5�5���#&�5�5�� � � rc�� d|_dS)Nr�)rr�s r r�zFileFinder.invalidate_caches-s��-�����rc�� tjdt��|�|��}|�dgfS|j|jpgfS)NzeFileFinder.find_loader() is deprecated and slated for removal in Python 3.12; use find_spec() instead)r�r�r�r9r�r)r�r�rs r r�zFileFinder.find_loader3s\�� � ��T�)� +� +� +��~�~�h�'�'�� �<���8�O��{�D�;�A�r�A�Arc�@�|||��}t||||���S)Nr)r!)r�rr�rI�smslr8r�s r r zFileFinder._get_specBs7����h��-�-��&�x��f�BF�H�H�H� HrNc��� d}|�d��d} t|jptj����j}n#t $rd}YnwxYw||jkr|���||_t��r|j }|� ��}n |j }|}||vrqt|j|��}|jD]E\} } d| z} t|| ��} t| ��r|�| || |g|��cS�Ft#|��}|jD]\} } t|j|| z��} n#t$$rYdSwxYwt&�d| d���|| z|vr*t| ��r|�| || d|��cS��|r@t&�d|��t&�|d��} |g| _| SdS) NFr�r|r�rFz trying {})� verbosityzpossible namespace for {})r�rZrIrrdr�r\r� _fill_cacherrr�rrLrrbr rer�r�r�rr)r�r�r8� is_namespace� tail_moduler�cache� cache_module� base_pathr�r� init_filename� full_pathrs r r9zFileFinder.find_specGsd�� �� ��)�)�#�.�.�q�1� � ��t�y�8�C�J�L�L�9�9�B�E�E��� � � ��E�E�E� ���� �D�$� $� $� � � � � � �$�D� � �=�=� '��,�E�&�,�,�.�.�L�L��$�E�&�L� �5� � �"�4�9�k�:�:�I�(,� � 6� 6�$�� � *�V� 3� �&�y�-�@�@� �� �*�*�b��>�>�,��)�i�[�Z`�a�a�a�a�a�b� +�9�5�5� �$(�M� 8� 8� �F�L� �&�t�y�+��2F�G�G� � ��� � � ��t�t�t� ���� � '� '� �Y�!� '� L� L� L��f�$��-�-�� �*�*�8��>�>�,��)�*.��8�8�8�8�8�� � � � '� '�(C�Y� O� O� O��(�(��4�8�8�D�/8�k�D� +��K��ts#�,A � A�A�:E� E"�!E"c�f� |j} tj|ptj����}n#tt t f$rg}YnwxYwtj� d��st|��|_ nut��}|D]]}|� d��\}}}|r)d� ||�����}n|}|�|���^||_ tj� t ��rd�|D��|_dSdS)Nrr�rlc�6�h|]}|�����Sr )r�)r �fns r r z)FileFinder._fill_cache..�s ��'F�'F�'F�r���� � �'F�'F�'Fr)rIr�listdirrdr�PermissionError�NotADirectoryErrorrrr rrr�rnr��addr!r) r�rI�contents�lower_suffix_contentsr�r�r�r��new_names r r zFileFinder._fill_cachezsD��R��y�� ��{�4�#7�3�:�<�<�8�8�H�H��!�?�4F�G� � � ��H�H�H� ���� �|�&�&�u�-�-� 5�"�8�}�}�D� � �%(�E�E� !� � 4� 4��$(�N�N�3�$7�$7�!��c�6��$�&�~�~�d�F�L�L�N�N�C�C�H�H�#�H�%�)�)�(�3�3�3�3�4�D� � �<� "� "�#>� ?� ?� G�'F�'F�X�'F�'F�'F�D� $� $� $� G� Gs�'2�A� Ac���� ��fd�}|S)Nc�X�� t|��std|�����|g��R�S)Nzonly directories are supportedrY)rer�)rIr1rs ��r �path_hook_for_FileFinderz6FileFinder.path_hook..path_hook_for_FileFinder�sC��� ?��t�$�$� O�!�"B��N�N�N�N��3�t�-�n�-�-�-� -rr )r1rr4s`` r � path_hookzFileFinder.path_hook�s/���� � .� .� .� .� .� .� (�'rc�6�d�|j��S)NzFileFinder({!r}))rnrIr�s r r�zFileFinder.__repr__�s��!�(�(���3�3�3rr)r�r�r�rFr�r�r=r�r r9r rBr5r�r rr rrs��������)�)�)�&���$�K� B� B� B�H�H�H� 1�1�1�1�fG�G�G�>�(�(��[�(�"4�4�4�4�4rrc�4�|�d��}|�d��}|s1|r|j}n'||krt||��}nt||��}|st |||���} ||d<||d<||d<||d<dS#t $rYdSwxYw)N� __loader__�__spec__)r��__file__� __cached__)�getr�r�r�r!� Exception)�nsr��pathname� cpathnamer�rs r �_fix_up_modulerA�s��� �V�V�L� !� !�F� �6�6�*� � �D� �6� � 6��[�F�F� �� "� "�)�$��9�9�F�F�%�d�H�5�5�F� �F�&�t�X�f�E�E�E�� ���:��!��<��!��:��$��<����� � � � � ��� ���s�3B � B�Bc�z� ttj��f}ttf}t t f}|||gSr)r�r��extension_suffixesr�r�r�r�)� extensions�source�bytecodes r rr�s>���%�d�&=�&?�&?�?�J� �� .�F�#�%6�6�H� ��� )�)rc� �|adSr)r�)�_bootstrap_modules r �_set_bootstrap_modulerI�s ��"�J�J�Jrc��� t|��t��}tj�t j|�g��tj�t��dSr) rIrrr�r�rr5� meta_pathrEr�)rH�supported_loaderss r �_installrM�s^��3��+�,�,�,�3�5�5���N���:�/�1B�C�D�E�E�E��M����$�$�$�$�$r)rjr)NNN)rr)T)Tr�r�rtrr�r�rr?�ntrr%�posixr;rCr�rArF�_pathseps_with_colonr"�%_CASE_INSENSITIVE_PLATFORMS_BYTES_KEYr!r#rr+r2r5rLrVrZr`rbrerhr{�type�__code__r�r)r�r(r/rrr�r�r�rErCr@r��DEBUG_BYTECODE_SUFFIXES�OPTIMIZED_BYTECODE_SUFFIXESr�r�r�r�r�r�r�r�r�r�r�rrr�objectrr!r#rDrXrzr�r�r�r�r��_NamespaceLoaderr�rrArrIrMr rr �rXs#���,� � � � � � � � � � � � � ����������|�w�&� ��������M�M�M�M��������S�k�O�O��e�O� �1� �����'�'���'�'�/�*�*��9�9��9�9�9��'-�#�(:�%� E�"E�!F����� �� � � �7�7�7� *�*�*� *�*�*� �"?�*�*�*�*�<?�?�?� "�"�"����2�2�2�.�.�.� .�.�.�� 0�R�R�R�R�0�0�0� ����,�T�-�(� )� )� �j���q�(�+�+�g�5� ��N�N�<��:�:�� �� ���'���#����6�"�"�"�,�T�,�.�.���H��8I�I��5�D0��D0�D0�D0�D0�D0�N%@�%@�%@�PG�G�G�& � � � � � ����>���(���BL�L�L�8 � � �0 9� 9� 9� 9��������� D� D� D� �F�H�H� �D�4�7@�D�D�D�D�D�R@�@�@�@�@�@�@�@�F<�<�<�<�<�<�<�<�