403Webshell
Server IP : 46.101.140.223  /  Your IP : 216.73.217.61
Web Server : nginx/1.22.1
System : Linux debian-s-1vcpu-1gb-fra1-01 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : deploy-others ( 1001)
PHP Version : 8.2.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/numpy/distutils/command/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/numpy/distutils/command/__pycache__/build_src.cpython-311.pyc
�

���c�y��h�dZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
ddlmZddl
mZmZddlmZddlmZmZmZmZmZdd	lmZdd	lmZd
�ZGd�dej��Zejd
ej ��j!Z"ejdej ��j!Z#ejdej ��j!Z$ejdej ��j%Z&ejdej ��j%Z'd�Z(d�Z)d�Z*ejdej ��j!Z+ejdej ��j!Z,d�Z-dS)z Build swig and f2py sources.
�N)�	build_ext)�newer_group�newer)�get_platform)�DistutilsError�DistutilsSetupError)�log)�fortran_ext_match�
appendpath�	is_string�is_sequence�get_cmd)�process_filec���tjd��}t|d��5}t|d��5}|D]�}|�|��}|rY|�|�d|�d��z||�d�������r|�|����	ddd��n#1swxYwYddd��dS#1swxYwYdS)zPSubstitute any occurrence of @foo@ by d['foo'] from source file into
    target.z@([a-zA-Z_]+)@�r�wz@%s@�N)�re�compile�open�search�write�replace�group)�target�source�d�var�fs�ft�l�ms        �C/usr/lib/python3/dist-packages/numpy/distutils/command/build_src.py�
subst_varsr$sc��
�*�%�
&�
&�C�	
�f�c�	�	� �b�
�&�#�
�
�	 �"��
 �
 ���J�J�q�M�M��� ��H�H�Q�Y�Y�v�����
�
�':�A�a�g�g�a�j�j�M�J�J�K�K�K�K��H�H�Q�K�K�K�K�
 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 � � � � � � � � � � � � ���� � � � � � s5�C&�BC�C&�C	�C&�C	�C&�&C*�-C*c��eZdZdZgd�Zgd�ZgZd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zgfd�Zd�Zd�Zd�Zd�Zd�ZdS)�	build_srcz1build sources from SWIG, F2PY files or a function)
)z
build-src=rzdirectory to "build" sources to)z
f2py-opts=Nz!list of f2py command line options)zswig=Nzpath to the SWIG executable)z
swig-opts=Nz!list of SWIG command line options)zswig-cppNzAmake SWIG create C++ files (default is autodetected from sources))z
f2pyflags=Nz3additional flags to f2py (use --f2py-opts= instead))z
swigflags=Nz3additional flags to swig (use --swig-opts= instead))�force�fz2forcibly build everything (ignore file timestamps))�inplace�iziignore build-lib and put compiled extensions into the source directory alongside your pure Python modules)�verbose-cfgNzJchange logging level from WARN to INFO which will show all compiler output)r'r)r+c���d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_d|_dS�N)�
extensions�package�
py_modules�py_modules_dictr&�	build_lib�
build_baser'r)�package_dir�	f2pyflags�	f2py_opts�	swigflags�	swig_opts�swig_cpp�swig�verbose_cfg��selfs r#�initialize_optionszbuild_src.initialize_options?s������������#��������������
���������������������
���	������c���|�dddd��|j�|jj|_|jj|_|jjpg|_|jjpg|_|jjpg|_|j	�Ydj
t��gtj
dd��R�}tj�|jd|z��|_	i|_|jr/|jrt+jd��n|j|_d|_|j�g|_nt/j|j��|_|jr/|jrt+jd	��n|j|_d|_|j�g|_nt/j|j��|_|�d
��}|j�|j|_|j�|j|_dD]�}d|�d
d��z}t?||d��}|rTt?||��rt+jd|z���Vt+j d|�d|�d���tC|||����dS)N�build)r3r3)r2r2)r'r'z	.{}-{}.{}��srcz0ignoring --f2pyflags as --f2py-opts already usedz0ignoring --swigflags as --swig-opts already usedr)r:�swig_optz--�_�-z-both build_src and build_ext define %s optionzusing "�=z" option from build_ext command)"�set_undefined_optionsr/�distribution�ext_package�ext_modulesr.�	librariesr0�
data_filesr&�formatr�sys�version_info�os�path�joinr3r1r5r6r	�warn�shlex�splitr7r8�get_finalized_commandr)r9r�getattr�info�setattr)r=�plat_specifierr�c�o�vs      r#�finalize_optionszbuild_src.finalize_optionsRsx���"�"�7�#?�#=�#5�	7�	7�	7��<���,�8�D�L��+�7����*�4�:�����+�6�<�"����+�6�<�"����>�!�/�[�/����V��AQ�RT�ST�RT�AU�V�V�V�N��W�\�\�$�/�5��;O�P�P�D�N� "����>�	"��~�
0���K�L�L�L�L�!%����!�D�N��>�!��D�N�N�"�[���8�8�D�N��>�	"��~�
0���K�L�L�L�L�!%����!�D�N��>�!��D�N�N�"�[���8�8�D�N��.�.�{�;�;�	��<��$�,�D�L��=� �%�.�D�M�%�	(�	(�A��Q�Y�Y�s�C�(�(�(�A��	�1�d�+�+�A��
(��4��#�#�(��H�L�PQ�R�S�S�S�S��H�H�a�a�a�QR�QR�QR�S�T�T�T��D�!�Q�'�'�'��	(�	(r?c�v�tjd��|js	|jsdS|���dS)Nr&)r	rYr.rL�
build_sourcesr<s r#�runz
build_src.run�sB����������	�4�>�	��F��������r?c�r�|jr|�d��j|_|���|jD]}|j|��
|jr9|�|j��|jD]}|�|���|�	��|�
��dS)N�build_py)r)rW�get_package_dir�build_py_modules_sourcesrL�build_library_sourcesr.�check_extensions_list�build_extension_sources�build_data_files_sources�build_npy_pkg_config)r=�libname_info�exts   r#razbuild_src.build_sources�s����<�	L��/�/�
�;�;�K�
� �	
�%�%�'�'�'� �N�	6�	6�L�&�D�&��5�5�5��?�	2��&�&�t��7�7�7���
2�
2���,�,�S�1�1�1�1��%�%�'�'�'��!�!�#�#�#�#�#r?c���|jsdStjd��ddlm}g}|jD�]�}t|t��r|�|���.t|t���rT|\}}|j	rF|�
d�|�tj������}n%tj�|j|��}d�|D��}d�|D��}|D]�}|jjdkr||��}	n
|��}	|	�rt|	t&��r|�|	���Ut|	t��r|�|	����t+t-|	�������|||f��}
|�||
f�����t+t-|�����||jdd�<dS)Nzbuilding data_files sourcesr)�get_data_files�.c�2�g|]}t|d���|��S��__call__��hasattr��.0r(s  r#�
<listcomp>z6build_src.build_data_files_sources.<locals>.<listcomp>�s'��D�D�D�q�W�Q�
�-C�-C�D��D�D�Dr?c�2�g|]}t|d���|��Srrrtrvs  r#rxz6build_src.build_data_files_sources.<locals>.<listcomp>�s'��H�H�H�q���J�1G�1G�H��H�H�Hr?r)rMr	rY�numpy.distutils.misc_utilro�
isinstance�str�append�tupler)rerSrVrQ�seprRr&�__code__�co_argcount�list�extend�	TypeError�repr)r=ro�new_data_files�datar�files�	build_dir�funcsr(�s�	filenamess           r#rjz"build_src.build_data_files_sources�s�����	��F���.�/�/�/�<�<�<�<�<�<����O�	,�	,�D��$��$�$�
,��%�%�d�+�+�+�+��D�%�(�(�
,����5��<�@� $� 4� 4�S�X�X�a�g�g�b�f�o�o�5N�5N� O� O�I�I� "����T�^�Q� ?� ?�I�D�D�E�D�D�D��H�H�E�H�H�H���5�5�A��z�-�q�0�0��A�i�L�L����A�C�C���}�%�a��.�.�5�!�L�L��O�O�O�O�'��3�/�/�5�!�L�L��O�O�O�O�"+�D��G�G�"4�"4�4�
%�+�N�A�u�:�6�6�	��%�%�q�)�n�5�5�5�5���T�
�
�+�+�+�+��������r?c���|\}}}tj�|��}|���D]
\}}|||<�|jdkr!tj�||��}	n&tj�|j||��}	tj�tj�|��d��}
tj�|	|
��}tj�	|	��stj
|	��t|||��tj�||��}||fS)Nrr)rQrR�dirname�itemsr)rSr&�basename�splitext�exists�makedirsr$)
r=rY�gd�template�install_dir�
subst_dict�template_dir�kr^�
generated_dir�	generated�generated_path�full_install_dirs
             r#�_build_npy_pkg_configzbuild_src._build_npy_pkg_config�s#��,0�)��+�z��w���x�0�0���H�H�J�J�	�	�D�A�q��J�q�M�M��<�1����G�L�L��{�C�C�M�M��G�L�L�����!�!�M��G�$�$�R�W�%5�%5�h�%?�%?��%B�C�C�	�����m�Y�?�?���w�~�~�m�,�,�	'��K�
�&�&�&��>�8�Z�8�8�8��7�<�<��k�B�B����/�/r?c�z�tjd��tjtd����}|jdks|���d}|jdkrd}d}nt|d��r	|j}d}|r�|j	j
���D]�\}}|j	j|}tj�tj�|��|��}d|i}|D]=}	|�|	|��\}
}|j	j�|
|gf���>��dSdS)	Nz(build_src: building npy-pkg config files�installrFrpT�install_libbase�prefix)r	rY�copyr�	finalizedr_r)rur�rI�installed_pkg_configr�r4rQrRrS�abspathr�rMr})r=�install_cmd�
build_npkg�
top_prefix�pkg�infos�pkg_pathr�rrYr�r�s            r#rkzbuild_src.build_npy_pkg_config�se����;�<�<�<��i��	� 2� 2�3�3���$��)�)��(�(�*�*�*��
��<�1����J��J�J�
�[�"3�
4�
4�	�$�4�J��J��	&�"�/�D�J�J�L�L�
&�
&�
��U��,�8��=������b�g�o�o�j�&A�&A�8�L�L���v�&��!�&�&�D�-1�-G�-G��a�-P�-P�*�K���%�0�7�7��"��9%�&�&�&�&�&�	&�	&�
&�
&r?c	��|jsdStjd��g}|jD�]}t|��r�t	|��dkr�|\}}}|jr|�|��}nItj�	|j
tjj	|�d�����}t|d��r.tj�	||dz��}||��}|���|||fg}||j
vr
g|j
|<|j
|xx|z
cc<��|�|����||jdd�<dS)Nzbuilding py_modules sources�rprs�.py)r0r	rYr
�lenr)rerQrRrSr&rVrur1r})r=�new_py_modulesrr/�module_baser�r�moduless        r#rfz"build_src.build_py_modules_sources�so����	��F���.�/�/�/����o�	.�	.�F��6�"�"�
.�s�6�{�{�A�~�~�/5�,���f��<�P� $� 4� 4�W� =� =�I�I� "����T�^�-/�W�\�7�=�=��;M�;M�-N�!P�!P�I��6�:�.�.�,��W�\�\�)�[�5�5H�I�I�F�#�V�F�^�^�F��>��#�[�&�9�:���$�"6�6�6�46�D�(��1��$�W�-�-�-��8�-�-�-�-��%�%�f�-�-�-�-�+��������r?c�V�t|�dg����}|sdStjd|z��|�|||f��}|�|||f��}|�|��\}}|rtjd|j|��||d<dS)N�sourceszbuilding library "%s" sources�#%s - nothing done with h_files = %s)r��getr	rY�generate_sources�template_sources�filter_h_filesr/)r=�lib_name�
build_infor��h_filess     r#rgzbuild_src.build_library_sourcess����z�~�~�i��4�4�5�5���	��F���0�H�=�>�>�>��'�'��(�J�1G�H�H���'�'��(�J�1G�H�H���.�.�w�7�7�����	,��H�:��\�7�
,�
,�
,�!(�
�9���r?c���t|j��}tjd|jz��|�|j��}|�d��}d�|dd���}|jr|�	|��|_
|�||��}|�||��}|�
||��}|�||��}|�||��}|�|��\}}||jvr
g|j|<g}|D]\}t$j�t$j�|����d}	|�||	|f���]|j|xx|z
cc<|�|��\}}
|
rtjd||
��||_dS)Nzbuilding extension "%s" sourcesrpr���r�)r�r�r	rY�name�get_ext_fullnamerVrSr)re�ext_target_dirr�r��swig_sources�f2py_sources�
pyrex_sources�filter_py_filesr1rQrRr�r�r}r�)r=rmr��fullname�modpathr/�py_filesr�r(�moduler�s           r#riz!build_src.build_extension_sources0s����s�{�#�#����2�c�h�?�@�@�@��(�(���2�2���.�.��%�%���(�(�7�1�R�4�=�)�)���<�	@�"&�"6�"6�w�"?�"?�D���'�'���5�5���'�'���5�5���#�#�G�S�1�1���#�#�G�S�1�1���$�$�W�c�2�2�� �0�0��9�9�����$�.�.�.�,.�D� ��)����	1�	1�A��W�%�%�b�g�&6�&6�q�&9�&9�:�:�1�=�F��N�N�G�V�Q�/�0�0�0�0���W�%�%�%��0�%�%�%��.�.�w�7�7�����	'��H�:��g�
'�
'�
'�
����r?c��g}g}|D]<}t|��r|�|���'|�|���=|s|S|jrt|��s|j}nVt|��r	|d}n|j}t
jj|j	g|�
d��dd�z�}|�|��|jr
tj}ntj}tj|��}	|D]o}
|
||��}|s�t|��r"d�|D��|�|���Btjd|�d���|�|���ptj|	��|S)Nrrpr�c�>�g|]}tjd|�d�����S)�
  adding '�
' to sources.)r	rY)rwr�s  r#rxz.build_src.generate_sources.<locals>.<listcomp>~s+��N�N�N�!�������<�=�=�N�N�Nr?r�r�)rr}r)r
r�r�rQrRrSr&rV�mkpathr;r	�INFO�WARN�
set_thresholdr�rY)r=r��	extension�new_sources�func_sourcesrr�r��	new_level�	old_level�funcs           r#r�zbuild_src.generate_sourcesXs��������	,�	,�F��� � �
,��"�"�6�*�*�*�*��#�#�F�+�+�+�+��	����<�	?��I� 6� 6�	?��+�I�I��9�%�%�
&� ��|���
!�~�������'7�(,�
�
�3������(<�(=�?�I����I������	!���I�I���I��%�i�0�0�	� �		+�		+�D��T�)�Y�/�/�F��
���6�"�"�
+�N�N�v�N�N�N�N��"�"�6�*�*�*�*�������@�A�A�A��"�"�6�*�*�*�*���)�$�$�$��r?c�0�|�|dg��S)Nr���filter_files�r=r�s  r#r�zbuild_src.filter_py_files�s��� � ��5�'�2�2�2r?c�2�|�|gd���S)N)z.hz.hppz.incr�r�s  r#r�zbuild_src.filter_h_files�s��� � ��*@�*@�*@�A�A�Ar?c��g}g}|D]S}tj�|��\}}||vr|�|���>|�|���T||fSr-)rQrRr�r})r=r��extsr�r�r�baserms        r#r�zbuild_src.filter_files�st�������	+�	+�F��'�*�*�6�2�2�K�T�3��d�{�{����V�$�$�$�$��"�"�6�*�*�*�*��E�!�!r?c���g}t|��r7|d�d��}|d�d��}n|j}|j}|D�]}tj�|��\}}|dk�r�|jr tj�|��}	n2t|j
tj�|����}	|�|	��tj�|	tj�
|����}
|jst|g|z|
��r�t!|��r't#jd|
z��t'|��}n&t#jd|
z��t)|��}t+|
d��5}|�|��ddd��n#1swxYwYt/|
��rOtj�|
��}
|
|vr,t#jd|
z��|�|
��|�|
����|�|����|S)	Nr�depends�include_dirsz.srczfrom_template:> %szconv_template:> %sr�  adding '%s' to include_dirs.)r
r�r�r�rQrRr�r)r�rr&r�rSr�r'r�_f_pyf_ext_matchr	rY�process_f_file�process_c_filerr�_header_ext_matchr})r=r�r�r�r�r�rr�rm�
target_dir�target_file�outstr�fidrs              r#r�zbuild_src.template_sources�sx�����y�!�!�	2���l�&�&�y�1�1�G�$�Q�<�+�+�N�;�;�L�L��'�G�$�1�L��	+�	+�F��'�*�*�6�2�2�K�T�3��f�}�}��<�S�!#�����!6�!6�J�J�!+�D�N�B�G�O�O�D�<Q�<Q�!R�!R�J����J�'�'�'� �g�l�l�:�r�w�7G�7G��7M�7M�N�N���J�*�+�v�h��.@�+�"N�"N�*�'��-�-�8���!5��!E�F�F�F�!/��!7�!7�����!5��!E�F�F�F�!/��!7�!7���k�3�/�/�*�3��	�	�&�)�)�)�*�*�*�*�*�*�*�*�*�*�*����*�*�*�*�$�[�1�1�/������4�4�A���,�,���!A�Q�!G�H�H�H�$�+�+�A�.�.�.��"�"�;�/�/�/�/��"�"�6�*�*�*�*��s�7G�G	� G	c�*�g}|j�d��d}|D]m}tj�|��\}}|dkr.|�||||��}|�|���X|�|���n|S)z@Pyrex not supported; this remains for Cython support (see below)rpr�z.pyx)r�rVrQrRr��generate_a_pyrex_sourcer})	r=r�r�r��ext_namerr�rmr�s	         r#r�zbuild_src.pyrex_sources�s������>�'�'��,�,�R�0���	+�	+�F��'�*�*�6�2�2�K�T�3��f�}�}�"�:�:�4��;A�;D�F�F���"�"�;�/�/�/�/��"�"�6�*�*�*�*��r?c��gS)z�Pyrex is not supported, but some projects monkeypatch this method.

        That allows compiling Cython code, see gh-6955.
        This method will remain here for compatibility reasons.
        �)r=r�r�rr�s     r#r�z!build_src.generate_a_pyrex_source�s	���	r?c	��g}g}g}i}g}|j�d��d}d}	|D�]y}
tj�|
��\}}|dk�r|jr tj�|��}
n2t|jtj�|����}
tj�	|
��rRt|
��}||krtd|
�d|�d|�����tj�|
|dz��}�ntjd	|
z��|}d
}	tj�|
|dz��}tj�	|��s�tjd|�d|�d
���tj�|��}
tj�|
|dz��}tj�	|��st|�d����tjd|z��|�|
��|�|
��|||
<|�|����>t%|��r|�|
����d|�|
����{|s|s|S|D]}|�|���|j|jz}|jjrD|jjD]7\}}||jvr)|�|�dg�����8tjd|z��|r�t5|��d
krtd|�����|d}
||
}tj�|��pd}
|
g|jz}|jst;||d��r?|	s=tjd|
z��ddl}|j� |d|
|
gz���n;tjd|
z���n"tC|��r	|d}n|j}tjj|jg|�d��dd�z�}
tj�|
|dz��}|�|��||jz}|jst;||d��r[|	sYtjd|z��|�|
��ddl}|j� |dd|
gzd|gz|z��ntjd|z��tj�	|��stEd|�d����tj�|j|
��}tj�|d��}tj�|d��}tjd|z��|�|��||j#vr1tjd |z��|j#�|��|	s�ddl}tj�|jj$��}tj�|d!d��}tj�|d!d��}tK||��stK||��r^|�tj�|����|�&||��|�&||��ndtj�	|��std"|�d#����tj�	|��std$|�d#����d%D]p}tj�|
||z��}tj�	|��r,tjd|z��|�|���q||zS)&Nrpr�rz.pyf�mismatch of extension names: �
 provides � but expected zmodule.cz.  source %s does not exist: skipping f2py'ing.r�	  target � does not exist:
   Assuming z:module.c was generated with "build_src --inplace" command.� missing�&   Yes! Using %r as up-to-date target.�f2py_optionszf2py options: %szAonly one .pyf file is allowed per extension module but got more: rzf2py: %sz--build-dirz+  skipping '%s' f2py interface (up-to-date)z	f2py:> %sz--lowerz-mz3  skipping f2py fortran files for '%s' (up-to-date)zf2py target file z not generatedzfortranobject.czfortranobject.hz  adding '%s' to sources.r�rCzf2py target_c file z
 not foundzf2py target_h file )z-f2pywrappers.fz-f2pywrappers2.f90)'r�rVrQrRr�r)r�rr&�isfile�get_f2py_modulenamerrSr	�debugrTrYr}r
r�r�r6rIrLr�r�r�r�r'r�
numpy.f2py�f2py�run_mainr
rr��__file__r�	copy_file)r=r�r�r�r��	f_sources�f2py_targets�target_dirsr��	skip_f2pyrr�rmr�r�r�rr�r�r��numpyr��target_c�target_h�source_c�source_h�name_ext�filenames                            r#r�zbuild_src.f2py_sources�s-�������	������>�'�'��,�,�R�0���	��&	+�&	+�F��'�*�*�6�2�2�K�T�3��f�}�}��<�S�!#�����!6�!6�J�J�!+�D�N�B�G�O�O�D�<Q�<Q�!R�!R�J��7�>�>�&�)�)�2�.�v�6�6�D��x�'�'�1�1�"�F�F�D�D�D�(�(�34�5�5�5�#%�'�,�,�z�4�
�?�"K�"K�K�K��I�O�!'�)�*�*�*�#�D� !�I�"$�'�,�,�z�4�
�?�"K�"K�K��7�>�>�+�6�6�
2����%0�K�K����"7�8�8�8�&(�W�_�_�T�%:�%:�
�&(�g�l�l�:�t�J��&O�&O��!�w�~�~�k�:�:�U�"5�k�k�k�6S�"T�"T�T���!I�$/�"1�2�2�2��"�"�:�.�.�.��#�#�F�+�+�+�'2��V�$��"�"�;�/�/�/�/�"�3�'�'�
+�� � ��(�(�(�(��"�"�6�*�*�*�*��	�	�	����	�	�A��K�K��N�N�N�N� �-���>����&�	L�$(�$5�$?�
L�
L� ��j��9�.�.�.� �'�'�
���~�r�(J�(J�K�K�K����#�|�4�5�5�5��%	+��<� � �A�%�%�)�)�#/�<�2�3�3�3�"�!�_�F�&�v�.�K������5�5�<��J��h��!2�2�G��
�
T�k�'�;��H�H�
T�$�
T����v�.�/�/�/�!�!�!�!��
�#�#�L�'4�j�&�&I�%J�K�K�K�K��	�G�6�R�S�S�S�S��9�%�%�
(� ��|���"��$������(8�)-���C����"��)=�)>�@�J��'�,�,�z�8�j�3H�I�I�K����{�+�+�+��)�"3�3�G��
�

+�k�'�;��H�H�

+�$�

+�����4�5�5�5����J�'�'�'�!�!�!�!��
�#�#�L�I�0=�z�4K�%K�!%�x� 0�%1�1:�%;�<�<�<�<��	�O�(�*�+�+�+��w�~�~�k�*�*�	W� �.����!U�V�V�V��G�L�L����<�<�	��7�<�<�	�+<�=�=���7�<�<�	�+<�=�=����,��9�:�:�:����8�$�$�$��I�2�2�2��H�5��C�D�D�D��"�)�)�)�4�4�4��
	[����������
� 3�4�4�A��w�|�|�A�u�.?�@�@�H��w�|�|�A�u�.?�@�@�H��X�x�(�(�
3�E�(�H�,E�,E�
3����B�G�O�O�H�5�5�6�6�6����x��2�2�2����x��2�2�2���7�>�>�(�+�+�
[�)�)�x�x�x�*Y�Z�Z�Z��7�>�>�(�+�+�
[�)�)�x�x�x�*Y�Z�Z�Z�A�	+�	+�H��w�|�|�J��8�0C�D�D�H��w�~�~�h�'�'�
+���4��A�B�B�B�� � ��*�*�*���Y�&�&r?c�	�g}g}i}g}g}d}d|jvrd}	d}
|j�d��n|jrd}	d}
nd}	d}
d}|j�d��d}|D�]-}
t
j�|
��\}}|d	k�r�|jr't
j�	|��}|j
}n4t|jt
j�	|����}|}t
j�
|
���rt|
��}||d
d�kr td|
�d|�d
|d
d������|	�t!|
��}	|	dk}
n�t!|
��}|�t#jd|
�d|	�d���nX|	|krRt#jd|	�d|
�d|�d���|dkrt#jd��d}
nt#jd|
z��|
rd}t
j�||�d|����}n�t#jd|
z��|d
d�}d
}t)||��}t
j�
|��s�t#jd|�d|�d���t
j�	|��}t)||��}t
j�
|��st|�d����t#jd|z��|�|��|�|��|�t
j�||dz����|�|
��|d||
<��|�|
����/|s|S|r||zS|D]}|�|���|jp|���}|dg|jz}|
r|�d��|jD]}|�d |z���|D]�}
||
}|
g|jz}|jst9||d!��rct#jt
j�|��|
rd"pd#z�d$|
����|�||jzd%|d&||
gz����t#j d'|
z����||zS)(N�.cz-c++�c++TFrrpr�z.irr�r�r�zsource z' does not define swig target, assuming z swig targetz	expected z but source z	 defines zAresetting swig target to c++ (some targets may have .c extension)z$assuming that %r has c++ swig target�.cpp�_wrapz.  source %s does not exist: skipping swig'ing.r�r�z?_wrap.{c,cpp} was generated with "build_src --inplace" command.r�r�r�z-pythonz-Irz++�z: z-oz-outdirz+  skipping '%s' swig interface (up-to-date))!r8�remover9r�rVrQrRr�r)r�r�rr&r��get_swig_modulenamer�get_swig_targetr	rTrS�_find_swig_targetr}r�r:�	find_swigr�r�r'rrYr��spawnr�)r=r�r�r�r��swig_targetsrr��
target_ext�typ�is_cpp�	skip_swigr�rr�rmr��
py_target_dirr��typ2r�rr:�swig_cmdrr�s                          r#r�zbuild_src.swig_sources\s��������������
��Y�(�(�(��C��F���&�&�v�.�.�.�.�
�]�	��C��F�F��C��F��	��>�'�'��,�,�R�0���<	+�<	+�F��'�*�*�6�2�2�K�T�3��d�{�{��<�/�!#�����!6�!6�J�$(�$7�M�M�!+�D�N�B�G�O�O�D�<Q�<Q�!R�!R�J�$.�M��7�>�>�&�)�)�*2�.�v�6�6�D��x����|�+�+�1�1�28�&�&�$�$�$�������N�O�O�O��{�-�f�5�5��!$�e����.�v�6�6���<��H�H�(.������&5�6�6�6�6� �$�Y�Y��H�H�(+���V�V�V�T�T�T�&;�<�<�<�#�U�{�{� #��)l� m� m� m�)-��� #��)O�SY�)Z� [� [� [��,�%+�
�"$�'�,�,�z�26�$�$�
�
�<D�#E�#E�K�K��H�N� &�(�)�)�)�#�A�B�B�<�D� !�I�"3�J��"E�"E�K��7�>�>�+�6�6�
2����%0�K�K����"7�8�8�8�&(�W�_�_�T�%:�%:�
�&7�
�D�&I�&I��!�w�~�~�k�:�:�U�"5�k�k�k�6S�"T�"T�T���!I�$/�"1�2�2�2��"�"�:�.�.�.��"�"�;�/�/�/��������]�D��J� G� G�H�H�H��#�#�F�+�+�+�'2�2���V�$�$��"�"�6�*�*�*�*��	����	*���)�)��	�	�A��K�K��N�N�N�N��y�,�D�N�N�,�,���)�$�y�':�:���	$��O�O�F�#�#�#��'�	$�	$�A��O�O�D��F�#�#�#�#�"�
	%�
	%�F�!�&�)�F��h��!2�2�G��z�
%�[��&�'�B�B�
%���R�W�%5�%5�d�%;�%;�(.��4�(=�2�&?�&?�&?�@F��H�I�I�I��
�
�8�d�n�4�"�F�I�}�f�M�N�O�O�O�O��	�G�"�$�%�%�%�%��X�%�%r?N)�__name__�
__module__�__qualname__�description�user_options�boolean_options�help_optionsr>r_rbrarjr�rkrfrgrir�r�r�r�r�r�r�r�r�r�r?r#r&r&&st������E�K�
�
�
�L�":�9�9�O��L� � � �&8(�8(�8(�t���$�$�$�(!,�!,�!,�H0�0�0�,&�&�&�<,�,�,�4���0&�&�&�P,�,�,�\3�3�3�B�B�B�,.�	"�	"�	"�	"�"�"�"�H
�
�
����H'�H'�H'�Tp&�p&�p&�p&�p&r?r&z!.*\.(f90|f95|f77|for|ftn|f|pyf)\Zz.*\.(inc|h|hpp)\ZzQ\s*%module\s*(.*\(\s*package\s*=\s*"(?P<package>[\w_]+)".*\)|)\s*(?P<name>[\w_]+)z-\*-\s*c\s*-\*-z-\*-\s*c\+\+\s*-\*-c���t|d��5}d}|���}t|��rd}t|��rd}ddd��n#1swxYwY|S)Nrrr\)r�readline�_has_cpp_header�
_has_c_header)rr(�result�lines    r#rr�s���	
�f�c�	�	��a����z�z�|�|���4� � �	��F�����	��F�
�������������������Ms�9A�A�Ac��t|d��5}d}|D]*}t|��}|r|�d��}n�+ddd��n#1swxYwY|S)Nrr�)r�_swig_module_name_matchr)rr(r�r.r"s     r#rr�s���	
�f�c�	�	��a����	�	�D�'��-�-�A��
��w�w�v������
�	�������������������Ks�0A
�
A�Ac��dD]H}tj�||�d|����}tj�|��rn�I|S)N)rrr)rQrRrSr�)r�r�rmrs    r#rr�sV����������j����s�s�*C�D�D��
�7�>�>�&�!�!�	��E�	��Mr?z%\s*python\s*module\s*(?P<name>[\w_]+)z4\s*python\s*module\s*(?P<name>[\w_]*?__user__[\w_]*)c���d}t|��5}|D]:}t|��}|r't|��r�#|�d��}n�;ddd��n#1swxYwY|S)Nr�)r�_f2py_module_name_match�_f2py_user_module_name_matchr)rr�r(r.r"s     r#r�r��s����D�	
�f������	�	�D�'��-�-�A��
�/��5�5����w�w�v������	
��������������������Ks�>A�A �#A ).�__doc__rQrrOrUr��distutils.commandr�distutils.dep_utilrr�distutils.utilr�distutils.errorsrr�numpy.distutilsr	rzr
rrr
r�numpy.distutils.from_templaterr��numpy.distutils.conv_templater�r$r&r�I�matchr�r�r0rr,r+rrrr3r4r�r�r?r#�<module>r?so����	�	�	�	�	�	�	�	�
�
�
�
���������'�'�'�'�'�'�1�1�1�1�1�1�1�1�'�'�'�'�'�'�@�@�@�@�@�@�@�@� ��������������������I�H�H�H�H�H�H�H�H�H�H�H� � � �f
&�f
&�f
&�f
&�f
&�	�#�f
&�f
&�f
&�P�2�:�B�B�D�I�I�O���B�J�3�R�T�:�:�@��%�"�*�%y�%'�T�+�+�+0����
�-�r�t�4�4�;�
��"�*�3�R�T�:�:�A�����������%�"�*�%M�%'�T�+�+�+0��)�r�z�+=�>@�d� D� D�DI��
�
�
�
�
r?

Youez - 2016 - github.com/yon3zu
LinuXploit