403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/django/core/management/commands/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/django/core/management/commands/__pycache__/makemessages.cpython-311.pyc
�

�|�e�g���ddlZddlZddlZddlZddlmZddlmZddlZddl	m
Z
ddlmZddl
mZddlmZmZddlmZmZmZmZdd	lmZdd
lmZddlmZddlmZdd
lm Z ddl!m"Z"edej#ej$z��Z%dZ&e'��Z(d�Z)eGd�d����Z*Gd�d��Z+d�Z,d�Z-Gd�de��Z.dS)�N)�total_ordering)�	dropwhile)�settings)�ImproperlyConfigured)�NamedTemporaryFile)�BaseCommand�CommandError)�find_command�handle_extensions�is_ignored_path�
popen_wrapper)�DEFAULT_LOCALE_ENCODING)�cached_property)�prepare_js_for_gettext)�_lazy_re_compile)�
get_text_list)�
templatizez$^(?P<value>"Plural-Forms.+?\\n")\s*$c�R�|D]#}t|���td|z����$dS)NzLCan't find %s. Make sure you have GNU gettext tools 0.15 or newer installed.)r
r	)�programs�programs  �N/usr/lib/python3/dist-packages/django/core/management/commands/makemessages.py�check_programsrsM�������� � �(��#�%,�-���
�)���c�<�eZdZd�Zd�Zd�Zd�Zed���ZdS)�TranslatableFilec�0�||_||_||_dS�N)�file�dirpath�
locale_dir)�selfr�	file_namer s    r�__init__zTranslatableFile.__init__'s����	����$����rc�z�d|jj�dtj�|j|jg���d�S)N�<z: �>)�	__class__�__name__�os�sep�joinrr�r!s r�__repr__zTranslatableFile.__repr__,s<����N�#�#�#��F�K�K���t�y�1�2�2�2�2�
�	
rc�"�|j|jkSr��path�r!�others  r�__eq__zTranslatableFile.__eq__2s���y�E�J�&�&rc�"�|j|jkSrr/r1s  r�__lt__zTranslatableFile.__lt__5s���y�5�:�%�%rc�V�tj�|j|j��Sr)r)r0r+rrr,s rr0zTranslatableFile.path8s���w�|�|�D�L�$�)�4�4�4rN)	r(�
__module__�__qualname__r#r-r3r5�propertyr0�rrrr%sk������%�%�%�

�
�
�'�'�'�&�&�&��5�5��X�5�5�5rrc�l�eZdZdZd�Zed���Zed���Zed���Zd�Z	d�Z
d�Zd	S)
�	BuildFilezN
    Represent the state of a translatable file during the build process.
    c�0�||_||_||_dSr)�command�domain�translatable)r!r>r?r@s    rr#zBuildFile.__init__As��������(����rc��|jdkr|jjdkS|jdkr5tj�|jj��d}|dkSdS)N�djangojs)r���django�z.pyF)r?r>�gettext_versionr)r0�splitextr@r)r!�file_exts  r�is_templatizedzBuildFile.is_templatizedFs\���;�*�$�$��<�/�*�<�<�
�[�H�
$�
$��w�'�'��(9�(>�?�?��B�H��u�$�$��urc��|jjSr)r@r0r,s rr0zBuildFile.pathOs��� �%�%rc���|js|jSddd��|j��}|jj�d|��}tj�|jj|��S)z�
        Path to a file which is being fed into GNU gettext pipeline. This may
        be either a translatable or its preprocessed version.
        �c�py�rBrE�.)	rJr0�getr?r@rr)r+r)r!�	extension�filenames   r�	work_pathzBuildFile.work_pathSss���"�	��9����
�
��#�d�k�
�
�	�#�/�4�4�4�i�i�@���w�|�|�D�-�5�x�@�@�@rc��|jsdSt|jd���5}|���}ddd��n#1swxYwY|jdkrt|��}n)|jdkrt
||jdd����}t|jdd���5}|�|��ddd��dS#1swxYwYdS)	zz
        Preprocess (if necessary) a translatable file before passing it to
        xgettext GNU gettext utility.
        N�utf-8��encodingrBrE�)�origin�w)	rJ�openr0�readr?rrrT�write)r!�fp�src_data�contents    r�
preprocesszBuildFile.preprocessbsY��
�"�	��F�
�$�)�g�
.�
.�
.�	!�"��w�w�y�y�H�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��;�*�$�$�,�X�6�6�G�G�
�[�H�
$�
$� ��$�)�A�B�B�-�@�@�@�G�
�$�.�#��
8�
8�
8�	�B��H�H�W����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�A�'C
�
C�Cc����|js|Stjdkr|j�|j�n|jdd��|jdd��tjdtj���zdz��fd�|t
j���S)z�
        Postprocess messages generated by xgettext GNU gettext utility.

        Transform paths as if these messages were generated from original
        translatable files rather than from preprocessed versions.
        �ntrYNz	^(#: .*)(�)c�<��|d�����S)Nr)�replace)�match�new_path�old_paths ��r�<lambda>z0BuildFile.postprocess_messages.<locals>.<lambda>�s���%��(�*�*�8�X�>�>�r)�flags)	rJr)�namerTr0�re�sub�escape�	MULTILINE)r!�msgsrirjs  @@r�postprocess_messageszBuildFile.postprocess_messagesus������"�	��K��7�d�?�?��~�H��y�H�H��~�a�b�b�)�H��y����}�H��v��2�9�X�.�.�.��5�>�>�>�>�>���,�	
�
�
�	
rc��|jr?tj�|j��rtj|j��dSdSdS)zM
        Remove a preprocessed copy of a translatable file (if any).
        N)rJr)r0�existsrT�unlinkr,s r�cleanupzBuildFile.cleanup�sU����	*��w�~�~�d�n�-�-�
*��	�$�.�)�)�)�)�)�	*�	*�
*�
*rN)r(r7r8�__doc__r#rrJr0rTrbrsrwr:rrr<r<=s���������)�)�)�
����_���&�&��_�&��A�A��_�A����&
�
�
�4	*�	*�	*�	*�	*rr<c��|���}|r|dr|�d��d�|��S)a
    Take a block of raw text that will be passed through str.splitlines() to
    get universal newlines treatment.

    Return the resulting block of text with normalized `
` EOL sequences ready
    to be written to disk using current platform's native EOLs.
    �����
)�
splitlines�appendr+)�raw_contents�
lines_lists  r�normalize_eolsr��sN���(�(�*�*�J���j��n�����"�����9�9�Z� � � rc���|���}tj�|��rt	t
|��}nGg}d\}}|D]=}|s|sd|vrd}|�dd��}|s|sd}|�|���>d�|��}t|ddd���5}|�
|��d	d	d	��d	S#1swxYwYd	S)
z\
    Write the `potfile` with the `msgs` contents, making sure its format is
    valid.
    )FFzcharset=CHARSETTz
charset=UTF-8r|�arV)rX�newlineN)r}r)r0rur�lenrgr~r+r\r^)�potfilerr�	pot_lines�lines�found�header_read�liner_s        r�write_pot_filer��sP��
���!�!�I�	�w�~�~�g���
��#�y�)�)�����)���{��	�	�D��
L��
L�$��,�,� �E��<�<�(9�?�K�K�D��
#��
#�"���L�L�������9�9�U���D�
�g�s�W�d�	;�	;�	;��r�
���������������������������s�9C�C �#C c��eZdZdZeZeZgZddgZ	dgZ
dgZddgZd�Z
d	�Zed
���Zed���Zd�Zd
�Zd�Zd�Zd�Zd�Zd�ZdS)�CommandaHRuns over the entire source tree of the current directory and pulls out all strings marked for translation. It creates (or updates) a message file in the conf/locale (in the django tree) or locale (for projects and applications) directory.

You must run this command with one of either the --locale, --exclude, or --all options.z-qz
--previousz--to-code=utf-8�
--no-obsoletez--from-code=UTF-8z--add-comments=Translatorsc	��|�ddgdd���|�ddgdd���|�d	d
dd�
��|�dddd���|�ddddd���|�dddd���|�ddddgdd� ��|�d!d"d#d$�%��|�d&dd'���|�d(dd)���|�d*d+d,d-d.�/��|�d0dd1���|�d2dd3���dS)4Nz--localez-lr~zfCreates or updates the message files for the given locale(s) (e.g. pt_BR). Can be used multiple times.)�default�action�helpz	--excludez-xz@Locales to exclude. Default is none. Can be used multiple times.z--domain�-drEz4The domain of the message files (default: "django").)r�r�z--allz-a�
store_truez3Updates the message files for all existing locales.)r�r�z--extensionz-e�
extensionsz�The file extension(s) to examine (default: "html,txt,py", or "js" if the domain is "djangojs"). Separate multiple extensions with commas, or use -e multiple times.)�destr�r�z
--symlinksz-szaFollows symlinks to directories when examining source code and templates for translation strings.z--ignorez-i�ignore_patterns�PATTERNz`Ignore files or directories matching this glob-style pattern. Use multiple times to ignore more.)r�r�r��metavarr�z--no-default-ignore�store_false�use_default_ignore_patternszJDon't ignore the common glob-style patterns 'CVS', '.*', '*~' and '*.pyc'.)r�r�r��	--no-wrapz2Don't break long message lines into several lines.�
--no-locationz%Don't write '#: filename:line' lines.z--add-location)�fullr�neverr��?a'Controls '#: filename:line' lines. If the option is 'full' (the default if not given), the lines  include both file name and line number. If it's 'file', the line number is omitted. If it's 'never', the lines are suppressed (same as --no-location). --add-location requires gettext 0.19 or newer.)�choices�const�nargsr�r�z Remove obsolete message strings.z
--keep-potz<Keep .pot file after making messages. Useful when debugging.)�add_argument)r!�parsers  r�
add_argumentszCommand.add_arguments�s4�������b��/�	�	
�	
�	
�
	�����r�(�S�	�	
�	
�	
�	�����h�G�	�	
�	
�	
�	����T�,�F�	�	
�	
�	
�	����4�l�8�5�	�	
�	
�	
�	����$�|�:�	�	
�	
�	
�
	�����X�4E��	�6�	�	
�	
�	
�	���!�-�>[�]�	�	
�	
�	
�	�����E�	�	
�	
�	
�	����L�8�	�	
�	
�	
�	����-�V�3�A�		�
	
�
	
�
	
�	����L�3�	�	
�	
�	
�	�����O�	�	
�	
�	
�	
�	
rc
���|d}|d}|d|_|d|_|d}|d}|d|_|d}|d	r|gd
�z
}tt	|����|_|dr`|jdd�dgz|_|jdd�dgz|_|jdd�dgz|_|j	dd�dgz|_	|d
r`|jdd�dgz|_|jdd�dgz|_|jdd�dgz|_|j	dd�dgz|_	|dr�|j
dkr4tdd�d�|j
D����z���d|dz}|jdd�|gz|_|jdd�|gz|_|jdd�|gz|_|j	dd�|gz|_	|d|_
|d|_|jdvrtd���|jdkr|pdg}	n|pgd�}	t|	��|_|s|s|r|j�Stdt"j�t(jd���dt(jd�d ����|jdkr=|j�d!t1t|j��d"��z��d#|_g|_d|_t"j�t"j�d$d����r]t"j�t"j�d$d����g|_|jd|_d%|_n�|jr$|j�t@j!��t"j�d��r7|j�"t"j�d����|jr-|jd|_t#j#|jd%�&��tIj%d'���tMt"jjtOj'd(|jz����}
�fd)�tQt"jj|
��D��}|r|}n&|p|}t	|���)|��}|rtUd*d+d,��tUd-��	|�+��}
|D]}d.|vr6|j�d/|�d0|�,d.d1���d2����<|jdkr|j�d3|z��|
D]}|�-||�����	|js|�.��dSdS#|js|�.��wwxYw)4N�locale�excluder?�	verbosity�allr��symlinksr�r�)�CVSz.*z*~z*.pyc�no_wrapr��no_locationr��add_location)r�zFThe --add-location option requires gettext 0.19 or later. You have %s.rPc3�4K�|]}t|��V��dSr)�str)�.0�xs  r�	<genexpr>z!Command.handle.<locals>.<genexpr>8s(����-S�-S��c�!�f�f�-S�-S�-S�-S�-S�-Srz--add-location=%s�no_obsolete�keep_pot)rErBzDcurrently makemessages only supports domains 'django' and 'djangojs'rB�js)�html�txtrNzType 'rz help rFz' for usage information.z'examining files with the extensions: %s�andF�confT��exist_okz[a-z]{2}z%s/*c�>��g|]}��|���|��Sr:)rh)r��	lang_code�looks_like_locales  �r�
<listcomp>z"Command.handle.<locals>.<listcomp>ls=���
�
�
�#� �&�&�y�1�1�
��
�
�
r�msguniq�msgmerge�	msgattrib�xgettext�-zinvalid locale z, did you mean �_r�zprocessing locale %s)/r?r�r��list�setr��msgmerge_options�msguniq_options�msgattrib_options�xgettext_optionsrGr	r+r�r�rr�r)r0�basename�sys�argv�stdoutr^r�invoked_for_django�locale_paths�default_locale_path�isdir�abspath�settings_available�extendr�LOCALE_PATHSr~�makedirsrn�compile�filter�glob�map�
differencer�build_potfilesrg�
write_po_file�remove_potfiles)r!�args�optionsr�r��process_allr�r��arg_add_location�exts�locale_dirs�all_locales�locales�potfilesr�r�s               @r�handlezCommand.handles������"���)�$���h�'��� ��-����e�n���\�*�
��
�+��
�!�"3�4���0�1�	<��;�;�;�;�O�#�C��$8�$8�9�9����9��	M�$(�$9�!�!�!�$<��}�$L�D�!�#'�#7����#:�k�]�#J�D� �%)�%;�A�A�A�%>�+��%N�D�"�$(�$9�!�!�!�$<��}�$L�D�!��=�!�	Q�$(�$9�!�!�!�$<��?P�$P�D�!�#'�#7����#:�o�=N�#N�D� �%)�%;�A�A�A�%>�/�AR�%R�D�"�$(�$9�!�!�!�$<��?P�$P�D�!��>�"�
	R��#�g�-�-�"�#�%(�X�X�-S�-S�d�>R�-S�-S�-S�%S�%S�T���� 3�W�^�5L�L��$(�$9�!�!�!�$<�@P�?Q�$Q�D�!�#'�#7����#:�>N�=O�#O�D� �%)�%;�A�A�A�%>�BR�AS�%S�D�"�$(�$9�!�!�!�$<�@P�?Q�$Q�D�!�"�=�1����
�+��
��;�4�4�4�� 9�:�:�
:��;�*�$�$��'�$��D�D��6�!6�!6�!6�D�+�D�1�1����	�w�	�{�	�t�{�?R��,��7�#�#�C�H�Q�K�0�0�0�0�#�(�1�+�+�+�?���
�
�>�A����K���9���T�_� 5� 5�u�=�=�>�
�
�
�
#(������#'�� �
�7�=�=�����f�h�7�7�8�8�	E�!#��������f�h�1O�1O�!P�!P� Q�D��'+�'8��';�D�$�&*�D�#�#��&�
@��!�(�(��)>�?�?�?��w�}�}�X�&�&�
D��!�(�(������)B�)B�C�C�C�� �
E�+/�+<�Q�+?��(���D�4�t�D�D�D�D��J�{�3�3���R�W�]�D�I�f�t�?W�6W�,X�,X�Y�Y��
�
�
�
�'*�2�7�+;�[�'I�'I�
�
�
���	7�!�G�G��+��G��'�l�l�-�-�g�6�6�G��	?��9�j�+�>�>�>��z�"�"�"�	'��*�*�,�,�H�"�
8�
8���&�=�=��K�%�%�%�"�F�F�"�N�N�3��4�4�4�4�������>�A�%�%��K�%�%�&<�v�&E�F�F�F�'�8�8�G��&�&�w��7�7�7�7�8�
8��=�
'��$�$�&�&�&�&�&�
'�
'��4�=�
'��$�$�&�&�&�&�
'���s
�2BW(�(Xc���tddgt���\}}}tjd|��}|r+t	d�|���D����St
d���)Nr�z	--version)�stdout_encodingz(\d+)\.(\d+)\.?(\d+)?c3�8K�|]}|�t|��V��dSr)�int)r��ds  rr�z*Command.gettext_version.<locals>.<genexpr>�s(����E�E�A�q�}��Q���}�}�}�}�E�Erz/Unable to get gettext version. Is it installed?)r
rrn�search�tuple�groupsr	)r!�out�err�status�ms     rrGzCommand.gettext_version�s{��)�
��%�3�
�
�
���S�&�
�I�.��4�4���	R��E�E������E�E�E�E�E�E��P�Q�Q�Qrc��	tjn6#t$r)|jdkr|j�d��YdSwxYwdS)NrFz$Running without configured settings.FT)rr�rr��stderrr^r,s rr�zCommand.settings_available�s`��	��!�!�!��#�	�	�	��~��!�!���!�!�"H�I�I�I��5�5�	�����ts��/A�Ac��|�d��}|���|�|��g}|jD�]}tj�|d|jz��}tj�|��s�Kdg|j	z|gz}t|��\}}}|rB|tkrtd|z���|j
dkr|j�|��t!|��}t#|dd���5}	|	�|��d	d	d	��n#1swxYwY|�|����|S)
z<
        Build pot files and apply msguniq to them.
        rP�%s.potr�z(errors happened while running msguniq
%srr[rVrWN)�
find_filesr��
process_filesr�r)r0r+r?rur�r
�	STATUS_OKr	r�r�r^r�r\r~)
r!�	file_listr�r0r�r�rr�errorsr�r_s
          rr�zCommand.build_potfiles�s����O�O�C�(�(�	����������9�%�%�%����%�	%�	%�D��g�l�l�4��D�K�)?�@�@�G��7�>�>�'�*�*�
���;��!5�5��	�A�D�#0��#6�#6� �D�&�&��
.��Y�&�&�&�C�f�L�N�N�N��^�a�'�'��K�%�%�f�-�-�-�!�$�'�'�D��g�s�W�5�5�5�
���������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��O�O�G�$�$�$�$��s�D<�<E	�E	c���|jD]]}tj�|d|jz��}tj�|��rtj|���^dS)Nr�)r�r)r0r+r?rurv)r!r0�pot_paths   rr�zCommand.remove_potfiles�sa���%�	$�	$�D��w�|�|�D�(�T�[�*@�A�A�H��w�~�~�h�'�'�
$��	�(�#�#�#��	$�	$rc
��g}g}|jr"d�tjtjfD��}t	j|d|j���D�]�\}}}|dd�D�]A}ttj�	tj�
||����|j��s?tj�
tj�|��|��|vr>|�
|��|jdkr|j�d|z����|dkrk|�
|��|j�dtj�
tj�|��|������C|D�]H}tj�	tj�
||����}	tj�|��d}
|
|jvst|	|j��r,|jdkr |j�d	|�d
|������d}|jD]U}tj�|���tj�|����r|}n�V|p
|jpt0}|�|�|||������J���t7|��S)zx
        Get all files in the given root. Also check that there is a matching
        locale dir for each file.
        c�P�g|]#}|�tj�|����$Sr:)r)r0�normpath)r��ps  rr�z&Command.find_files.<locals>.<listcomp>�s.��k�k�k�Q�ij�k�R�W�-�-�a�0�0�k�k�krT)�topdown�followlinksNrFzignoring directory %sr�rzignoring file � in )r�r�
MEDIA_ROOT�STATIC_ROOTr)�walkr�rr0r	r+r�r��remover�r�r^r��insertrHr��
startswith�dirnamer��
NO_LOCALE_DIRr~�translatable_file_class�sorted)
r!�root�	all_files�
ignored_rootsr�dirnames�	filenamesrrS�	file_pathrIr r0s
             rrzCommand.find_files�s���
�	��
��"�	l�k�k�8�;N�PX�Pd�:e�k�k�k�M�,.�G�D�$�TX�Ta�,b�,b�,b�	b�	b�(�G�X�y�#�A�A�A�;�
a�
a��#�B�G�$4�$4�R�W�\�\�'�7�5S�5S�$T�$T�VZ�Vj�k�k�a�����R�W�_�_�W�%=�%=�w�G�G�=�X�X��O�O�G�,�,�,��~��)�)���)�)�*A�G�*K�L�L�L����(�(��O�O�G�,�,�,��%�,�,�Q�����R�W�_�_�W�=U�=U�W^�0_�0_�`�`�`��%�

b�

b���G�,�,�R�W�\�\�'�8�-L�-L�M�M�	��7�+�+�H�5�5�a�8���4�?�2�2�o�i�QU�Qe�6f�6f�2��~��)�)���)�)�)�h�h�h�PW�PW�*X�Y�Y�Y��!%�J� $� 1�"�"���7�?�?�7�3�3�>�>�r�w���t�?T�?T�U�U�"�)-�J�!�E�"�",�!X�t�/G�!X�=�J��$�$�T�%A�%A�'�8�U_�%`�%`�a�a�a�a�

b��i� � � rc���i}|D]2}|�|jg��}|�|���3|���D]\}}|�||���dS)zu
        Group translatable files by locale directory and run pot file build
        process for each group.
        N)�
setdefaultr r~�items�process_locale_dir)r!r�file_groupsr@�
file_groupr �filess       rrzCommand.process_files�s���
��%�	,�	,�L�$�/�/��0G��L�L�J����l�+�+�+�+�!,�!2�!2�!4�!4�	7�	7��J���#�#�J��6�6�6�6�	7�	7rc��g}|D]�}|jdkr*|j�d|j�d|j����|jdvr�A|�||j|��}	|���nE#t$r8}|j�d|j�d|j�d|�d���Yd}~��d}~wwxYw|�	|����|jd	kr |j
}d
d|jd|rd
nd��ddddddg
}n$|jdkrd
d|jddddddddddddg}ndSd�|D��}	td���5}
|
�d�|	����|
�
��|�d |
jg��|�|j��t#|��\}}}
ddd��n#1swxYwY|rq|
t$krA|D]}|����t)d!d�|	���d|�����|jd"kr|j�|��|r�|t*ur<t,j�|d"j��}t)d#|z���|D]}|�|��}�t,j�|d$|jz��}t5||��|D]}|����dS)%z�
        Extract translatable literals from the specified files, creating or
        updating the POT file for a given locale directory.

        Use the xgettext GNU gettext utility.
        rFzprocessing file r
rOz!UnicodeDecodeError: skipped file z
 (reason: reNrBr�r�z--language=�C�
JavaScriptz--keyword=gettext_noopz--keyword=gettext_lazyz--keyword=ngettext_lazy:1,2z--keyword=pgettext:1c,2z--keyword=npgettext:1c,2,3z
--output=-rEz--language=Pythonz--keyword=ugettext_noopz--keyword=ugettext_lazyz--keyword=ungettext_lazy:1,2z--keyword=pgettext_lazy:1c,2z--keyword=npgettext_lazy:1c,2,3c��g|]	}|j��
Sr:)rT)r��bfs  rr�z.Command.process_locale_dir.<locals>.<listcomp>5s��:�:�:��r�|�:�:�:rzw+)�moder|z--files-fromz*errors happened while running xgettext on rz>Unable to find a locale path to store translations for file %sr�)r�r�r^rrr?�build_file_classrb�UnicodeDecodeErrorr~rJrr+�flushr�rmr�r
rrwr	rr)r0r	rsr�)r!r r$�build_filesr@�
build_file�erJr��input_files�input_files_listrrrr�rr�s                rr!zCommand.process_locale_dir�s����!�	+�	+�L��~��!�!���!�!�!� �%�%�%�|�';�';�#�����{�"8�8�8���.�.�t�T�[�,�O�O�J�
��%�%�'�'�'�'��%�
�
�
���!�!�!�$�)�)�)�<�+?�+?�+?��������
���������

����
���z�*�*�*�*��;�*�$�$�'�6�N���d�k�k�*8�#J�3�3�l�#J�L�(�(�-�)�,��
�D�D��[�H�
$�
$���d�k�#�(�(�-�)�)�.�)�,�.�1���D�D�"
�F�:�:�k�:�:�:��
�T�
*�
*�
*�	7�.>��"�"�4�9�9�[�#9�#9�:�:�:��"�"�$�$�$��K�K��)9�)>�?�@�@�@��K�K��-�.�.�.�#0��#6�#6� �D�&�&�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7��
	*���"�"�"-�)�)�J��&�&�(�(�(�(�"�l��Y�Y�{�+�+�+�+�V�V�5������!�#�#���!�!�&�)�)�)��
	*��]�*�*��G�,�,�[��^�-@�A�A�	�"�� )�*����*�
=�
=�
�!�6�6�t�<�<����g�l�l�:�x�$�+�/E�F�F�G��7�D�)�)�)�%�	!�	!�J���� � � � �	!�	!s+�#A8�8
B:�.B5�5B:�>BG�G�Gc��tj�tj�|��|d��}tj|d���tj�|d|jz��}tj�|��rhdg|jz||gz}t|��\}}}|rB|tkrtd|z���|jdkr|j�
|��nZt|d�	��5}	|	���}d
d
d
��n#1swxYwY|js|�||��}t%|��}|�d|jzd��}t|d
d�	��5}	|	�
|��d
d
d
��n#1swxYwY|jrjdg|jzd||gz}t|��\}}}|rF|tkrtd|z���|jdkr |j�
|��d
Sd
Sd
Sd
S)z�
        Create or update the PO file for self.domain and `locale`.
        Use contents of the existing `potfile`.

        Use msgmerge and msgattrib GNU gettext utilities.
        �LC_MESSAGESTr��%s.por�z)errors happened while running msgmerge
%srrVrWNz2#. #-#-#-#-#  %s.pot (PACKAGE VERSION)  #-#-#-#-#
r{r[r�z-oz*errors happened while running msgattrib
%s)r)r0r+rr�r?rur�r
rr	r�r�r^r\r]r��copy_plural_formsr�rgr�r�)
r!r�r��basedir�pofiler�rrrr�r_s
          rr�zCommand.write_po_fileXs����'�,�,�r�w���w�7�7���O�O��
��G�d�+�+�+�+�����g�w���'<�=�=��
�7�>�>�&�!�!�
	<��<�$�"7�7�6�7�:K�K�D�#0��#6�#6� �D�&�&��
.��Y�&�&�&�D�v�M�O�O�O��^�a�'�'��K�%�%�f�-�-�-���g��0�0�0�
!�B��w�w�y�y��
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!��*�
<��-�-�d�F�;�;���d�#�#���|�|�A�D�K�O�QS�U�U��
�&�#��
0�
0�
0�	�B��H�H�T�N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���	.��=�4�#9�9�T�6�6�<R�R�D�#0��#6�#6� �D�&�&��
.��Y�&�&�&�E��N�P�P�P��^�a�'�'��K�%�%�f�-�-�-�-�-�	.�	.�
.�
.�(�'s$�D6�6D:�=D:�F?�?G�Gc
�f�tj�tj�tj�t
j������}|jdkrd}nd}|D�]9}tj�|dd|dd|z��}tj�|��r�t|d�	��5}t�|�����}d
d
d
��n#1swxYwY|r�|d}	|j
dkr|j�d
|	z��g}
d}|���D]9}|s |rt�|��r|	}d}|
�|���:d�|
��}n��;|S)z�
        Copy plural forms header contents from a Django catalog of locale to
        the msgs string, inserting it at the right place. msgs should be the
        contents of a newly created .po file.
        rBrO)rEr�r�r4r5rVrWN�valuerFzcopying plural forms: %sFTr|)r)r0r	r+rrE�__file__r?rur\�plural_forms_rer�r]r�r�r^r}r~)
r!rrr��
django_dir�domainsr?�	django_por_r��plural_form_liner�r�r�s
             rr6zCommand.copy_plural_forms�s����W�%�%�b�g�l�l�2�7�?�?�6�?�3S�3S�&T�&T�U�U�
��;�*�$�$�,�G�G�!�G��	�	�F�����Z���6�=�Za�dj�Zj�k�k�I��w�~�~�i�(�(�
��)�g�6�6�6�:�"�'�.�.�r�w�w�y�y�9�9�A�:�:�:�:�:�:�:�:�:�:�:����:�:�:�:���'(��z�$��~��)�)���)�)�*D�GW�*W�X�X�X��E�!�E� $��� 1� 1�+�+��$�)�d�)�o�6L�6L�T�6R�6R�)�#3�D�$(�E����T�*�*�*�*��9�9�U�+�+�D��E���s�-D	�	D
	�D
	N)r(r7r8r�rrr<r+�requires_system_checksr�r�r�r�r�r�rrGr�r�r�rrr!r�r6r:rrr�r��s(������	1�	�/�� �����l�+��(�)�O�(�)��+�-I�J��A
�A
�A
�Fu'�u'�u'�n�R�R��_�R�����_�����4$�$�$�!!�!!�!!�F
7�
7�
7�]!�]!�]!�~'.�'.�'.�R����rr�)/r�r)rnr��	functoolsr�	itertoolsrrE�django.confr�django.core.exceptionsr�django.core.files.tempr�django.core.management.baserr	�django.core.management.utilsr
rrr
�django.utils.encodingr�django.utils.functionalr�django.utils.jslexr�django.utils.regex_helperr�django.utils.textr�django.utils.translationrrq�DOTALLr<r�objectrrrr<r�r�r�r:rr�<module>rQsL������	�	�	�	�	�	�	�	�
�
�
�
�$�$�$�$�$�$�������
�
�
�
� � � � � � �7�7�7�7�7�7�5�5�5�5�5�5�A�A�A�A�A�A�A�A�������������:�9�9�9�9�9�3�3�3�3�3�3�5�5�5�5�5�5�6�6�6�6�6�6�+�+�+�+�+�+�/�/�/�/�/�/�"�"�#J�B�L�[]�[d�Ld�e�e��
�	�����
�����5�5�5�5�5�5�5���5�.[*�[*�[*�[*�[*�[*�[*�[*�|!�!�!����6Y�Y�Y�Y�Y�k�Y�Y�Y�Y�Yr

Youez - 2016 - github.com/yon3zu
LinuXploit