Ë
    ¦#ijM³  ã                   óF  — 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	m
Z
 d dl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 d0„ d1e%«      Z* G d2„ d3e%«      Z+y4)5é    )Úcopy)Úmodels)Ú	OperationÚOperationCategory)Ú
ModelState)Úfield_referencesÚresolve_relation)Únormalize_together)Úreplace)Úcached_propertyé   )ÚAddFieldÚ
AlterFieldÚFieldOperationÚRemoveFieldÚRenameFieldc                 ót   — t        «       }|D ])  }||v rt        d|›d| ›d�«      ‚|j                  |«       Œ+ y )NzFound duplicate value z in CreateModel z
 argument.)ÚsetÚ
ValueErrorÚadd)Úarg_nameÚobjsÚ	used_valsÚvals       ú`/var/www/html/office/venv/lib/python3.12/site-packages/django/db/migrations/operations/models.pyÚ_check_for_duplicatesr      sC   € Ü“€IØò ˆØ�)ÑÝÚJMÊxÐXóð ð 	�‰�cÕñó    c                   ó@   ‡ — e Zd Zd„ Zed„ «       Zd„ Zˆ fd„Zd„ Zˆ xZ	S )ÚModelOperationc                 ó   — || _         y ©N©Úname)Úselfr#   s     r   Ú__init__zModelOperation.__init__   s	   € Øˆ�	r   c                 ó6   — | j                   j                  «       S r!   )r#   Úlower©r$   s    r   Ú
name_lowerzModelOperation.name_lower   s   € à�y‰y�‰Ó Ð r   c                 ó<   — |j                  «       | j                  k(  S r!   )r'   r)   ©r$   r#   Ú	app_labels      r   Úreferences_modelzModelOperation.references_model    s   € Ø�z‰z‹|˜tŸ™Ñ.Ð.r   c                 óL   •— t         ‰| �  ||«      xs | j                  ||«      S r!   )ÚsuperÚreduceÚcan_reduce_through©r$   Ú	operationr,   Ú	__class__s      €r   r0   zModelOperation.reduce#   s-   ø€ Ü‰w‰~˜i¨Ó3ò 
°t×7NÑ7NØ�yó8
ð 	
r   c                 ó<   — |j                  | j                  |«       S r!   )r-   r#   )r$   r3   r,   s      r   r1   z!ModelOperation.can_reduce_through(   s   € Ø×-Ñ-¨d¯i©i¸ÓCÐCÐCr   )
Ú__name__Ú
__module__Ú__qualname__r%   r   r)   r-   r0   r1   Ú__classcell__©r4   s   @r   r   r      s,   ø„ òð ñ!ó ð!ò/ô
ö
Dr   r   c                   ó‚   ‡ — e Zd ZdZej
                  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Úmanagersc                 ó@  •— || _         |xs i | _        |xs t        j                  f| _        |xs g | _        t        ‰| �  |«       t        dd„ | j                   D «       «       t        dd„ | j                  D «       «       t        dd„ | j
                  D «       «       y )Nr=   c              3   ó&   K  — | ]	  \  }}|–— Œ y ­wr!   © ©Ú.0r#   Ú_s      r   ú	<genexpr>z'CreateModel.__init__.<locals>.<genexpr>:   s   è ø€ Ò(I±'°$¸¬Ñ(Iùó   ‚Úbasesc              3   ó¤   K  — | ]H  }t        |d «      r|j                  j                  n!t        |t        «      r|j                  «       n|–— ŒJ y­w)Ú_metaN)ÚhasattrrJ   Úlabel_lowerÚ
isinstanceÚstrr'   )rD   Úbases     r   rF   z'CreateModel.__init__.<locals>.<genexpr>=   sJ   è ø€ ò ð ô ˜t WÔ-ð —J‘J×*Ò*ä)3°D¼#Ô)>˜Ÿ™œÀDóIñùs   ‚AAr?   c              3   ó&   K  — | ]	  \  }}|–— Œ y ­wr!   rB   rC   s      r   rF   z'CreateModel.__init__.<locals>.<genexpr>F   s   è ø€ Ò*M±G°D¸!¬4Ñ*MùrG   )	r=   r>   r   ÚModelrH   r?   r/   r%   r   )r$   r#   r=   r>   rH   r?   r4   s         €r   r%   zCreateModel.__init__2   s‰   ø€ ØˆŒØ’} "ˆŒØÒ-œvŸ|™|˜oˆŒ
Ø š BˆŒÜ‰Ñ˜Ôô 	˜hÑ(I¸T¿[¹[Ô(IÔJÜØñð !ŸJ™Jôô
	
ô 	˜jÑ*M¸t¿}¹}Ô*MÕNr   c                 óŒ  — | j                   | j                  dœ}| j                  r| j                  |d<   | j                  r-| j                  t        j
                  fk7  r| j                  |d<   | j                  r3| j                  dt	        j                  «       fgk7  r| j                  |d<   | j                  j                  g |fS )N)r#   r=   r>   rH   Úobjectsr?   )
r#   r=   r>   rH   r   rQ   r?   ÚManagerr4   r8   ©r$   Úkwargss     r   ÚdeconstructzCreateModel.deconstructH   s™   € à—I‘IØ—k‘kñ
ˆð �<Š<Ø $§¡ˆF�9ÑØ�:Š:˜$Ÿ*™*¬¯©¨Ò7Ø"Ÿj™jˆF�7‰OØ�=Š=˜TŸ]™]°	¼6¿>¹>Ó;KÐ/LÐ.MÒMØ!%§¡ˆF�:ÑØ—‘×+Ñ+¨R°Ð8Ð8r   c                 óî   — |j                  t        || j                  t        | j                  «      t        | j                  «      t        | j                  «      t        | j                  «      «      «       y r!   )
Ú	add_modelr   r#   Úlistr=   Údictr>   ÚtuplerH   r?   ©r$   r,   Ústates      r   Ústate_forwardszCreateModel.state_forwardsU   sP   € Ø�‰ÜØØ—	‘	Ü�T—[‘[Ó!Ü�T—\‘\Ó"Ü�d—j‘jÓ!Ü�T—]‘]Ó#óõ		
r   c                 óh  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      rf|j                  |«       |j                  || j                  f   }|j                  j                  d«      x}r|j                  |t        «       |«       y y y )NÚindex_together)ÚappsÚ	get_modelr#   Úallow_migrate_modelÚ
connectionÚaliasÚcreate_modelr   r)   r>   ÚgetÚalter_index_togetherr   )r$   r,   Úschema_editorÚ
from_stateÚto_stateÚmodelÚto_model_statera   s           r   Údatabase_forwardszCreateModel.database_forwardsa   s¡   € Ø—‘×'Ñ'¨	°4·9±9Ó=ˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×&Ñ& uÔ-ð
 &Ÿ_™_¨Y¸¿¹Ð-GÑHˆNØ!/×!7Ñ!7×!;Ñ!;Ð<LÓ!MÐMˆ~ÐMØ×2Ñ2ØÜ“EØ"õð Nð Kr   c                 óÀ   — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r|j                  |«       y y r!   ©rb   rc   r#   rd   re   rf   Údelete_model©r$   r,   rj   rk   rl   rm   s         r   Údatabase_backwardszCreateModel.database_backwardsq   óL   € Ø—‘×)Ñ)¨)°T·Y±YÓ?ˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×&Ñ& uÕ-ð Kr   c                 ób   — d| j                   j                  dd«      rdnd›d| j                  ›�S )NzCreate ÚproxyFzproxy Ú zmodel )r>   rh   r#   r(   s    r   ÚdescribezCreateModel.describev   s.   � àŸ™×(Ñ(¨°%Ô8‰H¸bÑ@Ø�IŠIð
ð 	
r   c                 ó   — | j                   S r!   ©r)   r(   s    r   Úmigration_name_fragmentz#CreateModel.migration_name_fragment|   s   € à�‰Ðr   c                 ój  — |j                  «       }|| j                  k(  ry||f}| j                  D ]Q  }|t        j                  usŒt        |t        j                  j                  t        f«      sŒAt        ||«      |k(  sŒQ y | j                  D ]   \  }}t        || j                  f||«      sŒ  y y)NTF)r'   r)   rH   r   rQ   rM   rO   Ú	ModelBaserN   r	   r=   r   )r$   r#   r,   r)   Úreference_model_tuplerO   Ú_nameÚfields           r   r-   zCreateModel.references_model€   s°   € Ø—Z‘Z“\ˆ
Ø˜Ÿ™Ò(Øð "+¨JÐ 7ÐØ—J‘Jò 	ˆDàœFŸL™LÒ(Ü˜t¤f§k¡k×&;Ñ&;¼SÐ%AÕBÜ$ T¨9Ó5Ð9NÓNáð	ð !ŸK™Kò 	‰LˆE�5ÜØ˜DŸO™OÐ,¨eÐ5Jõñ ð		ð
 r   c           
      ó  •‡— t        ‰t        «      r7| j                  ‰j                  k(  r| j                  j	                  dd«      sg S t        ‰t
        «      r1| j                  ‰j                  k(  rt        | ‰j                  ¬«      gS t        ‰t        «      rs| j                  ‰j                  k(  rZi | j                  ¥‰j                  ¥}‰j                  D ]#  }|‰j                  vsŒ|j                  |d «       Œ% t        | |¬«      gS t        ‰t        «      r1| j                  ‰j                  k(  rt        | ‰j                  ¬«      gS t        ‰t        «      rA| j                  ‰j                  k(  r(t        | i | j                  ¥d‰j                  i¥¬«      gS t        ‰t         «      rA| j                  ‰j                  k(  r(t        | i | j                  ¥d‰j"                  i¥¬«      gS t        ‰t$        «      rK| j                  ‰j                  k(  r2t        | i | j                  ¥‰j&                  ‰j(                  i¥¬«      gS t        ‰t*        «      rA| j                  ‰j                  k(  r(t        | i | j                  ¥d‰j,                  i¥¬«      gS t        ‰t.        «      �ru| j                  ‰j0                  k(  �r[t        ‰t2        «      r2t        | g | j4                  ¢‰j6                  ‰j8                  f‘¬	«      gS t        ‰t:        «      rHt        | | j4                  D ��cg c]$  \  }}||‰j6                  k(  r‰j8                  n|f‘Œ& c}}¬	«      gS t        ‰t<        «      rÎ| j                  j?                  «       }d
D ]A  }|j                  |d «      }|sŒtA        tC        tD        ˆfd„|D «       «      «      }|sŒ=|||<   ŒC |j	                  d«      }	|	‰j                  k(  r|d= t        | | j4                  D ��cg c]&  \  }}|jG                  «       ‰j                  k7  r||f‘Œ( c}}|¬«      gS t        ‰tH        «      �r| j                  j?                  «       }d
D ];  }|j	                  |«      }|sŒ|D �
ch c]  }
tK        ˆfd„|
D «       «      ’Œ c}
||<   Œ= |j	                  d«      }	|	‰jL                  k(  r‰j                  |d<   t        | | j4                  D ��cg c]$  \  }}|‰jL                  k(  r‰j                  n||f‘Œ& c}}|¬«      gS t        ‰tN        «      �r%| j                  ‰j0                  k(  �rt        ‰tP        «      rFt        | i | j                  ¥dg | j                  j	                  dg «      ¢‰jR                  ‘i¥¬«      gS t        ‰tT        «      r`| j                  j	                  dg «      D �cg c]  }|j6                  ‰j6                  k7  r|‘Œ }}t        | i | j                  ¥d|i¥¬«      gS t        ‰tV        «      rFt        | i | j                  ¥dg | j                  j	                  dg «      ¢‰jX                  ‘i¥¬«      gS t        ‰tZ        «      ro| j                  j	                  dg «      D �cg c]  }|j6                  ‰j6                  k7  r|‘Œ c}‰jX                  gz   }t        | i | j                  ¥d|i¥¬«      gS t        ‰t\        «      r`| j                  j	                  dg «      D �cg c]  }|j6                  ‰j6                  k7  r|‘Œ }}t        | i | j                  ¥d|i¥¬«      gS t^        ‰| �Á  ‰|«      S c c}}w c c}}w c c}
w c c}}w c c}w c c}w c c}w )Nrw   Fr"   )r>   )r?   Údb_tableÚdb_table_commentÚorder_with_respect_to)r=   )Úunique_togetherra   c              3   óF   •K  — | ]  }t        ˆfd „|D «       «      –— Œ y­w)c              3   óB   •K  — | ]  }|‰j                   k7  sŒ|–— Œ y ­wr!   r{   ©rD   Úfr3   s     €r   rF   z/CreateModel.reduce.<locals>.<genexpr>.<genexpr>   s#   øè ø€ ò *&Ø./¸QÀ)×BVÑBVÓ=V¬ñ*&ùs   ƒ˜N)r\   )rD   r=   r3   s     €r   rF   z%CreateModel.reduce.<locals>.<genexpr>ÿ   s-   øè ø€ ò !"ð )/ô %*ó *&Ø39ô*&÷ %&ñ!"ùs   ƒ!)r=   r>   c              3   óX   •K  — | ]!  }|‰j                   k(  r‰j                  n|–— Œ# y ­wr!   ©Úold_nameÚnew_namer‰   s     €r   rF   z%CreateModel.reduce.<locals>.<genexpr>  s2   øè ø€ ò "à$%ð 78¸9×;MÑ;MÒ6M 	× 2Ò 2ÐSTÓ Tñ"ùs   ƒ'*ÚindexesÚconstraints)1rM   ÚDeleteModelr)   r>   rh   ÚRenameModelÚold_name_lowerr   rŽ   ÚAlterModelOptionsÚALTER_OPTION_KEYSÚpopÚAlterModelManagersr?   ÚAlterModelTableÚtableÚAlterModelTableCommentÚtable_commentÚAlterTogetherOptionOperationÚoption_nameÚoption_valueÚAlterOrderWithRespectTor…   r   Úmodel_name_lowerr   r=   r#   r�   r   r   r   r   ÚfilterÚboolr'   r   r\   r�   ÚIndexOperationÚAddIndexÚindexÚRemoveIndexÚAddConstraintÚ
constraintÚAlterConstraintÚRemoveConstraintr/   r0   )r$   r3   r,   r>   ÚkeyÚnÚvr�   Úoptionr…   r=   r¥   Úoptions_indexesr¨   Úoptions_constraintsr4   s    `             €r   r0   zCreateModel.reduce—   s°  ù€ ä�y¤+Ô.Ø—‘ 9×#7Ñ#7Ò7Ø—L‘L×$Ñ$ W¨eÔ4àˆIä�y¤+Ô.Ø—‘ 9×#;Ñ#;Ò;ä˜D y×'9Ñ'9Ô:Ð;Ð;ä�yÔ"3Ô4Ø—‘ 9×#7Ñ#7Ò7à;˜Ÿ™Ð;¨×):Ñ):Ð;ˆGØ ×2Ñ2ò +�Ø˜i×/Ñ/Ò/Ø—K‘K  TÕ*ð+ô ˜D¨'Ô2Ð3Ð3ä�yÔ"4Ô5Ø—‘ 9×#7Ñ#7Ò7ä˜D¨9×+=Ñ+=Ô>Ð?Ð?ä�y¤/Ô2Ø—‘ 9×#7Ñ#7Ò7ô ØØI˜tŸ|™|ÐI¨Z¸¿¹ÑIôðð ô �yÔ"8Ô9Ø—‘ 9×#7Ñ#7Ò7ô ØðØŸ,™,ðà*¨I×,CÑ,Cñôðð ô �yÔ">Ô?Ø—‘ 9×#7Ñ#7Ò7ô ØðØŸ,™,ðà$×0Ñ0°)×2HÑ2HÐIðôðð ô �yÔ"9Ô:Ø—‘ 9×#7Ñ#7Ò7ô ØðØŸ,™,ðà/°×1PÑ1Pñôðð ô �y¤.Õ1Ø—‘ 9×#=Ñ#=Ó=ä˜)¤XÔ.äØØP §¡ÐP¨y¯~©~¸y¿¹Ð.OÐPôðð ô ˜I¤zÔ2äØð )-¯©÷ á $  1ð °1¸	¿¹Ò3F 	§¢ÈAÒNó ôðð ô ˜I¤{Ô3ØŸ,™,×+Ñ+Ó-�Ø#Hò :�KØ$Ÿ[™[¨°dÓ;�FÚÜ!$Ü"Ü $ó!"ð 39ô	!"óó
"˜ò "Ø39˜G KÒ0ð:ð  )0¯©Ð4KÓ(LÐ%Ø(¨I×,@Ñ,@Ò@ØÐ 7Ð8äØð )-¯©÷ á $  1Ø Ÿw™w›y¨I×,@Ñ,@Ò@ð  šFó ð
 !(ôð
ð 
ô ˜I¤{Õ3ØŸ,™,×+Ñ+Ó-�Ø#Hò 	�KØ$Ÿ[™[¨Ó5�FÚð +1ö0ð
 !'ô	 "ó "à)/ô"õ ò0˜ Ò,ð	ð )0¯©Ð4KÓ(LÐ%Ø(¨I×,>Ñ,>Ò>Ø7@×7IÑ7I�GÐ3Ñ4äØð )-¯©÷ á $  1ð 45¸	×8JÑ8JÒ3J˜Y×/Ò/ÐPQÐSTÒUó ð !(ôð	ð 	ô �y¤.Õ1Ø—‘ 9×#=Ñ#=Ó=ä˜)¤XÔ.äØð!Ø"Ÿl™lð!à%ð (Ø!%§¡×!1Ñ!1°)¸RÓ!@ð(à )§¡ð(ñ!ô	ðð ô ˜I¤{Ô3ð "&§¡×!1Ñ!1°)¸RÓ!@ö#àØ—z‘z Y§^¡^Ò3ò ð#�ð #ô Øð!Ø"Ÿl™lð!à% ñ!ôðð ô ˜I¤}Ô5äØð!Ø"Ÿl™lð!à)ð ,Ø!%§¡×!1Ñ!1°-ÀÓ!Dð,à )× 4Ñ 4ð,ñ!ô	ðð ô ˜I¤Ô7ð '+§l¡l×&6Ñ&6°}ÀbÓ&Iö'à"Ø!—‘¨)¯.©.Ò8ò ò'ð ×)Ñ)Ð*ñ	'+Ð#ô Øð!Ø"Ÿl™lð!à)Ð+>ñ!ôðð ô ˜IÔ'7Ô8ð '+§l¡l×&6Ñ&6°}ÀbÓ&Iö'à"Ø!—‘¨)¯.©.Ò8ò ð'Ð#ð 'ô Øð!Ø"Ÿl™lð!à)Ð+>ñ!ôðð ô ‰w‰~˜i¨Ó3Ð3ùóU ùó< ùò0ùó ùò2#ùò8'ùò's*   Ì/)])Ð
+]/Ò]5Ó/)]:×"^ Ú"^Ü"^
)NNN)r6   r7   r8   Ú__doc__r   ÚADDITIONÚcategoryÚserialization_expand_argsr%   rW   r_   ro   rt   ry   Úpropertyr|   r-   r0   r9   r:   s   @r   r<   r<   ,   s[   ø„ Ù!à ×)Ñ)€HÚ AÐõOò,9ò

òò .ò

ð ñó ðò÷.d4ð d4r   r<   c                   ó\   — e Zd ZdZej
                  Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ «       Zy	)
r‘   zDrop a model's table.c                 óP   — d| j                   i}| j                  j                  g |fS ©Nr#   )r#   r4   r8   rU   s     r   rW   zDeleteModel.deconstructƒ  s+   € à�D—I‘Ið
ˆð —‘×+Ñ+¨R°Ð8Ð8r   c                 ó<   — |j                  || j                  «       y r!   )Úremove_modelr)   r]   s      r   r_   zDeleteModel.state_forwards‰  s   € Ø×Ñ˜9 d§o¡oÕ6r   c                 óÀ   — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r|j                  |«       y y r!   rq   rs   s         r   ro   zDeleteModel.database_forwardsŒ  ru   r   c                 óÀ   — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r|j                  |«       y y r!   )rb   rc   r#   rd   re   rf   rg   rs   s         r   rt   zDeleteModel.database_backwards‘  sL   € Ø—‘×'Ñ'¨	°4·9±9Ó=ˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×&Ñ& uÕ-ð Kr   c                  ó   — y)NTrB   r+   s      r   r-   zDeleteModel.references_model–  s   € ð r   c                 ó    — d| j                   z  S )NzDelete model %sr"   r(   s    r   ry   zDeleteModel.describe›  s   € Ø  4§9¡9Ñ,Ð,r   c                 ó    — d| j                   z  S )Nz	delete_%sr{   r(   s    r   r|   z#DeleteModel.migration_name_fragmentž  s   € à˜TŸ_™_Ñ,Ð,r   N)r6   r7   r8   r±   r   ÚREMOVALr³   rW   r_   ro   rt   r-   ry   rµ   r|   rB   r   r   r‘   r‘   ~  sB   „ Ùà ×(Ñ(€Hò9ò7ò.ò
.ò
ò
-ð ñ-ó ñ-r   r‘   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d
„ Zed„ «       Zˆ fd„Zˆ xZS )r’   zRename a model.c                 ó@   •— || _         || _        t        ‰| �  |«       y r!   )r�   rŽ   r/   r%   )r$   r�   rŽ   r4   s      €r   r%   zRenameModel.__init__¨  s   ø€ Ø ˆŒØ ˆŒÜ‰Ñ˜Õ"r   c                 ó6   — | j                   j                  «       S r!   ©r�   r'   r(   s    r   r“   zRenameModel.old_name_lower­  ó   € à�}‰}×"Ñ"Ó$Ð$r   c                 ó6   — | j                   j                  «       S r!   ©rŽ   r'   r(   s    r   Únew_name_lowerzRenameModel.new_name_lower±  rÅ   r   c                 óf   — | j                   | j                  dœ}| j                  j                  g |fS )NrŒ   )r�   rŽ   r4   r8   rU   s     r   rW   zRenameModel.deconstructµ  s0   € àŸ™ØŸ™ñ
ˆð —‘×+Ñ+¨R°Ð8Ð8r   c                 óR   — |j                  || j                  | j                  «       y r!   )Úrename_modelr�   rŽ   r]   s      r   r_   zRenameModel.state_forwards¼  s   € Ø×Ñ˜9 d§m¡m°T·]±]ÕCr   c                 ó~  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      �rð|j                   j                  || j                  «      }|j                  ||j                  j                  |j                  j                  «       |j                  j                  D ]Þ  }|j                  |k(  r|}|| j                  f}	nY|j                  j                  j                  |j                  j                  j                  f}	 |j                   j                  |	Ž } |j                   j                  |	Ž j                  j                  |j                   j"                  «      }
|j%                  ||j                   |
«       Œà t'        |j                  j(                  |j                  j(                  «      }|D ]^  \  }}|j*                  |j                  k(  s*|j,                  j.                  j                  j0                  sŒJ|j3                  |||d¬«       Œ` y y )NF)Ústrict)rb   rc   rŽ   rd   re   rf   r�   Úalter_db_tablerJ   rƒ   Úrelated_objectsÚrelated_modelrÈ   r,   Ú
model_nameÚ	get_fieldr�   r#   Úalter_fieldÚzipÚlocal_many_to_manyrm   Úremote_fieldÚthroughÚauto_createdÚ_alter_many_to_many)r$   r,   rj   rk   rl   Ú	new_modelÚ	old_modelÚrelated_objectrm   Úrelated_keyÚto_fieldr=   Ú	old_fieldÚ	new_fields                 r   ro   zRenameModel.database_forwards¿  sí  € Ø—M‘M×+Ñ+¨I°t·}±}ÓEˆ	Ø×#Ñ# M×$<Ñ$<×$BÑ$BÀIÕNØ"Ÿ™×1Ñ1°)¸T¿]¹]ÓKˆIà×(Ñ(ØØ—‘×(Ñ(Ø—‘×(Ñ(ôð #,§/¡/×"AÑ"Aò �Ø!×/Ñ/°9Ò<Ø%�EØ#,¨d×.AÑ.AÐ"B‘Kð '×4Ñ4×:Ñ:×DÑDØ&×4Ñ4×:Ñ:×EÑEð#�Kð 4˜HŸM™M×3Ñ3°[ÐA�EØ2˜8Ÿ=™=×2Ñ2°KÐ@×FÑF×PÑPØ"×(Ñ(×-Ñ-ó�ð ×)Ñ)ØØ"×(Ñ(Øõðô& Ø—‘×2Ñ2°I·O±O×4VÑ4VóˆFð )/ò Ñ$�	˜9ð —O‘O y×'>Ñ'>Ò>Ø$×1Ñ1×9Ñ9×?Ñ?×LÒLàà×1Ñ1ØØØØ ð	 2õ ñð? Or   c                 óD  — | j                   | j                  c| _        | _         | j                  | j                  c| _        | _        | j	                  ||||«       | j                   | j                  c| _        | _         | j                  | j                  c| _        | _        y r!   )r“   rÈ   r�   rŽ   ro   ©r$   r,   rj   rk   rl   s        r   rt   zRenameModel.database_backwardsï  sŽ   € à×ÑØ×Ñð 	1ˆÔ˜TÔ0ð (,§}¡}°d·m±mÐ$ˆŒ�t”}à×Ñ˜y¨-¸ÀXÔNð ×ÑØ×Ñð 	1ˆÔ˜TÔ0ð (,§}¡}°d·m±mÐ$ˆŒ�t•}r   c                 óz   — |j                  «       | j                  k(  xs |j                  «       | j                  k(  S r!   )r'   r“   rÈ   r+   s      r   r-   zRenameModel.references_modelþ  s1   € à�J‰J‹L˜D×/Ñ/Ñ/ÒV°4·:±:³<À4×CVÑCVÑ3Vð	
r   c                 ó:   — d| j                   ›d| j                  ›�S )NzRename model ú to rŒ   r(   s    r   ry   zRenameModel.describe  s   � Ø*.¯-«-¸¿ºÐGÐGr   c                 ó:   — d| j                   ›d| j                  ›�S ©NÚrename_rE   )r“   rÈ   r(   s    r   r|   z#RenameModel.migration_name_fragment  s   � à!%×!4Ó!4°d×6IÒ6IÐJÐJr   c                 óì   •— t        |t        «      r1| j                  |j                  k(  rt	        | |j
                  ¬«      gS t        t        | �#  ||«      xs |j                  | j
                  |«       S ©N)rŽ   )
rM   r’   rÈ   r“   r   rŽ   r/   r   r0   r-   r2   s      €r   r0   zRenameModel.reduce
  sp   ø€ ä�y¤+Ô.Ø×#Ñ# y×'?Ñ'?Ò?ä˜D¨9×+=Ñ+=Ô>Ð?Ð?ô ”^ TÑ1Ø�yó
ò Fà×+Ñ+¨D¯M©M¸9ÓEÐEð	Fr   )r6   r7   r8   r±   r   Ú
ALTERATIONr³   r%   r   r“   rÈ   rW   r_   ro   rt   r-   ry   rµ   r|   r0   r9   r:   s   @r   r’   r’   £  s‚   ø„ Ùà ×+Ñ+€Hô#ð
 ñ%ó ð%ð ñ%ó ð%ò9òDò.ò`Dò
ò
Hð ñKó ðK÷
Fð 
Fr   r’   c                   ó6   ‡ — e Zd Zej                  Zˆ fd„Zˆ xZS )ÚModelOptionOperationc                 ó”   •— t        || j                  t        f«      r| j                  |j                  k(  r|gS t        ‰| �  ||«      S r!   )rM   r4   r‘   r)   r/   r0   r2   s      €r   r0   zModelOptionOperation.reduce  sA   ø€ ä�y 4§>¡>´;Ð"?Ô@Ø—‘ 9×#7Ñ#7Ò7à�;ÐÜ‰w‰~˜i¨Ó3Ð3r   )r6   r7   r8   r   rë   r³   r0   r9   r:   s   @r   rí   rí     s   ø„ Ø ×+Ñ+€H÷4ð 4r   rí   c                   óP   ‡ — 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 )	r˜   zRename a model's table.c                 ó2   •— || _         t        ‰| �	  |«       y r!   )r™   r/   r%   )r$   r#   r™   r4   s      €r   r%   zAlterModelTable.__init__&  s   ø€ ØˆŒ
Ü‰Ñ˜Õr   c                 óf   — | j                   | j                  dœ}| j                  j                  g |fS )N©r#   r™   )r#   r™   r4   r8   rU   s     r   rW   zAlterModelTable.deconstruct*  s0   € à—I‘IØ—Z‘Zñ
ˆð —‘×+Ñ+¨R°Ð8Ð8r   c                 óV   — |j                  || j                  d| j                  i«       y )Nrƒ   )Úalter_model_optionsr)   r™   r]   s      r   r_   zAlterModelTable.state_forwards1  s!   € Ø×!Ñ! )¨T¯_©_¸zÈ4Ï:É:Ð>VÕWr   c                 ó  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      �r@|j                   j                  || j                  «      }|j                  ||j                  j                  |j                  j                  «       t        |j                  j                  |j                  j                  «      D ]§  \  }}|j                  j                  j                  j                  sŒ1|j                  |j                  j                  |j                  j                  j                  j                  |j                  j                  j                  j                  «       Œ© y y r!   )rb   rc   r#   rd   re   rf   rÎ   rJ   rƒ   rÔ   rÕ   rÖ   r×   rØ   )	r$   r,   rj   rk   rl   rÚ   rÛ   rß   rà   s	            r   ro   z!AlterModelTable.database_forwards4  s'  € Ø—M‘M×+Ñ+¨I°t·y±yÓAˆ	Ø×#Ñ# M×$<Ñ$<×$BÑ$BÀIÕNØ"Ÿ™×1Ñ1°)¸T¿Y¹YÓGˆIØ×(Ñ(ØØ—‘×(Ñ(Ø—‘×(Ñ(ôô ),Ø—‘×2Ñ2°I·O±O×4VÑ4Vó)ò Ñ$�	˜9ð ×)Ñ)×1Ñ1×7Ñ7×DÓDØ!×0Ñ0Ø!×.Ñ.×6Ñ6Ø!×.Ñ.×6Ñ6×<Ñ<×EÑEØ!×.Ñ.×6Ñ6×<Ñ<×EÑEõñ	ð Or   c                 ó*   — | j                  ||||«      S r!   ©ro   râ   s        r   rt   z"AlterModelTable.database_backwardsH  ó   € Ø×%Ñ% i°À
ÈHÓUÐUr   c                 óZ   — d| j                   ›d| j                  �| j                  ›�S d›�S )NzRename table for rå   z	(default)rò   r(   s    r   ry   zAlterModelTable.describeK  s6   � à�I‹IØŸ*™*Ð0ˆD�J‰JÐAð
ð 	
à6AÐAð
ð 	
r   c                 ó    — d| j                   z  S )Nzalter_%s_tabler{   r(   s    r   r|   z'AlterModelTable.migration_name_fragmentQ  s   € à $§/¡/Ñ1Ð1r   )r6   r7   r8   r±   r%   rW   r_   ro   rt   ry   rµ   r|   r9   r:   s   @r   r˜   r˜   #  s:   ø„ Ù!ôò9òXòò(Vò
ð ñ2ó ô2r   r˜   c                   óL   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Ze	d„ «       Z
ˆ xZS )rš   c                 ó2   •— || _         t        ‰| �	  |«       y r!   )r›   r/   r%   )r$   r#   r›   r4   s      €r   r%   zAlterModelTableComment.__init__W  s   ø€ Ø*ˆÔÜ‰Ñ˜Õr   c                 óf   — | j                   | j                  dœ}| j                  j                  g |fS )N)r#   r›   )r#   r›   r4   r8   rU   s     r   rW   z"AlterModelTableComment.deconstruct[  s2   € à—I‘IØ!×/Ñ/ñ
ˆð —‘×+Ñ+¨R°Ð8Ð8r   c                 óV   — |j                  || j                  d| j                  i«       y )Nr„   )rô   r)   r›   r]   s      r   r_   z%AlterModelTableComment.state_forwardsb  s'   € Ø×!Ñ!Ø�t—‘Ð);¸T×=OÑ=OÐ(Põ	
r   c                 ó`  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      rb|j                   j                  || j                  «      }|j                  ||j                  j                  |j                  j                  «       y y r!   )	rb   rc   r#   rd   re   rf   Úalter_db_table_commentrJ   r„   )r$   r,   rj   rk   rl   rÚ   rÛ   s          r   ro   z(AlterModelTableComment.database_forwardsg  sƒ   € Ø—M‘M×+Ñ+¨I°t·y±yÓAˆ	Ø×#Ñ# M×$<Ñ$<×$BÑ$BÀIÔNØ"Ÿ™×1Ñ1°)¸T¿Y¹YÓGˆIØ×0Ñ0ØØ—‘×0Ñ0Ø—‘×0Ñ0õð Or   c                 ó*   — | j                  ||||«      S r!   r÷   râ   s        r   rt   z)AlterModelTableComment.database_backwardsq  rø   r   c                 ó"   — d| j                   › d�S )NúAlter z table commentr"   r(   s    r   ry   zAlterModelTableComment.describet  s   € Ø˜Ÿ	™	�{ .Ð1Ð1r   c                 ó"   — d| j                   › d�S )NÚalter_Ú_table_commentr{   r(   s    r   r|   z.AlterModelTableComment.migration_name_fragmentw  s   € à˜Ÿ™Ð(¨Ð7Ð7r   )r6   r7   r8   r%   rW   r_   ro   rt   ry   rµ   r|   r9   r:   s   @r   rš   rš   V  s6   ø„ ôò9ò
ò
òVò2ð ñ8ó ô8r   rš   c                   óp   ‡ — 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        ‰| �  |«       y r!   )r   r
   Úsetattrr�   r/   r%   )r$   r#   rž   r4   s      €r   r%   z%AlterTogetherOptionOperation.__init__  s5   ø€ ÙÜÔ1°,Ó?Ó@ˆLÜ��d×&Ñ&¨Ô5Ü‰Ñ˜Õr   c                 ó.   — t        | | j                  «      S r!   )Úgetattrr�   r(   s    r   rž   z)AlterTogetherOptionOperation.option_value…  s   € ä�t˜T×-Ñ-Ó.Ð.r   c                 ó|   — d| j                   | j                  | j                  i}| j                  j                  g |fS r¸   )r#   r�   rž   r4   r8   rU   s     r   rW   z(AlterTogetherOptionOperation.deconstruct‰  s<   € à�D—I‘IØ×Ñ˜d×/Ñ/ð
ˆð —‘×+Ñ+¨R°Ð8Ð8r   c                 ój   — |j                  || j                  | j                  | j                  i«       y r!   )rô   r)   r�   rž   r]   s      r   r_   z+AlterTogetherOptionOperation.state_forwards�  s.   € Ø×!Ñ!ØØ�O‰OØ×Ñ˜t×0Ñ0Ð1õ	
r   c                 ó  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r¸|j                  || j                  f   }|j                  || j                  f   }t        |d| j                  z  «      } |||j                  j                  | j                  «      xs
 t        «       |j                  j                  | j                  «      xs
 t        «       «       y y )Nzalter_%s)rb   rc   r#   rd   re   rf   r   r)   r  r�   r>   rh   r   )	r$   r,   rj   rk   rl   rÚ   Úfrom_model_statern   Úalter_togethers	            r   ro   z.AlterTogetherOptionOperation.database_forwards—  sÓ   € Ø—M‘M×+Ñ+¨I°t·y±yÓAˆ	Ø×#Ñ# M×$<Ñ$<×$BÑ$BÀIÔNØ)×0Ñ0°¸D¿O¹OÐ1KÑLÐØ%Ÿ_™_¨Y¸¿¹Ð-GÑHˆNÜ$ ]°JÀ×AQÑAQÑ4QÓRˆNÙØØ ×(Ñ(×,Ñ,¨T×-=Ñ-=Ó>ÒGÄ#Ã%Ø×&Ñ&×*Ñ*¨4×+;Ñ+;Ó<ÒEÄÃõð	 Or   c                 ó*   — | j                  ||||«      S r!   r÷   râ   s        r   rt   z/AlterTogetherOptionOperation.database_backwards£  rø   r   c                 ó†   ‡— | j                  ||«      xr- | j                   xs t        ˆfd„| j                  D «       «      S )Nc              3   ó&   •K  — | ]  }‰|v –— Œ
 y ­wr!   rB   )rD   r=   r#   s     €r   rF   z@AlterTogetherOptionOperation.references_field.<locals>.<genexpr>©  s   øè ø€ ÒD¨�D˜F”NÑDùs   ƒ)r-   rž   Úany©r$   rÑ   r#   r,   s     ` r   Úreferences_fieldz-AlterTogetherOptionOperation.references_field¦  sC   ø€ Ø×$Ñ$ Z°Ó;ò 
Ø×!Ñ!Ð!ò EÜÓD°$×2CÑ2CÔDÓDð	
r   c           	      óp   — d| j                   ›d| j                  ›dt        | j                  xs d«      ›d�S )Nr  z for z (rx   z constraint(s)))r�   r#   Úlenrž   r(   s    r   ry   z%AlterTogetherOptionOperation.describe¬  s/   � à×ÓØ�I‹IÜ�×!Ñ!Ò' RÕ(ð
ð 	
r   c                 ó:   — d| j                   ›d| j                  ›�S ©Nr  rE   )r)   r�   r(   s    r   r|   z4AlterTogetherOptionOperation.migration_name_fragment³  s   � à $§£°×1AÒ1AÐBÐBr   c                 óx   •— t         ‰| �  ||«      xs( t        |t        «      xr t	        |«      t	        | «      uS r!   )r/   r1   rM   rœ   Útyper2   s      €r   r1   z/AlterTogetherOptionOperation.can_reduce_through·  s<   ø€ Ü‰wÑ)¨)°YÓ?ò 
Ü�yÔ">Ó?ò 2Ü�Y“¤t¨D£zÐ1ð	
r   )r6   r7   r8   r�   r%   r   rž   rW   r_   ro   rt   r  ry   rµ   r|   r1   r9   r:   s   @r   rœ   rœ   |  s`   ø„ Ø€Kôð ñ/ó ð/ò9ò
ò
òVò
ò
ð ñCó ð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                 ó&   •— t         ‰| �  ||«       y r!   ©r/   r%   )r$   r#   r†   r4   s      €r   r%   zAlterUniqueTogether.__init__Æ  s   ø€ Ü‰Ñ˜˜Õ/r   ©r6   r7   r8   r±   r�   r%   r9   r:   s   @r   r  r  ¾  s   ø„ ñð
 $€K÷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.
    ra   c                 ó&   •— t         ‰| �  ||«       y r!   r   )r$   r#   ra   r4   s      €r   r%   zAlterIndexTogether.__init__Ò  s   ø€ Ü‰Ñ˜˜~Õ.r   r!  r:   s   @r   r#  r#  Ê  s   ø„ ñð
 #€K÷/ð /r   r#  c                   óZ   ‡ — 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                 ó2   •— || _         t        ‰| �	  |«       y r!   )r…   r/   r%   )r$   r#   r…   r4   s      €r   r%   z AlterOrderWithRespectTo.__init__Û  s   ø€ Ø%:ˆÔ"Ü‰Ñ˜Õr   c                 óf   — | j                   | j                  dœ}| j                  j                  g |fS )N©r#   r…   )r#   r…   r4   r8   rU   s     r   rW   z#AlterOrderWithRespectTo.deconstructß  s2   € à—I‘IØ%)×%?Ñ%?ñ
ˆð —‘×+Ñ+¨R°Ð8Ð8r   c                 ój   — |j                  || j                  | j                  | j                  i«       y r!   )rô   r)   r�   r…   r]   s      r   r_   z&AlterOrderWithRespectTo.state_forwardsæ  s.   € Ø×!Ñ!ØØ�O‰OØ×Ñ˜t×9Ñ9Ð:õ	
r   c                 ó~  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      rñ|j                   j                  || j                  «      }|j                  j                  rB|j                  j                  s,|j                  ||j                  j                  d«      «       y |j                  j                  r\|j                  j                  sE|j                  j                  d«      }|j                  «       sd|_        |j                  ||«       y y y y )NÚ_orderr   )rb   rc   r#   rd   re   rf   rJ   r…   Úremove_fieldrÒ   Úhas_defaultÚdefaultÚ	add_field)r$   r,   rj   rk   rl   Úto_modelÚ
from_modelr�   s           r   ro   z)AlterOrderWithRespectTo.database_forwardsí  sý   € Ø—=‘=×*Ñ*¨9°d·i±iÓ@ˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀHÔMØ#Ÿ™×2Ñ2°9¸d¿i¹iÓHˆJð × Ñ ×6Ò6Ø Ÿ™×<Ò<à×*Ñ*Ø 
× 0Ñ 0× :Ñ :¸8Ó Dõð —‘×4Ò4Ø"×(Ñ(×>Ò>à Ÿ™×0Ñ0°Ó:�Ø×(Ñ(Ô*Ø$%�E”MØ×'Ñ'ØØõð ?ð 5ð Nr   c                 ó,   — | j                  ||||«       y r!   r÷   râ   s        r   rt   z*AlterOrderWithRespectTo.database_backwards  s   € Ø×Ñ˜y¨-¸ÀXÕNr   c                 óh   — | j                  ||«      xr | j                  d u xs || j                  k(  S r!   )r-   r…   r  s       r   r  z(AlterOrderWithRespectTo.references_field
  s:   € Ø×$Ñ$ Z°Ó;ò 
Ø×&Ñ&¨$Ð.ÒT°$¸$×:TÑ:TÑ2Tð	
r   c                 ó:   — d| j                   ›d| j                  ›�S )NzSet order_with_respect_to on rå   r(  r(   s    r   ry   z AlterOrderWithRespectTo.describe  s   � à�I‹IØ×&Ò&ð
ð 	
r   c                 ó    — d| j                   z  S )Nzalter_%s_order_with_respect_tor{   r(   s    r   r|   z/AlterOrderWithRespectTo.migration_name_fragment  s   € à/°$·/±/ÑAÐAr   )r6   r7   r8   r±   r�   r%   rW   r_   ro   rt   r  ry   rµ   r|   r9   r:   s   @r   rŸ   rŸ   Ö  sE   ø„ ÙCà)€Kôò9ò
òò4Oò
ò

ð ñBó ôBr   rŸ   c                   óX   ‡ — 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                 ó2   •— || _         t        ‰| �	  |«       y r!   )r>   r/   r%   )r$   r#   r>   r4   s      €r   r%   zAlterModelOptions.__init__0  s   ø€ ØˆŒÜ‰Ñ˜Õr   c                 óf   — | j                   | j                  dœ}| j                  j                  g |fS )N)r#   r>   )r#   r>   r4   r8   rU   s     r   rW   zAlterModelOptions.deconstruct4  s0   € à—I‘IØ—|‘|ñ
ˆð —‘×+Ñ+¨R°Ð8Ð8r   c                 óh   — |j                  || j                  | j                  | j                  «       y r!   )rô   r)   r>   r•   r]   s      r   r_   z AlterModelOptions.state_forwards;  s*   € Ø×!Ñ!ØØ�O‰OØ�L‰LØ×"Ñ"õ		
r   c                  ó   — y r!   rB   râ   s        r   ro   z#AlterModelOptions.database_forwardsC  ó   € Ør   c                  ó   — y r!   rB   râ   s        r   rt   z$AlterModelOptions.database_backwardsF  rF  r   c                 ó    — d| j                   z  S )NzChange Meta options on %sr"   r(   s    r   ry   zAlterModelOptions.describeI  s   € Ø*¨T¯Y©YÑ6Ð6r   c                 ó    — d| j                   z  S )Nzalter_%s_optionsr{   r(   s    r   r|   z)AlterModelOptions.migration_name_fragmentL  s   € à! D§O¡OÑ3Ð3r   )r6   r7   r8   r±   r•   r%   rW   r_   ro   rt   ry   rµ   r|   r9   r:   s   @r   r”   r”     sB   ø„ ñòÐôò9ò
òòò7ð ñ4ó ô4r   r”   c                   óV   ‡ — 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                 ó2   •— || _         t        ‰| �	  |«       y r!   )r?   r/   r%   )r$   r#   r?   r4   s      €r   r%   zAlterModelManagers.__init__V  s   ø€ Ø ˆŒÜ‰Ñ˜Õr   c                 ó`   — | j                   j                  | j                  | j                  gi fS r!   )r4   r8   r#   r?   r(   s    r   rW   zAlterModelManagers.deconstructZ  s&   € Ø—‘×+Ñ+¨d¯i©i¸¿¹Ð-GÈÐLÐLr   c                 óR   — |j                  || j                  | j                  «       y r!   )Úalter_model_managersr)   r?   r]   s      r   r_   z!AlterModelManagers.state_forwards]  s   € Ø×"Ñ" 9¨d¯o©o¸t¿}¹}ÕMr   c                  ó   — y r!   rB   râ   s        r   ro   z$AlterModelManagers.database_forwards`  rF  r   c                  ó   — y r!   rB   râ   s        r   rt   z%AlterModelManagers.database_backwardsc  rF  r   c                 ó    — d| j                   z  S )NzChange managers on %sr"   r(   s    r   ry   zAlterModelManagers.describef  s   € Ø&¨¯©Ñ2Ð2r   c                 ó    — d| j                   z  S )Nzalter_%s_managersr{   r(   s    r   r|   z*AlterModelManagers.migration_name_fragmenti  s   € à" T§_¡_Ñ4Ð4r   )r6   r7   r8   r±   r´   r%   rW   r_   ro   rt   ry   rµ   r|   r9   r:   s   @r   r—   r—   Q  sB   ø„ Ù%à!+ ÐôòMòNòòò3ð ñ5ó ô5r   r—   c                   ó    — e Zd ZdZed„ «       Zy)r£   r�   c                 ó6   — | j                   j                  «       S r!   )rÑ   r'   r(   s    r   r    zIndexOperation.model_name_lowerq  s   € à�‰×$Ñ$Ó&Ð&r   N)r6   r7   r8   r�   r   r    rB   r   r   r£   r£   n  s   „ Ø€Kàñ'ó ñ'r   r£   c                   ón   ‡ — e Zd ZdZej
                  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  «      ‚|| _        y )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__{  s3   € Ø$ˆŒØ�zŠzÜð1Ø38ñ9óð ð ˆ�
r   c                 óR   — |j                  || j                  | j                  «       y r!   )Ú	add_indexr    r¥   r]   s      r   r_   zAddIndex.state_forwards„  s   € Ø�‰˜	 4×#8Ñ#8¸$¿*¹*ÕEr   c                 óÖ   — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r|j                  || j                  «       y y r!   )rb   rc   rÑ   rd   re   rf   rX  r¥   rs   s         r   ro   zAddIndex.database_forwards‡  sR   € Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×#Ñ# E¨4¯:©:Õ6ð Kr   c                 óÖ   — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r|j                  || j                  «       y y r!   )rb   rc   rÑ   rd   re   rf   Úremove_indexr¥   rs   s         r   rt   zAddIndex.database_backwardsŒ  sR   € Ø—‘×)Ñ)¨)°T·_±_ÓEˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×&Ñ& u¨d¯j©jÕ9ð Kr   c                 óf   — | j                   | j                  dœ}| j                  j                  g |fS )N)rÑ   r¥   )rÑ   r¥   r4   r8   rU   s     r   rW   zAddIndex.deconstruct‘  s6   € àŸ/™/Ø—Z‘Zñ
ˆð
 �N‰N×'Ñ'ØØð
ð 	
r   c                 ó–  — | j                   j                  rcd| j                   j                  ›ddj                  | j                   j                  D �cg c]  }t	        |«      ‘Œ c}«      ›d| j
                  ›�S d| j                   j                  ›ddj                  | j                   j                  «      ›d| j
                  ›�S c c}w )NzCreate index ú on ú, ú
 on model z on field(s) z
 of model )r¥   Úexpressionsr#   ÚjoinrN   rÑ   r=   )r$   Ú
expressions     r   ry   zAddIndex.describeœ  s�   € Ø�:‰:×!Ó!à—
‘
—“Ø—	‘	¸T¿Z¹Z×=SÑ=SÖT¨zœ3˜z�?ÒTÕUØ—’ðð ð "ð �J‰J�O‹OØ�I‰I�d—j‘j×'Ñ'Õ(Ø�OŠOð
ð 	
ùò Us   ÁCc                 óh   — | j                   ›d| j                  j                  j                  «       ›�S ©NrE   )r    r¥   r#   r'   r(   s    r   r|   z AddIndex.migration_name_fragment©  s$   € à×/Ó/°·±·±×1FÑ1FÔ1HÐIÐIr   c                 ó\  •— t        |t        «      r%| j                  j                  |j                  k(  rg S t        |t        «      rW| j                  j                  |j
                  k(  r4t        | j                  «      }|j                  |_        t        | |¬«      gS t        ‰| �)  ||«      S )N)r¥   )rM   r¦   r¥   r#   ÚRenameIndexr�   r   rŽ   r   r/   r0   )r$   r3   r,   r¥   r4   s       €r   r0   zAddIndex.reduce­  s€   ø€ Ü�i¤Ô-°$·*±*·/±/ÀYÇ^Á^Ò2SØˆIÜ�i¤Ô-°$·*±*·/±/ÀY×EWÑEWÒ2WÜ˜Ÿ™Ó$ˆEØ"×+Ñ+ˆEŒJÜ˜D¨Ô.Ð/Ð/Ü‰w‰~˜i¨Ó3Ð3r   )r6   r7   r8   r±   r   r²   r³   r%   r_   ro   rt   rW   ry   rµ   r|   r0   r9   r:   s   @r   r¤   r¤   v  sP   ø„ Ù"à ×)Ñ)€HòòFò7ò
:ò
	
ò
ð ñJó ðJ÷4ð 4r   r¤   c                   ó\   — e Zd ZdZej
                  Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ «       Zy	)
r¦   zRemove an index from a model.c                 ó    — || _         || _        y r!   ©rÑ   r#   ©r$   rÑ   r#   s      r   r%   zRemoveIndex.__init__¼  ó   € Ø$ˆŒØˆ�	r   c                 óR   — |j                  || j                  | j                  «       y r!   )r[  r    r#   r]   s      r   r_   zRemoveIndex.state_forwardsÀ  s   € Ø×Ñ˜9 d×&;Ñ&;¸T¿Y¹YÕGr   c                 ó.  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      rI|j                  || j                  f   }|j                  | j                  «      }|j                  ||«       y y r!   )rb   rc   rÑ   rd   re   rf   r   r    Úget_index_by_namer#   r[  )r$   r,   rj   rk   rl   rm   r  r¥   s           r   ro   zRemoveIndex.database_forwardsÃ  s~   € Ø—‘×)Ñ)¨)°T·_±_ÓEˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ)×0Ñ0°¸D×<QÑ<QÐ1QÑRÐØ$×6Ñ6°t·y±yÓAˆEØ×&Ñ& u¨eÕ4ð Kr   c                 ó.  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      rI|j                  || j                  f   }|j                  | j                  «      }|j                  ||«       y y r!   )rb   rc   rÑ   rd   re   rf   r   r    ro  r#   rX  )r$   r,   rj   rk   rl   rm   rn   r¥   s           r   rt   zRemoveIndex.database_backwardsÊ  s{   € Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ%Ÿ_™_¨Y¸×8MÑ8MÐ-MÑNˆNØ"×4Ñ4°T·Y±YÓ?ˆEØ×#Ñ# E¨5Õ1ð Kr   c                 óf   — | j                   | j                  dœ}| j                  j                  g |fS ©Nrj  )rÑ   r#   r4   r8   rU   s     r   rW   zRemoveIndex.deconstructÑ  s6   € àŸ/™/Ø—I‘Iñ
ˆð
 �N‰N×'Ñ'ØØð
ð 	
r   c                 ó:   — d| j                   ›d| j                  ›�S )NzRemove index z from ©r#   rÑ   r(   s    r   ry   zRemoveIndex.describeÜ  s   � Ø,0¯I«I°t·²ÐGÐGr   c                 óV   — d| j                   ›d| j                  j                  «       ›�S ©NÚremove_rE   ©r    r#   r'   r(   s    r   r|   z#RemoveIndex.migration_name_fragmentß  ó   � à!%×!6Ó!6¸¿	¹	¿¹Ô8IÐJÐJr   N)r6   r7   r8   r±   r   rÀ   r³   r%   r_   ro   rt   rW   ry   rµ   r|   rB   r   r   r¦   r¦   ·  sF   „ Ù'à ×(Ñ(€HòòHò5ò2ò	
òHð ñKó ñKr   r¦   c                   ó�   ‡ — e Zd ZdZej
                  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 )rg  zRename an index.c                 óx   — |s|st        d«      ‚|r|rt        d«      ‚|| _        || _        || _        || _        y )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�   Ú
old_fields)r$   rÑ   rŽ   r�   r|  s        r   r%   zRenameIndex.__init__é  sN   € Ù¡
Üðóð ñ ™
ÜØMóð ð %ˆŒØ ˆŒØ ˆŒØ$ˆ�r   c                 ó6   — | j                   j                  «       S r!   rÄ   r(   s    r   r“   zRenameIndex.old_name_lowerø  rÅ   r   c                 ó6   — | j                   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|  r4   r8   rU   s     r   rW   zRenameIndex.deconstruct   sZ   € àŸ/™/ØŸ™ñ
ˆð �=Š=Ø!%§¡ˆF�:ÑØ�?Š?Ø#'§?¡?ˆF�<Ñ Ø—‘×+Ñ+¨R°Ð8Ð8r   c                 óz  — | j                   r}|j                  || j                  t        j                  | j                   | j
                  ¬«      «       |j                  || j                  t        j                  | j                   «       y |j                  || j                  | j                  | j
                  «       y )N©r=   r#   )r|  rX  r    r   ÚIndexrŽ   Úremove_model_optionsr#  r�   Úrename_indexr�   r]   s      r   r_   zRenameIndex.state_forwards  sŠ   € Ø�?Š?Ø�O‰OØØ×%Ñ%Ü—‘ D§O¡O¸$¿-¹-ÔHôð
 ×&Ñ&ØØ×%Ñ%Ü"×.Ñ.Ø—‘õ	ð ×ÑØ˜4×0Ñ0°$·-±-ÀÇÁõr   c           
      óÈ  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      sy | j                  rë|j                   j                  || j                  «      }| j                  D �cg c]'  }|j                  j                  |«      j                  ‘Œ) }}|j                  ||dd¬«      }	t        |	«      dk7  rAt        dt        |	«      ›d|j                  j                  ›ddj                  |«      ›d	�«      ‚t        j                   | j                  |	d
   ¬«      }
n6|j                  || j"                  f   }|j%                  | j&                  «      }
|
j(                  | j*                  k(  ry |j                  || j"                  f   }|j%                  | j*                  «      }|j-                  ||
|«       y c c}w )NTF)Úcolumn_namesr¥   Úuniquer   zFound wrong number (z) of indexes for ú(r_  z).r   r�  )rb   rc   rÑ   rd   re   rf   r|  rJ   rÒ   ÚcolumnÚ_constraint_namesr  r   rƒ   rb  r   r‚  r    ro  r�   r#   rŽ   r„  )r$   r,   rj   rk   rl   rm   r1  r�   ÚcolumnsÚmatching_index_nameÚ	old_indexr  rn   Ú	new_indexs                 r   ro   zRenameIndex.database_forwards  s¦  € Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×'Ñ'¨×(@Ñ(@×(FÑ(FÈÔNØà�?Š?Ø#Ÿ™×2Ñ2°9¸d¿o¹oÓNˆJàFJÇoÁoöØ=B�
× Ñ ×*Ñ*¨5Ó1×8Ó8ðˆGð ð #0×"AÑ"AØØ$ØØð	 #Bó #Ðô Ð&Ó'¨1Ò,Ý ô Ð/Õ0Ø"×(Ñ(×1Ó1ØŸ	™	 'Õ*ð	óð ô Ÿ™Ø—‘Ø(¨Ñ+ô‰Ið
  *×0Ñ0°¸D×<QÑ<QÐ1QÑRÐØ(×:Ñ:¸4¿=¹=ÓIˆIà�>‰>˜TŸ]™]Ò*Øà!Ÿ™¨°D×4IÑ4IÐ)IÑJˆØ"×4Ñ4°T·]±]ÓCˆ	Ø×"Ñ" 5¨)°YÕ?ùò?s   Â,Gc                 ó^  — | j                   ry | j                  | j                  c| _        | _        | j                  | j                  c| _        | _        | j                  ||||«       | j                  | j                  c| _        | _        | j                  | j                  c| _        | _        y r!   )r|  r“   rÈ   r�   rŽ   ro   râ   s        r   rt   zRenameIndex.database_backwardsE  sš   € Ø�?Š?àð ×ÑØ×Ñð 	1ˆÔ˜TÔ0ð (,§}¡}°d·m±mÐ$ˆŒ�t”}à×Ñ˜y¨-¸ÀXÔNð ×ÑØ×Ñð 	1ˆÔ˜TÔ0ð (,§}¡}°d·m±mÐ$ˆŒ�t•}r   c                 ó¾   — | 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   ry   zRenameIndex.describeX  s_   € Ø�=Š=à §¡˜¨d°4·?±?Ð2CÀ4ÈÏÉÀÐWðð (¨¯©Ð'8¸¸T¿_¹_Ð<MÈTØ�}‰}ˆoðð	
r   c                 óÂ   — | j                   rd| j                  ›d| j                  ›�S d| j                  ›ddj	                  | j
                  «      ›d| j                  ›�S rç   )r�   r“   rÈ   r    rb  r|  r(   s    r   r|   z#RenameIndex.migration_name_fragmentb  sS   € à�=‹=Ø%)×%8Ó%8¸$×:MÒ:MÐNÐNð ð ×!Ó!Ø�H‰H�T—_‘_Õ%Ø×Òð
ð 	
r   c                 óð   •— t        |t        «      rV| j                  |j                  k(  r=|j                  r1| j                  |j
                  k(  rt        | |j                  ¬«      gS t        ‰| �%  ||«      S rê   )
rM   rg  r    r�   rÈ   r“   r   rŽ   r/   r0   r2   s      €r   r0   zRenameIndex.reducel  se   ø€ ä�y¤+Ô.Ø×%Ñ%¨×)CÑ)CÒCØ×"Ò"Ø×#Ñ# y×'?Ñ'?Ò?ä˜D¨9×+=Ñ+=Ô>Ð?Ð?Ü‰w‰~˜i¨Ó3Ð3r   )NN)r6   r7   r8   r±   r   rë   r³   r%   r   r“   rÈ   rW   r_   ro   rt   ry   rµ   r|   r0   r9   r:   s   @r   rg  rg  ä  sx   ø„ Ùà ×+Ñ+€Hó%ð ñ%ó ð%ð ñ%ó ð%ò	9òò$&@òPDò&
ð ñ
ó ð
÷4ð 4r   rg  c                   ón   ‡ — e Zd Zej                  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§   r�   c                 ó    — || _         || _        y r!   ©rÑ   r¨   )r$   rÑ   r¨   s      r   r%   zAddConstraint.__init__{  s   € Ø$ˆŒØ$ˆ�r   c                 óR   — |j                  || j                  | j                  «       y r!   )Úadd_constraintr    r¨   r]   s      r   r_   zAddConstraint.state_forwards  s   € Ø×Ñ˜Y¨×(=Ñ(=¸t¿¹ÕOr   c                 óÖ   — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r|j                  || j                  «       y y r!   )rb   rc   rÑ   rd   re   rf   r—  r¨   rs   s         r   ro   zAddConstraint.database_forwards‚  sR   € Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×(Ñ(¨°·±Õ@ð Kr   c                 óÖ   — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r|j                  || j                  «       y y r!   )rb   rc   rÑ   rd   re   rf   Úremove_constraintr¨   rs   s         r   rt   z AddConstraint.database_backwards‡  sR   € Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×+Ñ+¨E°4·?±?ÕCð Kr   c                 ób   — | j                   j                  g | j                  | j                  dœfS )Nr•  )r4   r6   rÑ   r¨   r(   s    r   rW   zAddConstraint.deconstructŒ  s/   € à�N‰N×#Ñ#Øà"Ÿo™oØ"Ÿo™oñð
ð 	
r   c                 óN   — d| j                   j                  ›d| j                  ›�S )NzCreate constraint r`  )r¨   r#   rÑ   r(   s    r   ry   zAddConstraint.describe–  s    � à�O‰O× Ó Ø�OŠOð
ð 	
r   c                 óh   — | j                   ›d| j                  j                  j                  «       ›�S re  ©r    r¨   r#   r'   r(   s    r   r|   z%AddConstraint.migration_name_fragmentœ  s&   € à×/Ó/°·±×1EÑ1E×1KÑ1KÔ1MÐNÐNr   c                 óˆ  •— t        |t        «      r>| j                  |j                  k(  r%| j                  j                  |j                  k(  rg S t        |t
        «      rT| j                  |j                  k(  r;| j                  j                  |j                  k(  rt        | |j                  ¬«      gS t        ‰| �!  ||«      S )N)r¨   )	rM   rª   r    r¨   r#   r©   r   r/   r0   r2   s      €r   r0   zAddConstraint.reduce   s˜   ø€ ä�yÔ"2Ô3Ø×%Ñ%¨×)CÑ)CÒCØ—‘×$Ñ$¨	¯©Ò6àˆIä�y¤/Ô2Ø×%Ñ%¨×)CÑ)CÒCØ—‘×$Ñ$¨	¯©Ò6ä˜D¨Y×-AÑ-AÔBÐCÐCÜ‰w‰~˜i¨Ó3Ð3r   )r6   r7   r8   r   r²   r³   r�   r%   r_   ro   rt   rW   ry   rµ   r|   r0   r9   r:   s   @r   r§   r§   w  sT   ø„ Ø ×)Ñ)€HØ€Kò%òPòAò
Dò

ò
ð ñOó ðO÷4ð 4r   r§   c                   ó\   — e Zd Zej                  ZdZd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ «       Zy	)
rª   r�   c                 ó    — || _         || _        y r!   rj  rk  s      r   r%   zRemoveConstraint.__init__´  rl  r   c                 óR   — |j                  || j                  | j                  «       y r!   )rš  r    r#   r]   s      r   r_   zRemoveConstraint.state_forwards¸  s   € Ø×Ñ 	¨4×+@Ñ+@À$Ç)Á)ÕLr   c                 ó.  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      rI|j                  || j                  f   }|j                  | j                  «      }|j                  ||«       y y r!   )rb   rc   rÑ   rd   re   rf   r   r    Úget_constraint_by_namer#   rš  )r$   r,   rj   rk   rl   rm   r  r¨   s           r   ro   z"RemoveConstraint.database_forwards»  s~   € Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ)×0Ñ0°¸D×<QÑ<QÐ1QÑRÐØ)×@Ñ@ÀÇÁÓKˆJØ×+Ñ+¨E°:Õ>ð Kr   c                 ó.  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      rI|j                  || j                  f   }|j                  | j                  «      }|j                  ||«       y y r!   )rb   rc   rÑ   rd   re   rf   r   r    r¤  r#   r—  )r$   r,   rj   rk   rl   rm   rn   r¨   s           r   rt   z#RemoveConstraint.database_backwardsÂ  s{   € Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ%Ÿ_™_¨Y¸×8MÑ8MÐ-MÑNˆNØ'×>Ñ>¸t¿y¹yÓIˆJØ×(Ñ(¨°
Õ;ð Kr   c                 ób   — | j                   j                  g | j                  | j                  dœfS rr  )r4   r6   rÑ   r#   r(   s    r   rW   zRemoveConstraint.deconstructÉ  s/   € à�N‰N×#Ñ#Øà"Ÿo™oØŸ	™	ñð
ð 	
r   c                 ó:   — d| j                   ›d| j                  ›�S )NzRemove constraint z from model rt  r(   s    r   ry   zRemoveConstraint.describeÓ  s   � Ø7;·y³yÀ$Ç/Â/ÐRÐRr   c                 óV   — d| j                   ›d| j                  j                  «       ›�S rv  rx  r(   s    r   r|   z(RemoveConstraint.migration_name_fragmentÖ  ry  r   N)r6   r7   r8   r   rÀ   r³   r�   r%   r_   ro   rt   rW   ry   rµ   r|   rB   r   r   rª   rª   °  sH   „ Ø ×(Ñ(€HØ€KòòMò?ò<ò
òSð ñKó ñKr   rª   c                   ón   ‡ — e Zd Zej                  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©   r�   c                 ó.   — || _         || _        || _        y r!   ©rÑ   r#   r¨   )r$   rÑ   r#   r¨   s       r   r%   zAlterConstraint.__init__ß  s   € Ø$ˆŒØˆŒ	Ø$ˆ�r   c                 óh   — |j                  || j                  | j                  | j                  «       y r!   )Úalter_constraintr    r#   r¨   r]   s      r   r_   zAlterConstraint.state_forwardsä  s'   € Ø×ÑØ�t×,Ñ,¨d¯i©i¸¿¹õ	
r   c                  ó   — y r!   rB   râ   s        r   ro   z!AlterConstraint.database_forwardsé  rF  r   c                  ó   — y r!   rB   râ   s        r   rt   z"AlterConstraint.database_backwardsì  rF  r   c                 óx   — | j                   j                  g | j                  | j                  | j                  dœfS )Nr«  )r4   r6   rÑ   r#   r¨   r(   s    r   rW   zAlterConstraint.deconstructï  s6   € à�N‰N×#Ñ#Øà"Ÿo™oØŸ	™	Ø"Ÿo™oñð
ð 	
r   c                 ó:   — d| j                   › d| j                  › �S )NzAlter constraint r^  rt  r(   s    r   ry   zAlterConstraint.describeú  s   € Ø" 4§9¡9 +¨T°$·/±/Ð1BÐCÐCr   c                 ój   — d| j                   ›d| j                  j                  j                  «       ›�S r  rž  r(   s    r   r|   z'AlterConstraint.migration_name_fragmentý  s&   � à $× 5Ó 5°t·±×7KÑ7K×7QÑ7QÔ7SÐTÐTr   c                 óº   •— t        |t        t        f«      r5| j                  |j                  k(  r| j                  |j                  k(  r|gS t
        ‰| �  ||«      S r!   )rM   r©   rª   r    r#   r/   r0   r2   s      €r   r0   zAlterConstraint.reduce  sP   ø€ ä�y¤?Ô4DÐ"EÔFØ×%Ñ%¨×)CÑ)CÒCØ—	‘	˜YŸ^™^Ò+à�;ÐÜ‰w‰~˜i¨Ó3Ð3r   )r6   r7   r8   r   rë   r³   r�   r%   r_   ro   rt   rW   ry   rµ   r|   r0   r9   r:   s   @r   r©   r©   Û  sR   ø„ Ø ×+Ñ+€HØ€Kò%ò

ò
òò	
òDð ñUó ðU÷4ð 4r   r©   N),r   Ú	django.dbr   Ú$django.db.migrations.operations.baser   r   Údjango.db.migrations.stater   Údjango.db.migrations.utilsr   r	   Údjango.db.models.optionsr
   Údjango.utils.copyr   Ú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¦   rg  r§   rª   r©   rB   r   r   ú<module>r»     s?  ðÝ å ß MÝ 1ß IÝ 7Ý %Ý 3ç RÕ RòôD�Yô Dô(O4�.ô O4ôd
"-�.ô "-ôJqF�.ô qFôh	4˜>ô 	4ô02Ð*ô 02ôf#8Ð1ô #8ôL?
Ð#7ô ?
ôD	0Ð6ô 	0ô	/Ð5ô 	/ôABÐ2ô ABôH44Ð,ô 44ôn5Ð-ô 5ô:'�Yô 'ô>4ˆ~ô >4ôB*K�.ô *KôZP4�.ô P4ôf64�Nô 64ôr(K�~ô (KôV-4�nõ -4r   