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