§
    ¤”jÜª  ã                   óˆ  — d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ ddlmZmZmZmZmZ d	„ 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 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 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" G d(„ d)e!¦  «        Z# G d*„ d+e!¦  «        Z$ G d,„ d-e!¦  «        Z% G d.„ d/e!¦  «        Z&d0S )1é    )Úmodels)Ú	Operation)Ú
ModelState)Úfield_referencesÚresolve_relation)Únormalize_together)Úcached_propertyé   )ÚAddFieldÚ
AlterFieldÚFieldOperationÚRemoveFieldÚRenameFieldc                 óŠ   — t          ¦   «         }|D ]1}||v rt          d|›d| ›d�¦  «        ‚|                     |¦  «         Œ2d S )NzFound duplicate value z in CreateModel z
 argument.)ÚsetÚ
ValueErrorÚadd)Úarg_nameÚobjsÚ	used_valsÚvals       úu/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/django/db/migrations/operations/models.pyÚ_check_for_duplicatesr      sj   € Ý‘”€IØð ð ˆØ�)ÐÐÝ�*ØJMÈ#È#ÈxÈxÈxÐXñô ð ð 	�Š�cÑÔÐÐðð ó    c                   óF   ‡ — e Zd Zd„ Zed„ ¦   «         Zd„ Zˆ fd„Zd„ Zˆ xZ	S )ÚModelOperationc                 ó   — || _         d S ©N©Úname)Úselfr    s     r   Ú__init__zModelOperation.__init__   s   € ØˆŒ	ˆ	ˆ	r   c                 ó4   — | j                              ¦   «         S r   )r    Úlower©r!   s    r   Ú
name_lowerzModelOperation.name_lower   s   € àŒy�ŠÑ Ô Ð r   c                 ó<   — |                      ¦   «         | j        k    S r   ©r$   r&   ©r!   r    Ú	app_labels      r   Úreferences_modelzModelOperation.references_model   s   € Ø�zŠz‰|Œ|˜tœÒ.Ð.r   c                 ót   •— t          ¦   «                              ||¦  «        p|                      ||¦  «        S r   )ÚsuperÚreduceÚcan_reduce_through©r!   Ú	operationr*   Ú	__class__s      €r   r.   zModelOperation.reduce    s9   ø€ Ý‰wŒw�~Š~˜i¨Ñ3Ô3ð 
°t×7NÒ7NØ�yñ8
ô 8
ð 	
r   c                 ó:   — |                      | j        |¦  «         S r   )r+   r    )r!   r1   r*   s      r   r/   z!ModelOperation.can_reduce_through%   s   € Ø×-Ò-¨d¬i¸ÑCÔCÐCÐCr   )
Ú__name__Ú
__module__Ú__qualname__r"   r	   r&   r+   r.   r/   Ú__classcell__©r2   s   @r   r   r      s‡   ø€ € € € € ðð ð ð ð!ð !ñ „_ð!ð/ð /ð /ð
ð 
ð 
ð 
ð 
ð
Dð Dð Dð Dð Dð Dð Dr   r   c                   óp   ‡ — e Zd ZdZg d¢Zdˆ fd„	Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
ed
„ ¦   «         Zd„ Zˆ fd„Zˆ xZS )ÚCreateModelzCreate a model's table.)ÚfieldsÚoptionsÚmanagersNc                 ó^  •— || _         |pi | _        |pt          j        f| _        |pg | _        t          ¦   «                              |¦  «         t          dd„ | j         D ¦   «         ¦  «         t          dd„ | j        D ¦   «         ¦  «         t          dd„ | j        D ¦   «         ¦  «         d S )Nr;   c              3   ó    K  — | ]	\  }}|V — Œ
d S r   © ©Ú.0r    Ú_s      r   ú	<genexpr>z'CreateModel.__init__.<locals>.<genexpr>6   s&   è è € Ð(IÐ(I±'°$¸¨Ð(IÐ(IÐ(IÐ(IÐ(IÐ(Ir   Úbasesc              3   ó¤   K  — | ]K}t          |d ¦  «        r|j        j        n*t          |t          ¦  «        r|                     ¦   «         n|V — ŒLdS )Ú_metaN)ÚhasattrrG   Úlabel_lowerÚ
isinstanceÚstrr$   )rB   Úbases     r   rD   z'CreateModel.__init__.<locals>.<genexpr>9   sp   è è € ð ð ð õ ˜t WÑ-Ô-ðI�D”JÔ*Ð*å)3°D½#Ñ)>Ô)>ÐH˜Ÿš™œ˜ÀDð	ð ð ð ð ð r   r=   c              3   ó    K  — | ]	\  }}|V — Œ
d S r   r@   rA   s      r   rD   z'CreateModel.__init__.<locals>.<genexpr>B   s&   è è € Ð*MÐ*M±G°D¸!¨4Ð*MÐ*MÐ*MÐ*MÐ*MÐ*Mr   )	r;   r<   r   ÚModelrE   r=   r-   r"   r   )r!   r    r;   r<   rE   r=   r2   s         €r   r"   zCreateModel.__init__.   sÉ   ø€ ØˆŒØ�} "ˆŒØÐ-�vœ|˜oˆŒ
Ø ˜ BˆŒÝ‰Œ×Ò˜ÑÔÐõ 	˜hÐ(IÐ(I¸T¼[Ð(IÑ(IÔ(IÑJÔJÐJÝØðð ð !œJðñ ô ñ
	
ô 
	
ð 
	
õ 	˜jÐ*MÐ*M¸t¼}Ð*MÑ*MÔ*MÑNÔNÐNÐNÐNr   c                 ó  — | j         | j        dœ}| j        r
| j        |d<   | j        r | j        t          j        fk    r
| j        |d<   | j        r)| j        dt	          j        ¦   «         fgk    r
| j        |d<   | j        j	        g |fS )N)r    r;   r<   rE   Úobjectsr=   )
r    r;   r<   rE   r   rN   r=   ÚManagerr2   r6   ©r!   Úkwargss     r   ÚdeconstructzCreateModel.deconstructD   s™   € à”IØ”kð
ð 
ˆð Œ<ð 	-Ø $¤ˆF�9ÑØŒ:ð 	)˜$œ*­¬¨Ò7Ð7Ø"œjˆF�7‰OØŒ=ð 	/˜Tœ]°	½6¼>Ñ;KÔ;KÐ/LÐ.MÒMÐMØ!%¤ˆF�:ÑØ”Ô+¨R°Ð8Ð8r   c                 óî   — |                      t          || j        t          | j        ¦  «        t          | j        ¦  «        t          | j        ¦  «        t          | j	        ¦  «        ¦  «        ¦  «         d S r   )
Ú	add_modelr   r    Úlistr;   Údictr<   ÚtuplerE   r=   ©r!   r*   Ústates      r   Ústate_forwardszCreateModel.state_forwardsQ   sk   € Ø�ŠÝØØ”	Ý�T”[Ñ!Ô!Ý�T”\Ñ"Ô"Ý�d”jÑ!Ô!Ý�T”]Ñ#Ô#ñô ñ		
ô 		
ð 		
ð 		
ð 		
r   c                 ó´   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     |¦  «         d S d S r   ©ÚappsÚ	get_modelr    Úallow_migrate_modelÚ
connectionÚaliasÚcreate_model©r!   r*   Úschema_editorÚ
from_stateÚto_stateÚmodels         r   Údatabase_forwardszCreateModel.database_forwards]   ó]   € Ø”×'Ò'¨	°4´9Ñ=Ô=ˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	.Ø×&Ò& uÑ-Ô-Ð-Ð-Ð-ð	.ð 	.r   c                 ó´   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     |¦  «         d S d S r   ©r_   r`   r    ra   rb   rc   Údelete_modelre   s         r   Údatabase_backwardszCreateModel.database_backwardsb   ó]   € Ø”×)Ò)¨)°T´YÑ?Ô?ˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	.Ø×&Ò& uÑ-Ô-Ð-Ð-Ð-ð	.ð 	.r   c                 óV   — d| j                              dd¦  «        rdnd›d| j        ›�S )NzCreate ÚproxyFzproxy Ú zmodel )r<   Úgetr    r%   s    r   ÚdescribezCreateModel.describeg   s9   € € àœ×(Ò(¨°%Ñ8Ô8Ð@ˆHˆH¸bÐ@Ð@ØŒIˆIð
ð 	
r   c                 ó   — | j         S r   ©r&   r%   s    r   Úmigration_name_fragmentz#CreateModel.migration_name_fragmentm   s
   € àŒÐr   c                 óJ  — |                      ¦   «         }|| j        k    rdS ||f}| j        D ]M}|t          j        ur=t          |t          j        j        t          f¦  «        rt          ||¦  «        |k    r dS ŒN| j
        D ] \  }}t          || j        f||¦  «        r dS Œ!dS )NTF)r$   r&   rE   r   rN   rJ   rL   Ú	ModelBaserK   r   r;   r   )r!   r    r*   r&   Úreference_model_tuplerL   Ú_nameÚfields           r   r+   zCreateModel.references_modelq   sÓ   € Ø—Z’Z‘\”\ˆ
Ø˜œÒ(Ð(Ø�4ð "+¨JÐ 7ÐØ”Jð 	ð 	ˆDà�FœLÐ(Ð(Ý˜t¥f¤kÔ&;½SÐ%AÑBÔBð )å$ T¨9Ñ5Ô5Ð9NÒNÐNà�t�tøð !œKð 	ð 	‰LˆE�5ÝØ˜DœOÐ,¨eÐ5Jñô ð ð �t�tðð ˆur   c                 ó  •‡— t          ‰t          ¦  «        r-| j        ‰j        k    r| j                             dd¦  «        sg S t          ‰t
          ¦  «        r>| j        ‰j        k    r.t          ‰j        | j	        | j        | j
        | j        ¬¦  «        gS t          ‰t          ¦  «        rr| j        ‰j        k    rbi | j        ¥‰j        ¥}‰j        D ]!}|‰j        vr|                     |d ¦  «         Œ"t          | j        | j	        || j
        | j        ¬¦  «        gS t          ‰t           ¦  «        r>| j        ‰j        k    r.t          | j        | j	        | j        | j
        ‰j        ¬¦  «        gS t          ‰t"          ¦  «        rN| j        ‰j        k    r>t          | j        | j	        i | j        ¥‰j        ‰j        i¥| j
        | j        ¬¦  «        gS t          ‰t(          ¦  «        rI| j        ‰j        k    r9t          | j        | j	        i | j        ¥d‰j        i¥| j
        | j        ¬¦  «        gS t          ‰t,          ¦  «        �rG| j        ‰j        k    �r6t          ‰t0          ¦  «        r>t          | j        | j	        ‰j        ‰j        fgz   | j        | j
        | j        ¬¦  «        gS t          ‰t4          ¦  «        r:t          | j        ˆfd„| j	        D ¦   «         | j        | j
        | j        ¬¦  «        gS t          ‰t6          ¦  «        rÃ| j                             ¦   «         }dD ]O}|                     |d ¦  «        }|r5t;          t=          t>          ˆfd„|D ¦   «         ¦  «        ¦  «        }|r|||<   ŒP|                     d¦  «        }|‰j        k    r|d= t          | j        ˆfd„| j	        D ¦   «         || j
        | j        ¬¦  «        gS t          ‰t@          ¦  «        r¥| j                             ¦   «         }dD ]*}|                     |¦  «        }|rˆfd	„|D ¦   «         ||<   Œ+|                     d¦  «        }|‰j!        k    r
‰j        |d<   t          | j        ˆfd
„| j	        D ¦   «         || j
        | j        ¬¦  «        gS �nÜt          ‰tD          ¦  «        �rÆ| j        ‰j        k    �rµt          ‰tF          ¦  «        rVt          | j        | j	        i | j        ¥dg | j                             dg ¦  «        ¢‰j$        ‘i¥| j
        | j        ¬¦  «        gS t          ‰tJ          ¦  «        r[ˆfd„| j                             dg ¦  «        D ¦   «         }t          | j        | j	        i | j        ¥d|i¥| j
        | j        ¬¦  «        gS t          ‰tL          ¦  «        rÅ‰j'        r¾ˆfd„| j                             dg ¦  «        D ¦   «         }	|	r|	| j        d<   n| j                             dd ¦  «         t          | j        | j	        i | j        ¥dg | j                             dg ¦  «        ¢tQ          j)        ‰j'        ‰j        ¬¦  «        ‘i¥| j
        | j        ¬¦  «        gS tU          ¦   «          +                    ‰|¦  «        S )Nrr   F)r;   r<   rE   r=   Úorder_with_respect_toc                 óB   •— g | ]\  }}||‰j         k    r‰j        n|f‘ŒS r@   )r    r}   ©rB   ÚnÚvr1   s      €r   ú
<listcomp>z&CreateModel.reduce.<locals>.<listcomp>ì   sD   ø€ ð  ð  ð  á $  1ð °1¸	¼Ò3FÐ3F 	¤ ÈAÐNð ð  ð  r   )Úunique_togetherÚindex_togetherc              3   óN   •K  — | ]}t          ˆfd „|D ¦   «         ¦  «        V — Œ dS )c              3   ó2   •K  — | ]}|‰j         k    ¯|V — Œd S r   rw   ©rB   Úfr1   s     €r   rD   z/CreateModel.reduce.<locals>.<genexpr>.<genexpr>þ   s9   øè è € ð *&ð *&Ø./¸QÀ)ÔBVÒ=VÐ=V¨Ð=VÐ=VÐ=VÐ=Vð*&ð *&r   N©rY   ©rB   r;   r1   s     €r   rD   z%CreateModel.reduce.<locals>.<genexpr>ý   si   øè è € ð !"ð !"ð )/õ %*ð *&ð *&ð *&ð *&Ø39ð*&ñ *&ô *&ñ %&ô %&ð!"ð !"ð !"ð !"ð !"ð !"r   c                 óX   •— g | ]&\  }}|                      ¦   «         ‰j        k    ¯"||f‘Œ'S r@   r(   r�   s      €r   r„   z&CreateModel.reduce.<locals>.<listcomp>  sA   ø€ ð  ð  ð  á $  1Ø Ÿwšw™yœy¨IÔ,@Ò@Ð@ð  ˜Fà@Ð@Ð@r   c                 óF   •— h | ]}t          ˆfd „|D ¦   «         ¦  «        ’ŒS )c              3   ó@   •K  — | ]}|‰j         k    r‰j        n|V — Œd S r   ©Úold_nameÚnew_namer‰   s     €r   rD   z/CreateModel.reduce.<locals>.<setcomp>.<genexpr>  sM   øè è € ð "ð "à$%ð 78¸9Ô;MÒ6MÐ6M 	Ô 2Ð 2ÐSTð"ð "ð "ð "ð "ð "r   r‹   rŒ   s     €r   ú	<setcomp>z%CreateModel.reduce.<locals>.<setcomp>  s[   ø€ ð 0ð 0ð 0ð
 !'õ	 "ð "ð "ð "ð "à)/ð"ñ "ô "ñ ô ð0ð 0ð 0r   c                 óB   •— g | ]\  }}|‰j         k    r‰j        n||f‘ŒS r@   r�   r�   s      €r   r„   z&CreateModel.reduce.<locals>.<listcomp>)  sI   ø€ ð  ð  ð  á $  1ð 45¸	Ô8JÒ3JÐ3J˜YÔ/Ð/ÐPQÐSTÐUð ð  ð  r   Úindexesc                 ó4   •— g | ]}|j         ‰j         k    ¯|‘ŒS r@   r   )rB   Úindexr1   s     €r   r„   z&CreateModel.reduce.<locals>.<listcomp>G  s2   ø€ ð #ð #ð #àØ”z Y¤^Ò3Ð3ð à3Ð3Ð3r   c                 ó*   •— h | ]}|‰j         k    ¯|’ŒS r@   )Ú
old_fieldsrŒ   s     €r   r“   z%CreateModel.reduce.<locals>.<setcomp>Y  s1   ø€ ð *ð *ð *àØ Ô!5Ò5Ð5ð à5Ð5Ð5r   r†   ©r;   r    ),rJ   ÚDeleteModelr&   r<   rt   ÚRenameModelÚold_name_lowerr:   r’   r;   rE   r=   ÚAlterModelOptionsÚALTER_OPTION_KEYSÚpopr    ÚAlterModelManagersÚAlterTogetherOptionOperationÚoption_nameÚoption_valueÚAlterOrderWithRespectTor   r   Úmodel_name_lowerr   r}   r   r   Úcopyr   ÚfilterÚboolr   r‘   ÚIndexOperationÚAddIndexr—   ÚRemoveIndexÚRenameIndexr™   r   ÚIndexr-   r.   )r!   r1   r*   r<   Úkeyr£   Úoptionr   Úoptions_indexesÚoptions_index_togetherr2   s    `        €r   r.   zCreateModel.reduceˆ   sI  øø€ å�y¥+Ñ.Ô.ði	à” 9Ô#7Ò7Ð7Ø”L×$Ò$ W¨eÑ4Ô4ð 8ð ˆIå�y¥+Ñ.Ô.ðc	à” 9Ô#;Ò;Ð;õ ØÔ&Øœ;Ø œLØœ*Ø!œ]ðñ ô ðð õ �yÕ"3Ñ4Ô4ðV	à” 9Ô#7Ò7Ð7à;˜œÐ;¨Ô):Ð;ˆGØ Ô2ð +ð +�Ø˜iÔ/Ð/Ð/Ø—K’K  TÑ*Ô*Ð*øåØ”IØœ;Ø#Øœ*Ø!œ]ðñ ô ðð õ �yÕ"4Ñ5Ô5ðE	à” 9Ô#7Ò7Ð7õ Ø”IØœ;Ø œLØœ*Ø&Ô/ðñ ô ðð õ �yÕ">Ñ?Ô?ðx	à” 9Ô#7Ò7Ð7õ Ø”IØœ;ðØœ,ðà$Ô0°)Ô2HÐIðð œ*Ø!œ]ð	ñ 	ô 	ðð õ �yÕ"9Ñ:Ô:ðh	à” 9Ô#7Ò7Ð7õ Ø”IØœ;ðØœ,ðà/°Ô1Pðð ð œ*Ø!œ]ð	ñ 	ô 	ðð õ �y¥.Ñ1Ô1ñX	à” 9Ô#=Ò=Ñ=å˜)¥XÑ.Ô.ð SåØœ	Ø#œ{¨y¬~¸y¼Ð.OÐ-PÑPØ $¤Ø"œjØ!%¤ðñ ô ðð õ ˜I¥zÑ2Ô2ð IåØœ	ð ð  ð  ð  à(,¬ð ñ  ô  ð !%¤Ø"œjØ!%¤ð	ñ 	ô 	ðð õ ˜I¥{Ñ3Ô3ð <Øœ,×+Ò+Ñ-Ô-�Ø#Hð :ð :�KØ$Ÿ[š[¨°dÑ;Ô;�FØð :Ý!$Ý"Ý $ð!"ð !"ð !"ð !"ð 39ð	!"ñ !"ô !"ñô ñ
"ô 
"˜ð "ð :Ø39˜G KÑ0øØ(/¯ªÐ4KÑ(LÔ(LÐ%Ø(¨IÔ,@Ò@Ð@ØÐ 7Ð8åØœ	ð ð  ð  ð  à(,¬ð ñ  ô  ð
 !(Ø"œjØ!%¤ð
ñ 
ô 
ðð õ ˜I¥{Ñ3Ô3ð Øœ,×+Ò+Ñ-Ô-�Ø#Hð 	ð 	�KØ$Ÿ[š[¨Ñ5Ô5�FØð ð0ð 0ð 0ð 0ð
 +1ð0ñ 0ô 0˜ Ñ,øð )0¯ªÐ4KÑ(LÔ(LÐ%Ø(¨IÔ,>Ò>Ð>Ø7@Ô7I�GÐ3Ñ4åØœ	ð ð  ð  ð  à(,¬ð ñ  ô  ð !(Ø"œjØ!%¤ð	ñ 	ô 	ðð ñõ8 �y¥.Ñ1Ô1ñ@	à” 9Ô#=Ò=Ñ=å˜)¥XÑ.Ô.ð <åØœ	Ø#œ{ð!Ø"œlð!à%ð (Ø!%¤×!1Ò!1°)¸RÑ!@Ô!@ð(à )¤ð(ð!ð !ð #œjØ!%¤ðñ ô ðð õ ˜I¥{Ñ3Ô3ð ,ð#ð #ð #ð #à!%¤×!1Ò!1°)¸RÑ!@Ô!@ð#ñ #ô #�õ  Øœ	Ø#œ{ð!Ø"œlð!à% ð!ð !ð #œjØ!%¤ð	ñ 	ô 	ðð õ ˜I¥{Ñ3Ô3ð ¸	Ô8Lð ð*ð *ð *ð *à"&¤,×"2Ò"2Ð3CÀRÑ"HÔ"Hð*ñ *ô *Ð&ð
 *ð =Ø5K�D”LÐ!1Ñ2Ð2à”L×$Ò$Ð%5°tÑ<Ô<Ð<åØœ	Ø#œ{ð!Ø"œlð!à%ð (Ø!%¤×!1Ò!1°)¸RÑ!@Ô!@ð(å &¤Ø+4Ô+?ÀiÔFXð!"ñ !"ô !"ð(ð!ð !ð #œjØ!%¤ðñ ô ðð õ" ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )NNN)r4   r5   r6   Ú__doc__Úserialization_expand_argsr"   rT   r\   rj   ro   ru   Úpropertyrx   r+   r.   r7   r8   s   @r   r:   r:   )   sì   ø€ € € € € Ø!Ð!à AÐ AÐ AÐðOð Oð Oð Oð Oð Oð,9ð 9ð 9ð

ð 

ð 

ð.ð .ð .ð
.ð .ð .ð

ð 
ð 
ð ðð ñ „Xððð ð ð.k4ð k4ð k4ð k4ð k4ð k4ð k4ð k4ð k4r   r:   c                   óL   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ ¦   «         Zd	S )
r›   zDrop a model's table.c                 ó2   — d| j         i}| j        j        g |fS ©Nr    )r    r2   r6   rR   s     r   rT   zDeleteModel.deconstructy  s$   € à�D”Ið
ˆð ”Ô+¨R°Ð8Ð8r   c                 ó<   — |                      || j        ¦  «         d S r   )Úremove_modelr&   rZ   s      r   r\   zDeleteModel.state_forwards  s    € Ø×Ò˜9 d¤oÑ6Ô6Ð6Ð6Ð6r   c                 ó´   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     |¦  «         d S d S r   rm   re   s         r   rj   zDeleteModel.database_forwards‚  rp   r   c                 ó´   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     |¦  «         d S d S r   r^   re   s         r   ro   zDeleteModel.database_backwards‡  rk   r   c                 ó   — dS )NTr@   r)   s      r   r+   zDeleteModel.references_modelŒ  s	   € ð ˆtr   c                 ó   — d| j         z  S )NzDelete model %sr   r%   s    r   ru   zDeleteModel.describe‘  s   € Ø  4¤9Ñ,Ð,r   c                 ó   — d| j         z  S )Nz	delete_%srw   r%   s    r   rx   z#DeleteModel.migration_name_fragment”  s   € à˜Tœ_Ñ,Ð,r   N)r4   r5   r6   r³   rT   r\   rj   ro   r+   ru   rµ   rx   r@   r   r   r›   r›   v  s�   € € € € € ØÐð9ð 9ð 9ð7ð 7ð 7ð.ð .ð .ð
.ð .ð .ð
ð ð ð
-ð -ð -ð ð-ð -ñ „Xð-ð -ð -r   r›   c                   ó’   ‡ — e Zd ZdZˆ fd„Zed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zed„ ¦   «         Zˆ fd„Zˆ xZS )rœ   zRename a model.c                 óf   •— || _         || _        t          ¦   «                              |¦  «         d S r   )r‘   r’   r-   r"   )r!   r‘   r’   r2   s      €r   r"   zRenameModel.__init__œ  s/   ø€ Ø ˆŒØ ˆŒÝ‰Œ×Ò˜Ñ"Ô"Ð"Ð"Ð"r   c                 ó4   — | j                              ¦   «         S r   ©r‘   r$   r%   s    r   r�   zRenameModel.old_name_lower¡  ó   € àŒ}×"Ò"Ñ$Ô$Ð$r   c                 ó4   — | j                              ¦   «         S r   ©r’   r$   r%   s    r   Únew_name_lowerzRenameModel.new_name_lower¥  rÄ   r   c                 ó>   — | j         | j        dœ}| j        j        g |fS )Nr�   )r‘   r’   r2   r6   rR   s     r   rT   zRenameModel.deconstruct©  s,   € àœØœð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óH   — |                      || j        | j        ¦  «         d S r   )Úrename_modelr‘   r’   rZ   s      r   r\   zRenameModel.state_forwards°  s$   € Ø×Ò˜9 d¤m°T´]ÑCÔCÐCÐCÐCr   c                 ó2  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        �rS|j                              || j        ¦  «        }|                     ||j        j	        |j        j	        ¦  «         |j        j
        D ]�}|j        |k    r|}|| j        f}	n)|j        }|j        j        j        |j        j        j        f}	 |j         j        |	Ž j                             |j        j        ¦  «        }
|                     ||j        |
¦  «         Œ�t'          |j        j        |j        j        ¦  «        }|D ]G\  }}|j        |j        k    s|j        j        j        j        sŒ,|                     |||d¬¦  «         ŒFd S d S )NF)Ústrict)r_   r`   r’   ra   rb   rc   r‘   Úalter_db_tablerG   Údb_tableÚrelated_objectsÚrelated_modelrÇ   r*   Ú
model_nameÚ	get_fieldr}   r    Úalter_fieldÚzipÚlocal_many_to_manyri   Úremote_fieldÚthroughÚauto_createdÚ_alter_many_to_many)r!   r*   rf   rg   rh   Ú	new_modelÚ	old_modelÚrelated_objectri   Úrelated_keyÚto_fieldr;   Ú	old_fieldÚ	new_fields                 r   rj   zRenameModel.database_forwards³  sÚ  € Ø”M×+Ò+¨I°t´}ÑEÔEˆ	Ø×#Ò# MÔ$<Ô$BÀIÑNÔNñ ,	Ø"œ×1Ò1°)¸T¼]ÑKÔKˆIà×(Ò(ØØ”Ô(Ø”Ô(ñô ð ð #,¤/Ô"Að ð �Ø!Ô/°9Ò<Ð<Ø%�EØ#,¨dÔ.AÐ"B�K�Kà*Ô8�Eà&Ô4Ô:ÔDØ&Ô4Ô:ÔEð#�Kð 3˜8œ=Ô2°KÐ@ÔF×PÒPØ"Ô(Ô-ñô �ð ×)Ò)ØØ"Ô(Øñô ð ð õ Ø”Ô2°I´OÔ4Vñô ˆFð )/ð ð Ñ$�	˜9ð ”O yÔ'>Ò>Ð>Ø$Ô1Ô9Ô?ÔLð ?ð à×1Ò1ØØØØ ð	 2ñ ô ð ð ðO,	ð ,	ð>ð r   c                 óþ   — | j         | j        c| _        | _         | j        | j        c| _        | _        |                      ||||¦  «         | j         | j        c| _        | _         | j        | j        c| _        | _        d S r   )r�   rÇ   r‘   r’   rj   ©r!   r*   rf   rg   rh   s        r   ro   zRenameModel.database_backwardsã  s„   € àÔØÔð 	1ˆÔ˜TÔ0ð (,¤}°d´mÐ$ˆŒ�t”}à×Ò˜y¨-¸ÀXÑNÔNÐNð ÔØÔð 	1ˆÔ˜TÔ0ð (,¤}°d´mÐ$ˆŒ�t”}�}�}r   c                 óv   — |                      ¦   «         | j        k    p|                      ¦   «         | j        k    S r   )r$   r�   rÇ   r)   s      r   r+   zRenameModel.references_modelò  s/   € à�JŠJ‰LŒL˜DÔ/Ò/ÐV°4·:²:±<´<À4ÔCVÒ3Vð	
r   c                 ó&   — d| j         ›d| j        ›�S )NzRename model ú to r�   r%   s    r   ru   zRenameModel.describe÷  s   € € Ø*.¬-¨-¨-¸¼¸ÐGÐGr   c                 ó&   — d| j         ›d| j        ›�S ©NÚrename_rC   )r�   rÇ   r%   s    r   rx   z#RenameModel.migration_name_fragmentú  s   € € à!%Ô!4Ð!4Ð!4°dÔ6IÐ6IÐJÐJr   c                 ó  •— t          |t          ¦  «        r+| j        |j        k    rt          | j        |j        ¦  «        gS t          t          | ¦  «                             ||¦  «        p| 	                    | j        |¦  «         S r   )
rJ   rœ   rÇ   r�   r‘   r’   r-   r   r.   r+   r0   s      €r   r.   zRenameModel.reduceþ  s’   ø€ å�y¥+Ñ.Ô.ð		àÔ# yÔ'?Ò?Ð?õ Ø”MØÔ&ñô ðð õ •^ TÑ*Ô*×1Ò1Ø�yñ
ô 
ð Fà×+Ò+¨D¬M¸9ÑEÔEÐEð	Fr   )r4   r5   r6   r³   r"   r	   r�   rÇ   rT   r\   rj   ro   r+   ru   rµ   rx   r.   r7   r8   s   @r   rœ   rœ   ™  s  ø€ € € € € ØÐð#ð #ð #ð #ð #ð
 ð%ð %ñ „_ð%ð ð%ð %ñ „_ð%ð9ð 9ð 9ðDð Dð Dð.ð .ð .ð`Dð Dð Dð
ð 
ð 
ð
Hð Hð Hð ðKð Kñ „XðKðFð Fð Fð Fð Fð Fð Fð Fð Fr   rœ   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚModelOptionOperationc                 ó¦   •— t          || j        t          f¦  «        r| j        |j        k    r|gS t	          ¦   «                              ||¦  «        S r   )rJ   r2   r›   r&   r-   r.   r0   s      €r   r.   zModelOptionOperation.reduce  sL   ø€ å�y 4¤>µ;Ð"?Ñ@Ô@ð	à” 9Ô#7Ò7Ð7à�;ÐÝ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )r4   r5   r6   r.   r7   r8   s   @r   rë   rë     s8   ø€ € € € € ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   rë   c                   óV   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ ¦   «         Zˆ xZS )	ÚAlterModelTablezRename a model's table.c                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )Útabler-   r"   )r!   r    rð   r2   s      €r   r"   zAlterModelTable.__init__  s(   ø€ ØˆŒ
Ý‰Œ×Ò˜ÑÔÐÐÐr   c                 ó>   — | j         | j        dœ}| j        j        g |fS )N©r    rð   )r    rð   r2   r6   rR   s     r   rT   zAlterModelTable.deconstruct!  s,   € à”IØ”Zð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óL   — |                      || j        d| j        i¦  «         d S )NrÎ   )Úalter_model_optionsr&   rð   rZ   s      r   r\   zAlterModelTable.state_forwards(  s)   € Ø×!Ò! )¨T¬_¸zÈ4Ì:Ð>VÑWÔWÐWÐWÐWr   c                 ó2  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rÔ|j                              || j        ¦  «        }|                     ||j        j        |j        j        ¦  «         t          |j        j
        |j        j
        ¦  «        D ]f\  }}|j        j        j        j        rI|                     |j        j        |j        j        j        j        |j        j        j        j        ¦  «         Œed S d S r   )r_   r`   r    ra   rb   rc   rÍ   rG   rÎ   rÔ   rÕ   rÖ   r×   rØ   )	r!   r*   rf   rg   rh   rÚ   rÛ   rß   rà   s	            r   rj   z!AlterModelTable.database_forwards+  s  € Ø”M×+Ò+¨I°t´yÑAÔAˆ	Ø×#Ò# MÔ$<Ô$BÀIÑNÔNð 	Ø"œ×1Ò1°)¸T¼YÑGÔGˆIØ×(Ò(ØØ”Ô(Ø”Ô(ñô ð õ ),Ø”Ô2°I´OÔ4Vñ)ô )ð ð Ñ$�	˜9ð Ô)Ô1Ô7ÔDð Ø!×0Ò0Ø!Ô.Ô6Ø!Ô.Ô6Ô<ÔEØ!Ô.Ô6Ô<ÔEñô ð øð	ð 	ðð r   c                 ó2   — |                       ||||¦  «        S r   ©rj   râ   s        r   ro   z"AlterModelTable.database_backwards?  ó   € Ø×%Ò% i°À
ÈHÑUÔUÐUr   c                 ó8   — d| j         ›d| j        �| j        nd›�S )NzRename table for rå   z	(default)rò   r%   s    r   ru   zAlterModelTable.describeB  s*   € € àŒIˆIˆIØœ*Ð0ˆDŒJˆJ°kÐAð
ð 	
r   c                 ó   — d| j         z  S )Nzalter_%s_tablerw   r%   s    r   rx   z'AlterModelTable.migration_name_fragmentH  s   € à $¤/Ñ1Ð1r   )r4   r5   r6   r³   r"   rT   r\   rj   ro   ru   rµ   rx   r7   r8   s   @r   rî   rî     sª   ø€ € € € € Ø!Ð!ðð ð ð ð ð9ð 9ð 9ðXð Xð Xðð ð ð(Vð Vð Vð
ð 
ð 
ð ð2ð 2ñ „Xð2ð 2ð 2ð 2ð 2r   rî   c                   óR   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Ze	d„ ¦   «         Z
ˆ xZS )ÚAlterModelTableCommentc                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )Útable_commentr-   r"   )r!   r    rþ   r2   s      €r   r"   zAlterModelTableComment.__init__N  s)   ø€ Ø*ˆÔÝ‰Œ×Ò˜ÑÔÐÐÐr   c                 ó>   — | j         | j        dœ}| j        j        g |fS )N)r    rþ   )r    rþ   r2   r6   rR   s     r   rT   z"AlterModelTableComment.deconstructR  s-   € à”IØ!Ô/ð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óL   — |                      || j        d| j        i¦  «         d S )NÚdb_table_comment)rô   r&   rþ   rZ   s      r   r\   z%AlterModelTableComment.state_forwardsY  s6   € Ø×!Ò!Ø�t”Ð);¸TÔ=OÐ(Pñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rM|j                              || j        ¦  «        }|                     ||j        j        |j        j        ¦  «         d S d S r   )	r_   r`   r    ra   rb   rc   Úalter_db_table_commentrG   r  )r!   r*   rf   rg   rh   rÚ   rÛ   s          r   rj   z(AlterModelTableComment.database_forwards^  s‘   € Ø”M×+Ò+¨I°t´yÑAÔAˆ	Ø×#Ò# MÔ$<Ô$BÀIÑNÔNð 	Ø"œ×1Ò1°)¸T¼YÑGÔGˆIØ×0Ò0ØØ”Ô0Ø”Ô0ñô ð ð ð ð	ð 	r   c                 ó2   — |                       ||||¦  «        S r   r÷   râ   s        r   ro   z)AlterModelTableComment.database_backwardsh  rø   r   c                 ó   — d| j         › d�S )NúAlter z table commentr   r%   s    r   ru   zAlterModelTableComment.describek  s   € Ø1˜œ	Ð1Ð1Ð1Ð1r   c                 ó   — d| j         › d�S )NÚalter_Ú_table_commentrw   r%   s    r   rx   z.AlterModelTableComment.migration_name_fragmentn  s   € à7˜œÐ7Ð7Ð7Ð7r   )r4   r5   r6   r"   rT   r\   rj   ro   ru   rµ   rx   r7   r8   s   @r   rü   rü   M  s¡   ø€ € € € € ðð ð ð ð ð9ð 9ð 9ð
ð 
ð 
ð
ð ð ðVð Vð Vð2ð 2ð 2ð ð8ð 8ñ „Xð8ð 8ð 8ð 8ð 8r   rü   c                   ó|   ‡ — e Zd ZdZˆ fd„Zed„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zed
„ ¦   «         Zˆ fd„Zˆ xZS )r¢   Nc                 ó²   •— |rt          t          |¦  «        ¦  «        }t          | | j        |¦  «         t	          ¦   «                              |¦  «         d S r   )r   r   Úsetattrr£   r-   r"   )r!   r    r¤   r2   s      €r   r"   z%AlterTogetherOptionOperation.__init__v  sU   ø€ Øð 	AÝÕ1°,Ñ?Ô?Ñ@Ô@ˆLÝ��dÔ&¨Ñ5Ô5Ð5Ý‰Œ×Ò˜ÑÔÐÐÐr   c                 ó,   — t          | | j        ¦  «        S r   )Úgetattrr£   r%   s    r   r¤   z)AlterTogetherOptionOperation.option_value|  s   € å�t˜TÔ-Ñ.Ô.Ð.r   c                 óJ   — d| j         | j        | j        i}| j        j        g |fS r¸   )r    r£   r¤   r2   r6   rR   s     r   rT   z(AlterTogetherOptionOperation.deconstruct€  s/   € à�D”IØÔ˜dÔ/ð
ˆð ”Ô+¨R°Ð8Ð8r   c                 óV   — |                      || j        | j        | j        i¦  «         d S r   )rô   r&   r£   r¤   rZ   s      r   r\   z+AlterTogetherOptionOperation.state_forwards‡  s:   € Ø×!Ò!ØØŒOØÔ˜tÔ0Ð1ñ	
ô 	
ð 	
ð 	
ð 	
r   c           
      ó¨  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r‘|j                              || j        ¦  «        }t          |d| j        z  ¦  «        } ||t          |j        | j        t          ¦   «         ¦  «        t          |j        | j        t          ¦   «         ¦  «        ¦  «         d S d S )Nzalter_%s)
r_   r`   r    ra   rb   rc   r  r£   rG   r   )r!   r*   rf   rg   rh   rÚ   rÛ   Úalter_togethers           r   rj   z.AlterTogetherOptionOperation.database_forwardsŽ  sÄ   € Ø”M×+Ò+¨I°t´yÑAÔAˆ	Ø×#Ò# MÔ$<Ô$BÀIÑNÔNð 	Ø"œ×1Ò1°)¸T¼YÑGÔGˆIÝ$ ]°JÀÔAQÑ4QÑRÔRˆNØˆNØÝ˜	œ¨Ô)9½3¹5¼5ÑAÔAÝ˜	œ¨Ô)9½3¹5¼5ÑAÔAñô ð ð ð ð	ð 	r   c                 ó2   — |                       ||||¦  «        S r   r÷   râ   s        r   ro   z/AlterTogetherOptionOperation.database_backwards™  rø   r   c                 ó€   ‡— |                       ||¦  «        o'| j         pt          ˆfd„| j        D ¦   «         ¦  «        S )Nc              3   ó    •K  — | ]}‰|v V — Œ	d S r   r@   )rB   r;   r    s     €r   rD   z@AlterTogetherOptionOperation.references_field.<locals>.<genexpr>Ÿ  s'   øè è € ÐDÐD¨�D˜F�NÐDÐDÐDÐDÐDÐDr   )r+   r¤   Úany©r!   rÑ   r    r*   s     ` r   Úreferences_fieldz-AlterTogetherOptionOperation.references_fieldœ  sR   ø€ Ø×$Ò$ Z°Ñ;Ô;ð 
ØÔ!Ð!ð EÝÐDÐDÐDÐD°$Ô2CÐDÑDÔDÑDÔDð	
r   c                 óV   — d| j         ›d| j        ›dt          | j        pd¦  «        ›d�S )Nr  z for z (rs   z constraint(s)))r£   r    Úlenr¤   r%   s    r   ru   z%AlterTogetherOptionOperation.describe¢  s<   € € àÔÐÐØŒIˆIˆIÝ�Ô!Ð' RÑ(Ô(Ð(Ð(ð
ð 	
r   c                 ó&   — d| j         ›d| j        ›�S )Nr  rC   )r&   r£   r%   s    r   rx   z4AlterTogetherOptionOperation.migration_name_fragment©  s   € € à $¤  °Ô1AÐ1AÐBÐBr   c                 ó®   •— t          ¦   «                              ||¦  «        p2t          |t          ¦  «        ot	          |¦  «        t	          | ¦  «        uS r   )r-   r/   rJ   r¢   Útyper0   s      €r   r/   z/AlterTogetherOptionOperation.can_reduce_through­  sK   ø€ Ý‰wŒw×)Ò)¨)°YÑ?Ô?ð 
Ý�yÕ">Ñ?Ô?ð 2Ý�Y‘”¥t¨D¡z¤zÐ1ð	
r   )r4   r5   r6   r£   r"   r	   r¤   rT   r\   rj   ro   r  ru   rµ   rx   r/   r7   r8   s   @r   r¢   r¢   s  sì   ø€ € € € € Ø€Kðð ð ð ð ð ð/ð /ñ „_ð/ð9ð 9ð 9ð
ð 
ð 
ð	ð 	ð 	ðVð Vð Vð
ð 
ð 
ð
ð 
ð 
ð ðCð Cñ „XðCð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   r¢   c                   ó&   ‡ — e Zd ZdZdZˆ fd„Zˆ xZS )ÚAlterUniqueTogetherz|
    Change the value of unique_together to the target one.
    Input value of unique_together must be a set of tuples.
    r…   c                 óL   •— t          ¦   «                              ||¦  «         d S r   ©r-   r"   )r!   r    r…   r2   s      €r   r"   zAlterUniqueTogether.__init__¼  s#   ø€ Ý‰Œ×Ò˜˜Ñ/Ô/Ð/Ð/Ð/r   ©r4   r5   r6   r³   r£   r"   r7   r8   s   @r   r  r  ´  sI   ø€ € € € € ðð ð
 $€Kð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0r   r  c                   ó&   ‡ — e Zd ZdZdZˆ fd„Zˆ xZS )ÚAlterIndexTogetherzz
    Change the value of index_together to the target one.
    Input value of index_together must be a set of tuples.
    r†   c                 óL   •— t          ¦   «                              ||¦  «         d S r   r!  )r!   r    r†   r2   s      €r   r"   zAlterIndexTogether.__init__È  s#   ø€ Ý‰Œ×Ò˜˜~Ñ.Ô.Ð.Ð.Ð.r   r"  r8   s   @r   r$  r$  À  sI   ø€ € € € € ðð ð
 #€Kð/ð /ð /ð /ð /ð /ð /ð /ð /r   r$  c                   ó`   ‡ — e Zd ZdZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zed
„ ¦   «         Zˆ xZS )r¥   z9Represent a change with the order_with_respect_to option.r   c                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )r   r-   r"   )r!   r    r   r2   s      €r   r"   z AlterOrderWithRespectTo.__init__Ñ  s)   ø€ Ø%:ˆÔ"Ý‰Œ×Ò˜ÑÔÐÐÐr   c                 ó>   — | j         | j        dœ}| j        j        g |fS )N©r    r   )r    r   r2   r6   rR   s     r   rT   z#AlterOrderWithRespectTo.deconstructÕ  s-   € à”IØ%)Ô%?ð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óV   — |                      || j        | j        | j        i¦  «         d S r   )rô   r&   r£   r   rZ   s      r   r\   z&AlterOrderWithRespectTo.state_forwardsÜ  s:   € Ø×!Ò!ØØŒOØÔ˜tÔ9Ð:ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó(  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rÍ|j                              || j        ¦  «        }|j        j        r<|j        j        s0|                     ||j         	                    d¦  «        ¦  «         d S |j        j        r[|j        j        sQ|j         	                    d¦  «        }| 
                    ¦   «         sd|_        |                     ||¦  «         d S d S d S d S )NÚ_orderr   )r_   r`   r    ra   rb   rc   rG   r   Úremove_fieldrÒ   Úhas_defaultÚdefaultÚ	add_field)r!   r*   rf   rg   rh   Úto_modelÚ
from_modelr}   s           r   rj   z)AlterOrderWithRespectTo.database_forwardsã  s>  € Ø”=×*Ò*¨9°d´iÑ@Ô@ˆØ×#Ò# MÔ$<Ô$BÀHÑMÔMð 	Ø#œ×2Ò2°9¸d¼iÑHÔHˆJð Ô Ô6ðà œÔ<ðð ×*Ò*Ø 
Ô 0× :Ò :¸8Ñ DÔ Dñô ð ð ð ð ”Ô4ð
à"Ô(Ô>ð
ð !œ×0Ò0°Ñ:Ô:�Ø×(Ò(Ñ*Ô*ð &Ø$%�E”MØ×'Ò'ØØñô ð ð ð ð'	ð 	ð
ð 
ð 
ð 
r   c                 ó6   — |                       ||||¦  «         d S r   r÷   râ   s        r   ro   z*AlterOrderWithRespectTo.database_backwardsý  s"   € Ø×Ò˜y¨-¸ÀXÑNÔNÐNÐNÐNr   c                 óV   — |                       ||¦  «        o| j        d u p
|| j        k    S r   )r+   r   r  s       r   r  z(AlterOrderWithRespectTo.references_field   s7   € Ø×$Ò$ Z°Ñ;Ô;ð 
ØÔ&¨$Ð.ÐT°$¸$Ô:TÒ2Tð	
r   c                 ó&   — d| j         ›d| j        ›�S )NzSet order_with_respect_to on rå   r)  r%   s    r   ru   z AlterOrderWithRespectTo.describe  s    € € àŒIˆIˆIØÔ&Ð&ð
ð 	
r   c                 ó   — d| j         z  S )Nzalter_%s_order_with_respect_torw   r%   s    r   rx   z/AlterOrderWithRespectTo.migration_name_fragment  s   € à/°$´/ÑAÐAr   )r4   r5   r6   r³   r£   r"   rT   r\   rj   ro   r  ru   rµ   rx   r7   r8   s   @r   r¥   r¥   Ì  sÂ   ø€ € € € € ØCÐCà)€Kðð ð ð ð ð9ð 9ð 9ð
ð 
ð 
ðð ð ð4Oð Oð Oð
ð 
ð 
ð

ð 
ð 
ð ðBð Bñ „XðBð Bð Bð Bð Br   r¥   c                   ó^   ‡ — e Zd ZdZg d¢Zˆ fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ed	„ ¦   «         Zˆ xZS )
rž   z±
    Set new model options that don't directly affect the database schema
    (like verbose_name, permissions, ordering). Python code in migrations
    may still need them.
    )Úbase_manager_nameÚdefault_manager_nameÚdefault_related_nameÚget_latest_byÚmanagedÚorderingÚpermissionsÚdefault_permissionsÚselect_on_saveÚverbose_nameÚverbose_name_pluralc                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )r<   r-   r"   )r!   r    r<   r2   s      €r   r"   zAlterModelOptions.__init__&  s(   ø€ ØˆŒÝ‰Œ×Ò˜ÑÔÐÐÐr   c                 ó>   — | j         | j        dœ}| j        j        g |fS )N)r    r<   )r    r<   r2   r6   rR   s     r   rT   zAlterModelOptions.deconstruct*  s,   € à”IØ”|ð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óT   — |                      || j        | j        | j        ¦  «         d S r   )rô   r&   r<   rŸ   rZ   s      r   r\   z AlterModelOptions.state_forwards1  s7   € Ø×!Ò!ØØŒOØŒLØÔ"ñ		
ô 	
ð 	
ð 	
ð 	
r   c                 ó   — d S r   r@   râ   s        r   rj   z#AlterModelOptions.database_forwards9  ó   € Øˆr   c                 ó   — d S r   r@   râ   s        r   ro   z$AlterModelOptions.database_backwards<  rG  r   c                 ó   — d| j         z  S )NzChange Meta options on %sr   r%   s    r   ru   zAlterModelOptions.describe?  s   € Ø*¨T¬YÑ6Ð6r   c                 ó   — d| j         z  S )Nzalter_%s_optionsrw   r%   s    r   rx   z)AlterModelOptions.migration_name_fragmentB  s   € à! D¤OÑ3Ð3r   )r4   r5   r6   r³   rŸ   r"   rT   r\   rj   ro   ru   rµ   rx   r7   r8   s   @r   rž   rž     sº   ø€ € € € € ðð ðð ð Ððð ð ð ð ð9ð 9ð 9ð
ð 
ð 
ðð ð ðð ð ð7ð 7ð 7ð ð4ð 4ñ „Xð4ð 4ð 4ð 4ð 4r   rž   c                   ó\   ‡ — e Zd ZdZdgZˆ fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ed	„ ¦   «         Zˆ xZS )
r¡   zAlter the model's managers.r=   c                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )r=   r-   r"   )r!   r    r=   r2   s      €r   r"   zAlterModelManagers.__init__L  s(   ø€ Ø ˆŒÝ‰Œ×Ò˜ÑÔÐÐÐr   c                 ó8   — | j         j        | j        | j        gi fS r   )r2   r6   r    r=   r%   s    r   rT   zAlterModelManagers.deconstructP  s   € Ø”Ô+¨d¬i¸¼Ð-GÈÐLÐLr   c                 óH   — |                      || j        | j        ¦  «         d S r   )Úalter_model_managersr&   r=   rZ   s      r   r\   z!AlterModelManagers.state_forwardsS  s$   € Ø×"Ò" 9¨d¬o¸t¼}ÑMÔMÐMÐMÐMr   c                 ó   — d S r   r@   râ   s        r   rj   z$AlterModelManagers.database_forwardsV  rG  r   c                 ó   — d S r   r@   râ   s        r   ro   z%AlterModelManagers.database_backwardsY  rG  r   c                 ó   — d| j         z  S )NzChange managers on %sr   r%   s    r   ru   zAlterModelManagers.describe\  s   € Ø&¨¬Ñ2Ð2r   c                 ó   — d| j         z  S )Nzalter_%s_managersrw   r%   s    r   rx   z*AlterModelManagers.migration_name_fragment_  s   € à" T¤_Ñ4Ð4r   )r4   r5   r6   r³   r´   r"   rT   r\   rj   ro   ru   rµ   rx   r7   r8   s   @r   r¡   r¡   G  s²   ø€ € € € € Ø%Ð%à!+ Ððð ð ð ð ðMð Mð MðNð Nð Nðð ð ðð ð ð3ð 3ð 3ð ð5ð 5ñ „Xð5ð 5ð 5ð 5ð 5r   r¡   c                   ó(   — e Zd ZdZed„ ¦   «         ZdS )rª   r•   c                 ó4   — | j                              ¦   «         S r   )rÑ   r$   r%   s    r   r¦   zIndexOperation.model_name_lowerg  s   € àŒ×$Ò$Ñ&Ô&Ð&r   N)r4   r5   r6   r£   r	   r¦   r@   r   r   rª   rª   d  s2   € € € € € Ø€Kàð'ð 'ñ „_ð'ð 'ð 'r   rª   c                   ó\   ‡ — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ ¦   «         Zˆ fd	„Zˆ xZS )
r«   zAdd an index on a model.c                 óT   — || _         |j        st          d|z  ¦  «        ‚|| _        d S )NzSIndexes passed to AddIndex operations require a name argument. %r doesn't have one.)rÑ   r    r   r—   )r!   rÑ   r—   s      r   r"   zAddIndex.__init__o  s?   € Ø$ˆŒØŒzð 	Ýð1Ø38ñ9ñô ð ð ˆŒ
ˆ
ˆ
r   c                 óH   — |                      || j        | j        ¦  «         d S r   )Ú	add_indexr¦   r—   rZ   s      r   r\   zAddIndex.state_forwardsx  s#   € Ø�Š˜	 4Ô#8¸$¼*ÑEÔEÐEÐEÐEr   c                 óÀ   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     || j        ¦  «         d S d S r   )r_   r`   rÑ   ra   rb   rc   rY  r—   re   s         r   rj   zAddIndex.database_forwards{  sa   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	7Ø×#Ò# E¨4¬:Ñ6Ô6Ð6Ð6Ð6ð	7ð 	7r   c                 óÀ   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     || j        ¦  «         d S d S r   )r_   r`   rÑ   ra   rb   rc   Úremove_indexr—   re   s         r   ro   zAddIndex.database_backwards€  sa   € Ø”×)Ò)¨)°T´_ÑEÔEˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	:Ø×&Ò& u¨d¬jÑ9Ô9Ð9Ð9Ð9ð	:ð 	:r   c                 ó>   — | j         | j        dœ}| j        j        g |fS ©N)rÑ   r—   )rÑ   r—   r2   r6   rR   s     r   rT   zAddIndex.deconstruct…  s2   € àœ/Ø”Zð
ð 
ˆð
 ŒNÔ'ØØð
ð 	
r   c                 ó
  — | j         j        rAd| j         j        ›dd                     d„ | j         j        D ¦   «         ¦  «        ›d| j        ›�S d| j         j        ›dd                     | j         j        ¦  «        ›d| j        ›�S )NzCreate index ú on ú, c                 ó,   — g | ]}t          |¦  «        ‘ŒS r@   )rK   )rB   Ú
expressions     r   r„   z%AddIndex.describe.<locals>.<listcomp>”  s   € ÐTÐTÐT¨z�3˜z™?œ?ÐTÐTÐTr   ú
 on model z on field(s) z
 of model )r—   Úexpressionsr    ÚjoinrÑ   r;   r%   s    r   ru   zAddIndex.describe�  s–   € ØŒ:Ô!ð 	ð 	à”
”��Ø—	’	ÐTÐT¸T¼ZÔ=SÐTÑTÔTÑUÔUÐUÐUØ”�ðð ð	ð ŒJŒOˆOˆOØ�IŠI�d”jÔ'Ñ(Ô(Ð(Ð(ØŒOˆOð
ð 	
r   c                 óR   — | j         ›d| j        j                             ¦   «         ›�S ©NrC   )r¦   r—   r    r$   r%   s    r   rx   z AddIndex.migration_name_fragment�  s)   € àÔ/Ð/Ð/°´´×1FÒ1FÑ1HÔ1HÐ1HÐIÐIr   c                 óN  •— t          |t          ¦  «        r| j        j        |j        k    rg S t          |t          ¦  «        rB| j        j        |j        k    r-|j        | j        _        t          | j        | j        ¬¦  «        gS t          ¦   «          
                    ||¦  «        S r^  )rJ   r¬   r—   r    r­   r‘   r’   r«   rÑ   r-   r.   r0   s      €r   r.   zAddIndex.reduce¡  sŒ   ø€ Ý�i¥Ñ-Ô-ð 	°$´*´/ÀYÄ^Ò2SÐ2SØˆIÝ�i¥Ñ-Ô-ð 	L°$´*´/ÀYÔEWÒ2WÐ2WØ'Ô0ˆDŒJŒOÝ¨¬¸t¼zÐJÑJÔJÐKÐKÝ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )r4   r5   r6   r³   r"   r\   rj   ro   rT   ru   rµ   rx   r.   r7   r8   s   @r   r«   r«   l  s¹   ø€ € € € € Ø"Ð"ðð ð ðFð Fð Fð7ð 7ð 7ð
:ð :ð :ð
	
ð 	
ð 	
ð
ð 
ð 
ð ðJð Jñ „XðJð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   r«   c                   óL   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ ¦   «         Zd	S )
r¬   zRemove an index from a model.c                 ó"   — || _         || _        d S r   ©rÑ   r    ©r!   rÑ   r    s      r   r"   zRemoveIndex.__init__­  ó   € Ø$ˆŒØˆŒ	ˆ	ˆ	r   c                 óH   — |                      || j        | j        ¦  «         d S r   )r\  r¦   r    rZ   s      r   r\   zRemoveIndex.state_forwards±  s%   € Ø×Ò˜9 dÔ&;¸T¼YÑGÔGÐGÐGÐGr   c                 ó  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rF|j        || j        f         }|                     | j	        ¦  «        }| 
                    ||¦  «         d S d S r   )r_   r`   rÑ   ra   rb   rc   r   r¦   Úget_index_by_namer    r\  )r!   r*   rf   rg   rh   ri   Úfrom_model_stater—   s           r   rj   zRemoveIndex.database_forwards´  sŠ   € Ø”×)Ò)¨)°T´_ÑEÔEˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	5Ø)Ô0°¸DÔ<QÐ1QÔRÐØ$×6Ò6°t´yÑAÔAˆEØ×&Ò& u¨eÑ4Ô4Ð4Ð4Ð4ð	5ð 	5r   c                 ó  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rF|j        || j        f         }|                     | j	        ¦  «        }| 
                    ||¦  «         d S d S r   )r_   r`   rÑ   ra   rb   rc   r   r¦   rq  r    rY  )r!   r*   rf   rg   rh   ri   Úto_model_stater—   s           r   ro   zRemoveIndex.database_backwards»  sˆ   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	2Ø%œ_¨Y¸Ô8MÐ-MÔNˆNØ"×4Ò4°T´YÑ?Ô?ˆEØ×#Ò# E¨5Ñ1Ô1Ð1Ð1Ð1ð	2ð 	2r   c                 ó>   — | j         | j        dœ}| j        j        g |fS ©Nrl  )rÑ   r    r2   r6   rR   s     r   rT   zRemoveIndex.deconstructÂ  s2   € àœ/Ø”Ið
ð 
ˆð
 ŒNÔ'ØØð
ð 	
r   c                 ó&   — d| j         ›d| j        ›�S )NzRemove index z from ©r    rÑ   r%   s    r   ru   zRemoveIndex.describeÍ  s   € € Ø,0¬I¨I¨I°t´°ÐGÐGr   c                 óJ   — d| j         ›d| j                             ¦   «         ›�S ©NÚremove_rC   ©r¦   r    r$   r%   s    r   rx   z#RemoveIndex.migration_name_fragmentÐ  ó'   € € à!%Ô!6Ð!6Ð!6¸¼	¿ºÑ8IÔ8IÐ8IÐJÐJr   N)r4   r5   r6   r³   r"   r\   rj   ro   rT   ru   rµ   rx   r@   r   r   r¬   r¬   ª  sš   € € € € € Ø'Ð'ðð ð ðHð Hð Hð5ð 5ð 5ð2ð 2ð 2ð	
ð 	
ð 	
ðHð Hð Hð ðKð Kñ „XðKð Kð Kr   r¬   c                   óŠ   ‡ — e Zd ZdZdd„Zed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zed„ ¦   «         Zˆ fd„Zˆ xZS )r­   zRename an index.Nc                 óŠ   — |s|st          d¦  «        ‚|r|rt          d¦  «        ‚|| _        || _        || _        || _        d S )NzHRenameIndex requires one of old_name and old_fields arguments to be set.z;RenameIndex.old_name and old_fields are mutually exclusive.)r   rÑ   r’   r‘   r™   )r!   rÑ   r’   r‘   r™   s        r   r"   zRenameIndex.__init__Ø  sp   € Øð 	 
ð 	Ýðñô ð ð ð 	˜
ð 	ÝØMñô ð ð %ˆŒØ ˆŒØ ˆŒØ$ˆŒˆˆr   c                 ó4   — | j                              ¦   «         S r   rÃ   r%   s    r   r�   zRenameIndex.old_name_lowerç  rÄ   r   c                 ó4   — | j                              ¦   «         S r   rÆ   r%   s    r   rÇ   zRenameIndex.new_name_lowerë  rÄ   r   c                 ó‚   — | j         | j        dœ}| j        r
| j        |d<   | j        r
| j        |d<   | j        j        g |fS )N)rÑ   r’   r‘   r™   )rÑ   r’   r‘   r™   r2   r6   rR   s     r   rT   zRenameIndex.deconstructï  sX   € àœ/Øœð
ð 
ˆð Œ=ð 	/Ø!%¤ˆF�:ÑØŒ?ð 	3Ø#'¤?ˆF�<Ñ Ø”Ô+¨R°Ð8Ð8r   c                 ó2  — | j         rh|                     || j        t          j        | j         | j        ¬¦  «        ¦  «         |                     || j        t          j        | j         ¦  «         d S | 	                    || j        | j
        | j        ¦  «         d S )Nrš   )r™   rY  r¦   r   r®   r’   Úremove_model_optionsr$  r£   Úrename_indexr‘   rZ   s      r   r\   zRenameIndex.state_forwardsú  s­   € ØŒ?ð 	Ø�OŠOØØÔ%Ý” D¤O¸$¼-ÐHÑHÔHñô ð ð
 ×&Ò&ØØÔ%Ý"Ô.Ø”ñ	ô ð ð ð ð ×ÒØ˜4Ô0°$´-ÀÄñô ð ð ð r   c           
      ó*  ‡— |j                              || j        ¦  «        }|                      |j        j        |¦  «        sd S | j        rÃ|j                              || j        ¦  «        Šˆfd„| j        D ¦   «         }|                     ‰|d¬¦  «        }t          |¦  «        dk    rCt          dt          |¦  «        ›d‰j
        j        ›dd                     |¦  «        ›d	�¦  «        ‚t          j        | j        |d
         ¬¦  «        }n.|j        || j        f         }	|	                     | j        ¦  «        }|j        | j        k    rd S |j        || j        f         }
|
                     | j        ¦  «        }|                     |||¦  «         d S )Nc                 óN   •— g | ]!}‰j                              |¦  «        j        ‘Œ"S r@   )rG   rÒ   Úcolumn)rB   r}   r2  s     €r   r„   z1RenameIndex.database_forwards.<locals>.<listcomp>  s:   ø€ ð ð ð Ø=B�
Ô ×*Ò*¨5Ñ1Ô1Ô8ðð ð r   T)Úcolumn_namesr—   r
   zFound wrong number (z) of indexes for ú(ra  z).r   rš   )r_   r`   rÑ   ra   rb   rc   r™   Ú_constraint_namesr  r   rG   rÎ   rf  r   r®   r¦   rq  r‘   r    r’   r…  )r!   r*   rf   rg   rh   ri   ÚcolumnsÚmatching_index_nameÚ	old_indexrr  rt  Ú	new_indexr2  s               @r   rj   zRenameIndex.database_forwards  sÈ  ø€ Ø”×'Ò'¨	°4´?ÑCÔCˆØ×'Ò'¨Ô(@Ô(FÈÑNÔNð 	ØˆFàŒ?ð 	JØ#œ×2Ò2°9¸d¼oÑNÔNˆJðð ð ð ØFJÄoðñ ô ˆGð #0×"AÒ"AØ¨¸ð #Bñ #ô #Ðõ Ð&Ñ'Ô'¨1Ò,Ð,Ý �jõ Ð/Ñ0Ô0Ð0Ð0Ø"Ô(Ô1Ð1Ð1ØŸ	š	 'Ñ*Ô*Ð*Ð*ð	ñô ð õ œØ”Ø(¨Ô+ðñ ô ˆIˆIð
  *Ô0°¸DÔ<QÐ1QÔRÐØ(×:Ò:¸4¼=ÑIÔIˆIàŒ>˜Tœ]Ò*Ð*ØˆFà!œ¨°DÔ4IÐ)IÔJˆØ"×4Ò4°T´]ÑCÔCˆ	Ø×"Ò" 5¨)°YÑ?Ô?Ð?Ð?Ð?r   c                 ó  — | j         rd S | j        | j        c| _        | _        | j        | j        c| _        | _        |                      ||||¦  «         | j        | j        c| _        | _        | j        | j        c| _        | _        d S r   )r™   r�   rÇ   r‘   r’   rj   râ   s        r   ro   zRenameIndex.database_backwards1  s•   € ØŒ?ð 	àˆFð ÔØÔð 	1ˆÔ˜TÔ0ð (,¤}°d´mÐ$ˆŒ�t”}à×Ò˜y¨-¸ÀXÑNÔNÐNð ÔØÔð 	1ˆÔ˜TÔ0ð (,¤}°d´mÐ$ˆŒ�t”}�}�}r   c                 óx   — | j         rd| j         › d| j        › d| j        › �S d| j        › d| j        › d| j        › �S )NzRename index r`  rå   zRename unnamed index for )r‘   rÑ   r’   r™   r%   s    r   ru   zRenameIndex.describeD  sg   € ØŒ=ð 	àW ¤ÐWÐW°4´?ÐWÐWÈÌÐWÐWðð¨¬ð ð ¸T¼_ð ð ØŒ}ðð ð	
r   c                 óŽ   — | j         rd| j        ›d| j        ›�S d| j        ›dd                     | j        ¦  «        ›d| j        ›�S rç   )r‘   r�   rÇ   r¦   rf  r™   r%   s    r   rx   z#RenameIndex.migration_name_fragmentN  sk   € àŒ=ð 	Oð 	OØ%)Ô%8Ð%8Ð%8¸$Ô:MÐ:MÐNÐNð	Oð Ô!Ð!Ð!Ø�HŠH�T”_Ñ%Ô%Ð%Ð%ØÔÐð
ð 	
r   c                 ó  •— t          |t          ¦  «        rO| j        |j        k    r?|j        r8| j        |j        k    r(t          | j        |j        | j        | j        ¬¦  «        gS t          ¦   «          
                    ||¦  «        S )N)r’   r‘   r™   )rJ   r­   r¦   r‘   rÇ   r�   rÑ   r’   r™   r-   r.   r0   s      €r   r.   zRenameIndex.reduceX  s�   ø€ å�y¥+Ñ.Ô.ð	àÔ%¨Ô)CÒCÐCØÔ"ð DàÔ# yÔ'?Ò?Ð?õ Ø”OØ&Ô/Ø!œ]Ø#œð	ñ ô ðð õ ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )NN)r4   r5   r6   r³   r"   r	   r�   rÇ   rT   r\   rj   ro   ru   rµ   rx   r.   r7   r8   s   @r   r­   r­   Õ  sõ   ø€ € € € € ØÐð%ð %ð %ð %ð ð%ð %ñ „_ð%ð ð%ð %ñ „_ð%ð	9ð 	9ð 	9ðð ð ð$#@ð #@ð #@ðJDð Dð Dð&
ð 
ð 
ð ð
ð 
ñ „Xð
ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   r­   c                   ó\   ‡ — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ ¦   «         Zˆ fd	„Zˆ xZS )
ÚAddConstraintÚconstraintsc                 ó"   — || _         || _        d S r   ©rÑ   Ú
constraint)r!   rÑ   r™  s      r   r"   zAddConstraint.__init__m  s   € Ø$ˆŒØ$ˆŒˆˆr   c                 óH   — |                      || j        | j        ¦  «         d S r   )Úadd_constraintr¦   r™  rZ   s      r   r\   zAddConstraint.state_forwardsq  s%   € Ø×Ò˜Y¨Ô(=¸t¼ÑOÔOÐOÐOÐOr   c                 óÀ   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     || j        ¦  «         d S d S r   )r_   r`   rÑ   ra   rb   rc   r›  r™  re   s         r   rj   zAddConstraint.database_forwardst  sd   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	AØ×(Ò(¨°´Ñ@Ô@Ð@Ð@Ð@ð	Að 	Ar   c                 óÀ   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     || j        ¦  «         d S d S r   )r_   r`   rÑ   ra   rb   rc   Úremove_constraintr™  re   s         r   ro   z AddConstraint.database_backwardsy  sd   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	DØ×+Ò+¨E°4´?ÑCÔCÐCÐCÐCð	Dð 	Dr   c                 ó:   — | j         j        g | j        | j        dœfS )Nr˜  )r2   r4   rÑ   r™  r%   s    r   rT   zAddConstraint.deconstruct~  s+   € àŒNÔ#Øà"œoØ"œoðð ð
ð 	
r   c                 ó0   — d| j         j        ›d| j        ›�S )NzCreate constraint rd  )r™  r    rÑ   r%   s    r   ru   zAddConstraint.describeˆ  s#   € € àŒOÔ Ð Ð ØŒOˆOð
ð 	
r   c                 óR   — | j         ›d| j        j                             ¦   «         ›�S rh  )r¦   r™  r    r$   r%   s    r   rx   z%AddConstraint.migration_name_fragmentŽ  s*   € àÔ/Ð/Ð/°´Ô1E×1KÒ1KÑ1MÔ1MÐ1MÐNÐNr   c                 óÀ   •— t          |t          ¦  «        r'| j        |j        k    r| j        j        |j        k    rg S t          ¦   «                              ||¦  «        S r   )rJ   ÚRemoveConstraintr¦   r™  r    r-   r.   r0   s      €r   r.   zAddConstraint.reduce’  sV   ø€ å�yÕ"2Ñ3Ô3ð	àÔ%¨Ô)CÒCÐCØ”Ô$¨	¬Ò6Ð6àˆIÝ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )r4   r5   r6   r£   r"   r\   rj   ro   rT   ru   rµ   rx   r.   r7   r8   s   @r   r•  r•  j  s¾   ø€ € € € € Ø€Kð%ð %ð %ðPð Pð PðAð Að Að
Dð Dð Dð

ð 
ð 
ð
ð 
ð 
ð ðOð Oñ „XðOð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   r•  c                   óL   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ ¦   «         Zd	S )
r£  r–  c                 ó"   — || _         || _        d S r   rl  rm  s      r   r"   zRemoveConstraint.__init__Ÿ  rn  r   c                 óH   — |                      || j        | j        ¦  «         d S r   )rž  r¦   r    rZ   s      r   r\   zRemoveConstraint.state_forwards£  s%   € Ø×Ò 	¨4Ô+@À$Ä)ÑLÔLÐLÐLÐLr   c                 ó  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rF|j        || j        f         }|                     | j	        ¦  «        }| 
                    ||¦  «         d S d S r   )r_   r`   rÑ   ra   rb   rc   r   r¦   Úget_constraint_by_namer    rž  )r!   r*   rf   rg   rh   ri   rr  r™  s           r   rj   z"RemoveConstraint.database_forwards¦  sŠ   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	?Ø)Ô0°¸DÔ<QÐ1QÔRÐØ)×@Ò@ÀÄÑKÔKˆJØ×+Ò+¨E°:Ñ>Ô>Ð>Ð>Ð>ð	?ð 	?r   c                 ó  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rF|j        || j        f         }|                     | j	        ¦  «        }| 
                    ||¦  «         d S d S r   )r_   r`   rÑ   ra   rb   rc   r   r¦   r¨  r    r›  )r!   r*   rf   rg   rh   ri   rt  r™  s           r   ro   z#RemoveConstraint.database_backwards­  sˆ   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	<Ø%œ_¨Y¸Ô8MÐ-MÔNˆNØ'×>Ò>¸t¼yÑIÔIˆJØ×(Ò(¨°
Ñ;Ô;Ð;Ð;Ð;ð	<ð 	<r   c                 ó:   — | j         j        g | j        | j        dœfS rv  )r2   r4   rÑ   r    r%   s    r   rT   zRemoveConstraint.deconstruct´  s+   € àŒNÔ#Øà"œoØœ	ðð ð
ð 	
r   c                 ó&   — d| j         ›d| j        ›�S )NzRemove constraint z from model rx  r%   s    r   ru   zRemoveConstraint.describe¾  s   € € Ø7;´y°y°yÀ$Ä/À/ÐRÐRr   c                 óJ   — d| j         ›d| j                             ¦   «         ›�S rz  r|  r%   s    r   rx   z(RemoveConstraint.migration_name_fragmentÁ  r}  r   N)r4   r5   r6   r£   r"   r\   rj   ro   rT   ru   rµ   rx   r@   r   r   r£  r£  œ  s™   € € € € € Ø€Kðð ð ðMð Mð Mð?ð ?ð ?ð<ð <ð <ð
ð 
ð 
ðSð Sð Sð ðKð Kñ „XðKð Kð Kr   r£  N)'Ú	django.dbr   Ú$django.db.migrations.operations.baser   Údjango.db.migrations.stater   Údjango.db.migrations.utilsr   r   Údjango.db.models.optionsr   Údjango.utils.functionalr	   r;   r   r   r   r   r   r   r   r:   r›   rœ   rë   rî   rü   r¢   r  r$  r¥   rž   r¡   rª   r«   r¬   r­   r•  r£  r@   r   r   ú<module>r³     s6  ðØ Ð Ð Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rðð ð ðDð Dð Dð Dð D�Yñ Dô Dð Dð(J4ð J4ð J4ð J4ð J4�.ñ J4ô J4ð J4ðZ
 -ð  -ð  -ð  -ð  -�.ñ  -ô  -ð  -ðFtFð tFð tFð tFð tF�.ñ tFô tFð tFðn4ð 4ð 4ð 4ð 4˜>ñ 4ô 4ð 4ð02ð 02ð 02ð 02ð 02Ð*ñ 02ô 02ð 02ðf#8ð #8ð #8ð #8ð #8Ð1ñ #8ô #8ð #8ðL>
ð >
ð >
ð >
ð >
Ð#7ñ >
ô >
ð >
ðB	0ð 	0ð 	0ð 	0ð 	0Ð6ñ 	0ô 	0ð 	0ð	/ð 	/ð 	/ð 	/ð 	/Ð5ñ 	/ô 	/ð 	/ðABð ABð ABð ABð ABÐ2ñ ABô ABð ABðH44ð 44ð 44ð 44ð 44Ð,ñ 44ô 44ð 44ðn5ð 5ð 5ð 5ð 5Ð-ñ 5ô 5ð 5ð:'ð 'ð 'ð 'ð '�Yñ 'ô 'ð 'ð;4ð ;4ð ;4ð ;4ð ;4ˆ~ñ ;4ô ;4ð ;4ð|(Kð (Kð (Kð (Kð (K�.ñ (Kô (Kð (KðVR4ð R4ð R4ð R4ð R4�.ñ R4ô R4ð R4ðj/4ð /4ð /4ð /4ð /4�Nñ /4ô /4ð /4ðd'Kð 'Kð 'Kð 'Kð 'K�~ñ 'Kô 'Kð 'Kð 'Kð 'Kr   