§
    Ÿjd2  ã                   óÆ   — d dl mZ d dlmZ d dlmZ ddlmZmZ  G d„ de¦  «        Z	 G d„ d	e	¦  «        Z
 G d
„ de	¦  «        Z G d„ de	¦  «        Z G d„ de	¦  «        ZdS )é    )Úfield_references)ÚNOT_PROVIDED)Úcached_propertyé   )Ú	OperationÚOperationCategoryc                   ój   ‡ — e Zd Zd
d„Zed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
ˆ fd	„Zˆ xZS )ÚFieldOperationNc                 ó0   — || _         || _        || _        d S ©N©Ú
model_nameÚnameÚfield)Úselfr   r   r   s       ús/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/db/migrations/operations/fields.pyÚ__init__zFieldOperation.__init__	   s   € Ø$ˆŒØˆŒ	ØˆŒ
ˆ
ˆ
ó    c                 ó4   — | j                              ¦   «         S r   )r   Úlower©r   s    r   Úmodel_name_lowerzFieldOperation.model_name_lower   s   € àŒ×$Ò$Ñ&Ô&Ð&r   c                 ó4   — | j                              ¦   «         S r   )r   r   r   s    r   Ú
name_lowerzFieldOperation.name_lower   s   € àŒy�ŠÑ Ô Ð r   c                 ó"   — | j         |j         k    S r   )r   ©r   Ú	operations     r   Úis_same_model_operationz&FieldOperation.is_same_model_operation   s   € ØÔ$¨	Ô(BÒBÐBr   c                 óL   — |                       |¦  «        o| j        |j        k    S r   )r   r   r   s     r   Úis_same_field_operationz&FieldOperation.is_same_field_operation   s*   € à×(Ò(¨Ñ3Ô3ð 8Ø” 9Ô#7Ò7ð	
r   c                 ó®   — |                      ¦   «         }|| j        k    rdS | j        r,t          t	          || j        f| j        ||f¦  «        ¦  «        S dS )NTF)r   r   r   Úboolr   )r   r   Ú	app_labelr   s       r   Úreferences_modelzFieldOperation.references_model   sj   € Ø—Z’Z‘\”\ˆ
Ø˜Ô.Ò.Ð.Ø�4ØŒ:ð 	ÝÝ Ø Ô 5Ð6Ø”JØ 
Ð+ñô ñô ð ð ˆur   c                 ó  — |                      ¦   «         }|| j        k    r9|| j        k    rdS | j        r%t	          | j        d¦  «        r|| j        j        v rdS | j        €dS t          t          || j        f| j        ||f|¦  «        ¦  «        S )NTÚfrom_fieldsF)r   r   r   r   Úhasattrr&   r"   r   )r   r   r   r#   r   s        r   Úreferences_fieldzFieldOperation.references_field-   s±   € Ø%×+Ò+Ñ-Ô-Ðà˜tÔ4Ò4Ð4Ø�t”yÒ Ð Ø�tà”
ðå˜DœJ¨Ñ6Ô6ðð ˜DœJÔ2Ð2Ð2à�tàŒ:ÐØ�5ÝÝØ˜DÔ1Ð2Ø”
ØÐ,Ð-Øñ	ô ñ
ô 
ð 	
r   c                 óŒ   •— t          ¦   «                              ||¦  «        p!|                     | j        | j        |¦  «         S r   )ÚsuperÚreducer(   r   r   ©r   r   r#   Ú	__class__s      €r   r+   zFieldOperation.reduceE   sD   ø€ Ý‰wŒw�~Š~˜i¨Ñ3Ô3ð 
¸9×;UÒ;UØŒO˜TœY¨	ñ<
ô <
ð 8
ð 	
r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r    r$   r(   r+   Ú__classcell__©r-   s   @r   r
   r
      sÁ   ø€ € € € € ðð ð ð ð
 ð'ð 'ñ „_ð'ð ð!ð !ñ „_ð!ðCð Cð Cð
ð 
ð 
ðð ð ð
ð 
ð 
ð0
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   r
   c                   óp   ‡ — e Zd ZdZej        Zdˆ fd„	Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed	„ ¦   «         Zˆ fd
„Zˆ xZS )ÚAddFieldzAdd a field to a model.Tc                 ó\   •— || _         t          ¦   «                              |||¦  «         d S r   ©Úpreserve_defaultr*   r   ©r   r   r   r   r7   r-   s        €r   r   zAddField.__init__P   ó-   ø€ Ø 0ˆÔÝ‰Œ×Ò˜ T¨5Ñ1Ô1Ð1Ð1Ð1r   c                 óp   — | j         | j        | j        dœ}| j        dur
| j        |d<   | j        j        g |fS ©Nr   Tr7   ©r   r   r   r7   r-   r.   ©r   Úkwargss     r   ÚdeconstructzAddField.deconstructT   óM   € àœ/Ø”IØ”Zð
ð 
ˆð
 Ô ¨Ð,Ð,Ø)-Ô)>ˆFÐ%Ñ&Ø”Ô'¨¨VÐ4Ð4r   c                 ó`   — |                      || j        | j        | j        | j        ¦  «         d S r   )Ú	add_fieldr   r   r   r7   ©r   r#   Ústates      r   Ústate_forwardszAddField.state_forwards^   s;   € Ø�ŠØØÔ!ØŒIØŒJØÔ!ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óŽ  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r‚|j                              || j        ¦  «        }|j                             | j        ¦  «        }| j	        s| j
        j        |_        |                     ||¦  «         | j	        st          |_        d S d S d S r   )ÚappsÚ	get_modelr   Úallow_migrate_modelÚ
connectionÚaliasÚ_metaÚ	get_fieldr   r7   r   ÚdefaultrB   r   )r   r#   Úschema_editorÚ
from_stateÚto_stateÚto_modelÚ
from_modelr   s           r   Údatabase_forwardszAddField.database_forwardsg   sÊ   € Ø”=×*Ò*¨9°d´oÑFÔFˆØ×#Ò# MÔ$<Ô$BÀHÑMÔMð 
	-Ø#œ×2Ò2°9¸d¼oÑNÔNˆJØ”N×,Ò,¨T¬YÑ7Ô7ˆEØÔ(ð 3Ø $¤
Ô 2�”Ø×#Ò#ØØñô ð ð Ô(ð -Ý ,�”��ð
	-ð 
	-ð-ð -r   c                 óð   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r5|                     ||j                             | j	        ¦  «        ¦  «         d S d S r   ©
rG   rH   r   rI   rJ   rK   Úremove_fieldrL   rM   r   ©r   r#   rO   rP   rQ   rS   s         r   Údatabase_backwardszAddField.database_backwardsu   ó}   € Ø”_×.Ò.¨y¸$¼/ÑJÔJˆ
Ø×#Ò# MÔ$<Ô$BÀJÑOÔOð 	Ø×&Ò&Ø˜JÔ,×6Ò6°t´yÑAÔAñô ð ð ð ð	ð 	r   c                 ó&   — d| j         ›d| j        ›�S )Nz
Add field ú to ©r   r   r   s    r   ÚdescribezAddField.describe|   s   € € Ø'+¤y y y°$´/°/ÐBÐBr   c                 ó$   — | j         ›d| j        ›�S )NÚ_©r   r   r   s    r   Úmigration_name_fragmentz AddField.migration_name_fragment   s   € àÔ/Ð/Ð/°´°ÐAÐAr   c                 ó¦  •— t          |t          ¦  «        rš|                      |¦  «        r…t          |t          ¦  «        r"t	          | j        |j        |j        ¬¦  «        gS t          |t          ¦  «        rg S t          |t          ¦  «        r"t	          | j        |j
        | j        ¬¦  «        gS t          ¦   «                              ||¦  «        S ©Nr   )Ú
isinstancer
   r    Ú
AlterFieldr4   r   r   r   ÚRemoveFieldÚRenameFieldÚnew_namer*   r+   r,   s      €r   r+   zAddField.reduceƒ   sß   ø€ Ý�i¥Ñ0Ô0ð 	°T×5QÒ5QØñ6
ô 6
ð 	õ ˜)¥ZÑ0Ô0ð åØ#'¤?Ø&œ^Ø'œoðñ ô ðð õ ˜I¥{Ñ3Ô3ð 	Ø�	Ý˜I¥{Ñ3Ô3ð åØ#'¤?Ø&Ô/Ø"œjðñ ô ðð õ ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   ©T)r.   r/   r0   Ú__doc__r   ÚADDITIONÚcategoryr   r?   rE   rT   rY   r^   Úpropertyrb   r+   r1   r2   s   @r   r4   r4   K   sÐ   ø€ € € € € Ø!Ð!à Ô)€Hð2ð 2ð 2ð 2ð 2ð 2ð5ð 5ð 5ð
ð 
ð 
ð-ð -ð -ðð ð ðCð Cð Cð ðBð Bñ „XðBð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   r4   c                   ód   ‡ — e Zd ZdZej        Zd„ Zd„ Zd„ Z	d„ Z
d„ Zed„ ¦   «         Zˆ fd„Zˆ xZS )	rg   zRemove a field from a model.c                 ó>   — | j         | j        dœ}| j        j        g |fS )N)r   r   )r   r   r-   r.   r=   s     r   r?   zRemoveField.deconstruct¡   s,   € àœ/Ø”Ið
ð 
ˆð ”Ô'¨¨VÐ4Ð4r   c                 óH   — |                      || j        | j        ¦  «         d S r   )rW   r   r   rC   s      r   rE   zRemoveField.state_forwards¨   s%   € Ø×Ò˜9 dÔ&;¸T¼YÑGÔGÐGÐGÐGr   c                 óð   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r5|                     ||j                             | j	        ¦  «        ¦  «         d S d S r   rV   rX   s         r   rT   zRemoveField.database_forwards«   rZ   r   c                 ó0  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rU|j                              || j        ¦  «        }|                     ||j                             | j	        ¦  «        ¦  «         d S d S r   )
rG   rH   r   rI   rJ   rK   rB   rL   rM   r   ©r   r#   rO   rP   rQ   rR   rS   s          r   rY   zRemoveField.database_backwards²   s�   € Ø”=×*Ò*¨9°d´oÑFÔFˆØ×#Ò# MÔ$<Ô$BÀHÑMÔMð 	UØ#œ×2Ò2°9¸d¼oÑNÔNˆJØ×#Ò# J°´×0HÒ0HÈÌÑ0SÔ0SÑTÔTÐTÐTÐTð	Uð 	Ur   c                 ó&   — d| j         ›d| j        ›�S )NzRemove field z from r]   r   s    r   r^   zRemoveField.describe¸   s   € € Ø,0¬I¨I¨I°t´°ÐGÐGr   c                 ó&   — d| j         ›d| j        ›�S )NÚremove_r`   ra   r   s    r   rb   z#RemoveField.migration_name_fragment»   s   € € à!%Ô!6Ð!6Ð!6¸¼¸ÐHÐHr   c                 óš   •— ddl m} t          ||¦  «        r|j        | j        k    r|gS t          ¦   «                              ||¦  «        S )Nr   )ÚDeleteModel)Úmodelsry   re   r   r   r*   r+   )r   r   r#   ry   r-   s       €r   r+   zRemoveField.reduce¿   sZ   ø€ Ø'Ð'Ð'Ð'Ð'Ð'õ �y +Ñ.Ô.ð	àÔ$¨Ô(=Ò=Ð=à�;ÐÝ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )r.   r/   r0   rk   r   ÚREMOVALrm   r?   rE   rT   rY   r^   rn   rb   r+   r1   r2   s   @r   rg   rg   œ   s¸   ø€ € € € € Ø&Ð&à Ô(€Hð5ð 5ð 5ðHð Hð Hðð ð ðUð Uð UðHð Hð Hð ðIð Iñ „XðIð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   rg   c                   óp   ‡ — e Zd ZdZej        Zdˆ fd„	Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed	„ ¦   «         Zˆ fd
„Zˆ xZS )rf   z`
    Alter a field's database column (e.g. null, max_length) to the provided
    new field.
    Tc                 ó\   •— || _         t          ¦   «                              |||¦  «         d S r   r6   r8   s        €r   r   zAlterField.__init__Ò   r9   r   c                 óp   — | j         | j        | j        dœ}| j        dur
| j        |d<   | j        j        g |fS r;   r<   r=   s     r   r?   zAlterField.deconstructÖ   r@   r   c                 ó`   — |                      || j        | j        | j        | j        ¦  «         d S r   )Úalter_fieldr   r   r   r7   rC   s      r   rE   zAlterField.state_forwardsà   s=   € Ø×ÒØØÔ!ØŒIØŒJØÔ!ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óÎ  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r¢|j                              || j        ¦  «        }|j                             | j        ¦  «        }|j                             | j        ¦  «        }| j	        s| j
        j        |_        |                     |||¦  «         | j	        st          |_        d S d S d S r   )rG   rH   r   rI   rJ   rK   rL   rM   r   r7   r   rN   r€   r   )	r   r#   rO   rP   rQ   rR   rS   Ú
from_fieldÚto_fields	            r   rT   zAlterField.database_forwardsé   sÞ   € Ø”=×*Ò*¨9°d´oÑFÔFˆØ×#Ò# MÔ$<Ô$BÀHÑMÔMð 	0Ø#œ×2Ò2°9¸d¼oÑNÔNˆJØ#Ô)×3Ò3°D´IÑ>Ô>ˆJØ”~×/Ò/°´	Ñ:Ô:ˆHØÔ(ð 6Ø#'¤:Ô#5�Ô Ø×%Ò% j°*¸hÑGÔGÐGØÔ(ð 0Ý#/�Ô Ð Ð ð	0ð 	0ð0ð 0r   c                 ó6   — |                       ||||¦  «         d S r   )rT   )r   r#   rO   rP   rQ   s        r   rY   zAlterField.database_backwardsõ   s"   € Ø×Ò˜y¨-¸ÀXÑNÔNÐNÐNÐNr   c                 ó&   — d| j         ›d| j        ›�S )NzAlter field ú on r]   r   s    r   r^   zAlterField.describeø   s   € € Ø)-¬¨¨°D´O°OÐDÐDr   c                 ó&   — d| j         ›d| j        ›�S )NÚalter_r`   ra   r   s    r   rb   z"AlterField.migration_name_fragmentû   s   € € à $Ô 5Ð 5Ð 5°t´°ÐGÐGr   c                 ób  •— t          |t          t          f¦  «        r|                      |¦  «        r|gS t          |t          ¦  «        rD|                      |¦  «        r/| j        j        €#|t          | j        |j        | j        ¬¦  «        gS t          ¦   «          
                    ||¦  «        S rd   )re   rf   rg   r    rh   r   Ú	db_columnr   ri   r*   r+   r,   s      €r   r+   zAlterField.reduceÿ   s¿   ø€ ÝØ�
¥KÐ0ñ
ô 
ð 	à×*Ò*¨9Ñ5Ô5ð	ð �;Ðå�y¥+Ñ.Ô.ð	à×,Ò,¨YÑ7Ô7ð	ð ”
Ô$Ð,ð ÝØ#œØ"Ô+Øœ*ðñ ô ðð õ ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   rj   )r.   r/   r0   rk   r   Ú
ALTERATIONrm   r   r?   rE   rT   rY   r^   rn   rb   r+   r1   r2   s   @r   rf   rf   Ê   sÙ   ø€ € € € € ðð ð
 !Ô+€Hð2ð 2ð 2ð 2ð 2ð 2ð5ð 5ð 5ð
ð 
ð 
ð
0ð 
0ð 
0ðOð Oð OðEð Eð Eð ðHð Hñ „XðHð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   rf   c                   ó    ‡ — e Zd ZdZej        Zˆ fd„Zed„ ¦   «         Z	ed„ ¦   «         Z
d„ Zd„ Zd„ Zd„ Zd	„ Zed
„ ¦   «         Zd„ Zˆ fd„Zˆ xZS )rh   z8Rename a field on the model. Might affect db_column too.c                 óh   •— || _         || _        t          ¦   «                              ||¦  «         d S r   )Úold_nameri   r*   r   )r   r   rŽ   ri   r-   s       €r   r   zRenameField.__init__  s1   ø€ Ø ˆŒØ ˆŒÝ‰Œ×Ò˜ XÑ.Ô.Ð.Ð.Ð.r   c                 ó4   — | j                              ¦   «         S r   )rŽ   r   r   s    r   Úold_name_lowerzRenameField.old_name_lower  ó   € àŒ}×"Ò"Ñ$Ô$Ð$r   c                 ó4   — | j                              ¦   «         S r   )ri   r   r   s    r   Únew_name_lowerzRenameField.new_name_lower"  r‘   r   c                 óJ   — | j         | j        | j        dœ}| j        j        g |fS )N)r   rŽ   ri   )r   rŽ   ri   r-   r.   r=   s     r   r?   zRenameField.deconstruct&  s1   € àœ/ØœØœð
ð 
ˆð
 ”Ô'¨¨VÐ4Ð4r   c                 óT   — |                      || j        | j        | j        ¦  «         d S r   )Úrename_fieldr   rŽ   ri   rC   s      r   rE   zRenameField.state_forwards.  s4   € Ø×ÒØ�tÔ,¨d¬m¸T¼]ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ól  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rs|j                              || j        ¦  «        }|                     ||j                             | j	        ¦  «        |j                             | j
        ¦  «        ¦  «         d S d S r   )rG   rH   r   rI   rJ   rK   r€   rL   rM   rŽ   ri   rt   s          r   rT   zRenameField.database_forwards3  ó¬   € Ø”=×*Ò*¨9°d´oÑFÔFˆØ×#Ò# MÔ$<Ô$BÀHÑMÔMð 	Ø#œ×2Ò2°9¸d¼oÑNÔNˆJØ×%Ò%ØØÔ ×*Ò*¨4¬=Ñ9Ô9Ø”×(Ò(¨¬Ñ7Ô7ñô ð ð ð ð	ð 	r   c                 ól  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rs|j                              || j        ¦  «        }|                     ||j                             | j	        ¦  «        |j                             | j
        ¦  «        ¦  «         d S d S r   )rG   rH   r   rI   rJ   rK   r€   rL   rM   ri   rŽ   rt   s          r   rY   zRenameField.database_backwards=  r˜   r   c                 ó6   — d| j         ›d| j        ›d| j        ›�S )NzRename field r†   r\   )rŽ   r   ri   r   s    r   r^   zRenameField.describeG  s'   € € àŒMˆMˆMØŒOˆOˆOØŒMˆMð
ð 	
r   c                 ó6   — d| j         ›d| j        ›d| j        ›�S )NÚrename_r`   )r�   r   r“   r   s    r   rb   z#RenameField.migration_name_fragmentN  s1   € € ð ÔÐÐØÔ!Ð!Ð!ØÔÐð
ð 	
r   c                 ó¢   — |                       ||¦  «        o9|                     ¦   «         | j        k    p|                     ¦   «         | j        k    S r   )r$   r   r�   r“   )r   r   r   r#   s       r   r(   zRenameField.references_fieldV  sG   € Ø×$Ò$ Z°Ñ;Ô;ð 
Ø�JŠJ‰LŒL˜DÔ/Ò/ÐV°4·:²:±<´<À4ÔCVÒ3Vð	
r   c                 ó’  •— t          |t          ¦  «        rF|                      |¦  «        r1| j        |j        k    r!t          | j        | j        |j        ¦  «        gS t          t          | ¦  «         
                    ||¦  «        pB|                     | j        | j        |¦  «        p |                     | j        | j        |¦  «         S r   )re   rh   r   r“   r�   r   rŽ   ri   r*   r
   r+   r(   r,   s      €r   r+   zRenameField.reduce[  sÎ   ø€ å�y¥+Ñ.Ô.ð	à×,Ò,¨YÑ7Ô7ð	ð Ô# yÔ'?Ò?Ð?õ Ø”OØ”MØÔ&ñô ðð õ •^ TÑ*Ô*×1Ò1°)¸YÑGÔGð 
Ø×&Ò& t¤¸¼ÀyÑQÔQð UØ×)Ò)¨$¬/¸4¼=È)ÑTÔTðL
ð 	
r   )r.   r/   r0   rk   r   r‹   rm   r   r   r�   r“   r?   rE   rT   rY   r^   rn   rb   r(   r+   r1   r2   s   @r   rh   rh     s
  ø€ € € € € ØBÐBà Ô+€Hð/ð /ð /ð /ð /ð
 ð%ð %ñ „_ð%ð ð%ð %ñ „_ð%ð5ð 5ð 5ð
ð 
ð 
ð
ð ð ðð ð ð
ð 
ð 
ð ð
ð 
ñ „Xð
ð
ð 
ð 
ð

ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   rh   N)Údjango.db.migrations.utilsr   Údjango.db.modelsr   Údjango.utils.functionalr   Úbaser   r   r
   r4   rg   rf   rh   © r   r   ú<module>r¤      sU  ðØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø )Ð )Ð )Ð )Ð )Ð )Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à .Ð .Ð .Ð .Ð .Ð .Ð .Ð .ð@
ð @
ð @
ð @
ð @
�Yñ @
ô @
ð @
ðFN4ð N4ð N4ð N4ð N4ˆ~ñ N4ô N4ð N4ðb+4ð +4ð +4ð +4ð +4�.ñ +4ô +4ð +4ð\G4ð G4ð G4ð G4ð G4�ñ G4ô G4ð G4ðTY
ð Y
ð Y
ð Y
ð Y
�.ñ Y
ô Y
ð Y
ð Y
ð Y
r   