ó
    ¼RjÎž  ã                   óh  • S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SK	Jr  S SKJr  S S	KJr  S S
KJr  S SKJrJr  S SKJr  S SKJr  S SKJrJr  S SKJr  S SKJ r   S SK!J"r"  S SK#J$r$  SSK%J&r&  SSK'J(r(  S"S jr)S r*S r+S r, " S S5      r- " S S\5      r. " S S\
5      r/ " S  S!5      r0g)#é    N)Údefaultdict)Úcontextmanager)Úpartial)Ú	AppConfig)ÚApps)Úapps)Úsettings)ÚFieldDoesNotExist)Úmodels)Úfield_is_referencedÚget_references)ÚNOT_PROVIDED)ÚRECURSIVE_RELATIONSHIP_CONSTANT)ÚDEFAULT_NAMESÚnormalize_together)Úmake_model_tuple)Úcached_property)Úimport_string)Úget_docs_versioné   )ÚInvalidBasesError)Úresolve_relationc                 óè   • [        U [        5      (       a2  U R                  SS5      n[        U5      S:X  a  [	        U5      $ XS   4$ U R
                  R                  U R
                  R                  4$ )NÚ.r   é   r   )Ú
isinstanceÚstrÚsplitÚlenÚtupleÚ_metaÚ	app_labelÚ
model_name)Úmodelr"   r   s      ÚFD:\diplom_project\venv\Lib\site-packages\django/db/migrations/state.pyÚ_get_app_label_and_model_namer&      s^   € Ü�%œ×ÑØ—‘˜C Ó#ˆÜ" 5›z¨Q›Œu�U‹|ÐI°YÀaÁÐ4IÐIà�{‰{×$Ñ$ e§k¡k×&<Ñ&<Ð<Ð<ó    c                 óT  • U R                  5        Vs/ s H&  n[        U[        R                  5      (       d  M$  UPM(     nn[	        5       nU R
                  R                  SSS9 H|  nUR                  (       d  M  UR                  c  M%  [        UR                  [        5      (       a  MF  UR                  UR                  5        UR                  UR                  5        M~     U R
                  nUR                  (       a   X;   a  UR                  UR                  5        U$ s  snf )zEReturn all models that have a direct relationship to the given model.T)Úinclude_parentsÚinclude_hidden)Ú__subclasses__Ú
issubclassr   ÚModelÚsetr!   Ú
get_fieldsÚis_relationÚrelated_modelr   r   Úaddr$   ÚappendÚproxyÚconcrete_model)ÚmÚsubclassÚrelated_modelsÚrelated_fields_modelsÚfÚoptss         r%   Ú_get_related_modelsr<   !   sâ   € ð ×(Ñ(Ô*óâ*ˆHÜ�h¤§¡×-÷ 	Ù*ð ð ô
  ›EÐØ�W‰W×Ñ°ÀTÐÓJˆà�M�M‰MØ—‘Ó+Ü˜qŸ™´×4Ó4à!×%Ñ% a§g¡gÔ.Ø×!Ñ! !§/¡/Ö2ñ Kð �7‰7€DØ‡z‡z�aÓ0Ø×Ñ˜d×1Ñ1Ô2ØÐùò's
   “#D%ºD%c                 ó˜   • [        U 5       Vs1 s H/  nUR                  R                  UR                  R                  4iM1     sn$ s  snf )ze
Return a list of typical (app_label, model_name) tuples for all related
models for the given model.
)r<   r!   r"   r#   )r$   Úrel_mods     r%   Úget_related_models_tuplesr?   9   sG   € ô +¨5Ô1óâ1ˆGð 
�‰×	 Ñ	  '§-¡-×":Ñ":Ó;Ù1ñð ùò s   Ž6Ac                 ó\  • [        5       n[        U 5      nU Hc  nUR                  R                  UR                  R                  pTXE4U;   a  M7  UR                  XE45        UR                  [        U5      5        Me     XR                  R                  U R                  R                  41-
  $ )aÅ  
Return all models that have a direct or indirect relationship
to the given model.

Relationships are either defined by explicit relational fields, like
ForeignKey, ManyToManyField or OneToOneField, or by inheriting from another
model (a superclass is related to its subclasses, but not vice versa). Note,
however, that a model inheriting from a concrete model is also related to
its superclass through the implicit *_ptr OneToOneField on the subclass.
)r.   r<   r!   r"   r#   r2   Úextend)r$   ÚseenÚqueuer>   Úrel_app_labelÚrel_model_names         r%   Úget_related_models_recursiverF   D   s–   € ô ‹5€DÜ Ó&€EÛˆà�M‰M×#Ñ#Ø�M‰M×$Ñ$ð &ð Ð*¨dÓ2ÙØ�‰�-Ð0Ô1Ø�‰Ô(¨Ó1Ö2ñ ð —K‘K×)Ñ)¨5¯;©;×+AÑ+AÐBÐCÑCÐCr'   c                   ó&  • \ rS rSrSrS(S jr\S 5       rS rS r	S r
S)S	 jrS
 rS rS rS rS rS rS rS rS rS rS rS rS rS*S jrS*S jrS+S jrS rS r S)S jrS)S jrS r S r!S  r"S! r#S" r$S# r%\&S$ 5       r'\(S% 5       r)S& r*S'r+g),ÚProjectStateé]   z­
Represent the entire project's overall state. This is the item that is
passed around - do it here rather than at the app level so that cross-app
FKs/etc. resolve properly.
Nc                 ó–   • U=(       d    0 U l         Uc  [        5       nO[        U[        5      (       d   eX l        SU l        S U l        g ©NF)r   r.   r   Ú	real_appsÚ
is_delayedÚ
_relations)Úselfr   rL   s      r%   Ú__init__ÚProjectState.__init__d   s@   € Ø—l ˆŒàÑÜ›‰Iä˜i¬×-Ñ-Ð-Ð-Ø"ŒØˆŒàˆ�r'   c                 óT   • U R                   c  U R                  5         U R                   $ ©N)rN   Úresolve_fields_and_relations©rO   s    r%   Ú	relationsÚProjectState.relationsp   s"   € à�?‰?Ñ"Ø×-Ñ-Ô/Ø�‰Ðr'   c                 óÌ   • UR                   UR                  4nXR                  U'   U R                  b  U R	                  U5        SU R
                  ;   a  U R                  " U6   g g ©Nr   )r"   Ú
name_lowerr   rN   Úresolve_model_relationsÚ__dict__Úreload_model)rO   Úmodel_stateÚ	model_keys      r%   Ú	add_modelÚProjectState.add_modelv   s[   € Ø×)Ñ)¨;×+AÑ+AÐAˆ	Ø!,�‰�IÑØ�?‰?Ñ&Ø×(Ñ(¨Ô3Ø�T—]‘]Ó"Ø×Ò˜yÒ)ð #r'   c                 ó¦  • X4nU R                   U	 U R                  bp  U R                  R                  US 5        [        U R                  R	                  5       5       H-  u  pEUR                  US 5        U(       a  M   U R                  U	 M/     SU R
                  ;   a4  U R                  R                  " U6   U R                  R                  5         g g rY   )	r   rN   ÚpopÚlistÚitemsr\   r   Úunregister_modelÚclear_cache)rO   r"   r#   r_   Úrelated_model_keyÚmodel_relationss         r%   Úremove_modelÚProjectState.remove_model~   s®   € ØÐ)ˆ	Ø�K‰K˜	Ð"Ø�?‰?Ñ&Ø�O‰O×Ñ 	¨4Ô0ä6:¸4¿?¹?×;PÑ;PÓ;RÖ6SÑ2Ð!Ø×#Ñ# I¨tÔ4ß&�ØŸ™Ð(9Ò:ñ 7Tð �T—]‘]Ó"Ø�I‰I×&Ò&¨	Ñ2ð �I‰I×!Ñ!Õ#ð	 #r'   c                 ó¶  • UR                  5       nUR                  5       nU R                  X4   R                  5       nX6l        X`R                  X4'   X4nU SU 3n[	        5       n	[        X5       H«  u  p«pÍS nUR                  (       a   UR                  5       nXŽR                  l        UR                  (       a#  Uc  UR                  5       nXŽR                  l	        U(       d  Mv  XêR                  U'   U	R                  U
R                  U
R                  45        M­     U R                  bz  X4nX4nXðR                  ;   a(  U R                  R                  U5      U R                  U'   U R                  R!                  5        H  nUU;   d  M  UR                  U5      UU'   M!     U R#                  U	SS9  U R%                  X5        U R'                  XSS9  g )Nr   T©Údelay)Úlowerr   ÚcloneÚnamer.   r   ÚtoÚremote_fieldr$   ÚthroughÚfieldsr2   r"   rZ   rN   rc   ÚvaluesÚreload_modelsrj   r]   )rO   r"   Úold_nameÚnew_nameÚold_name_lowerÚnew_name_lowerÚrenamed_modelÚold_model_tupleÚnew_remote_modelÚ	to_reloadr^   rq   ÚfieldÚ	referenceÚchanged_fieldÚold_name_keyÚnew_name_keyri   s                     r%   Úrename_modelÚProjectState.rename_modelŽ   s¨  € à!Ÿ™Ó)ˆØ!Ÿ™Ó)ˆØŸ™ IÐ$=Ñ>×DÑDÓFˆØ%ÔØ1>�‰�IÐ-Ñ.à$Ð5ˆØ'˜[¨¨(¨Ð4ÐÜ“Eˆ	Ü3AØö4
Ñ/ˆK˜uð !ˆMØ�|�|Ø %§¡£�Ø3C×*Ñ*Ô0Ø× × Ø Ñ(Ø$)§K¡K£M�MØ5E×*Ñ*Ô2ßˆ}Ø+8×"Ñ" 4Ñ(Ø—‘˜{×4Ñ4°k×6LÑ6LÐMÖNñ4
ð �?‰?Ñ&Ø$Ð4ˆLØ$Ð4ˆLØŸ™Ó.Ø04·±×0CÑ0CÀLÓ0Q�—‘ Ñ-Ø#'§?¡?×#9Ñ#9Ö#;�Ø ?Õ2Ø4C×4GÑ4GÈÓ4U�O LÓ1ñ $<ð 	×Ñ˜9¨DÐÑ1à×Ñ˜)Ô4Ø×Ñ˜)¸4ÐÒ@r'   c                 óÔ   • U R                   X4   n0 UR                  EUEUl        U(       a,  U H&  nXc;  d  M
  UR                  R                  US5        M(     U R                  XSS9  g )NFTrm   )r   Úoptionsrc   r]   )rO   r"   r#   rˆ   Úoption_keysr^   Úkeys          r%   Úalter_model_optionsÚ ProjectState.alter_model_optionsµ   si   € Ø—k‘k )Ð"7Ñ8ˆØ@ ×!4Ñ!4Ð@¸Ð@ˆÔÞÛ"�ØÕ%Ø×'Ñ'×+Ñ+¨C°Ö7ñ #ð 	×Ñ˜)°tÐÒ<r'   c                 ó  • U R                   X4   nUR                  R                  U5      =n(       a:  U Vs/ s H  n[        U5      [        U5      :w  d  M  UPM!     snUR                  U'   U R	                  XSS9  g s  snf ©NTrm   )r   rˆ   Úgetr    r]   )rO   r"   r#   Úoption_nameÚvalue_to_remover^   ÚobjsÚobjs           r%   Úremove_model_optionsÚ!ProjectState.remove_model_options¾   s}   € Ø—k‘k )Ð"7Ñ8ˆØ×&Ñ&×*Ñ*¨;Ó7Ð7ˆ4Õ7á#ó0Ú#˜¤u¨S£z´U¸?Ó5KÑ'K—™tñ0ˆK×Ñ Ñ,ð 	×Ñ˜)°tÐÒ<ùò0s   ·A>ÁA>c                 ód   • U R                   X4   n[        U5      Ul        U R                  XSS9  g rŽ   )r   rd   Úmanagersr]   )rO   r"   r#   r—   r^   s        r%   Úalter_model_managersÚ!ProjectState.alter_model_managersÆ   s2   € Ø—k‘k )Ð"7Ñ8ˆÜ# H›~ˆÔØ×Ñ˜)°tÐÒ<r'   c                 ó„   • U R                   X4   n/ UR                  U   QUPUR                  U'   U R                  XSS9  g rŽ   )r   rˆ   r]   )rO   r"   r#   r�   r“   r^   s         r%   Ú_append_optionÚProjectState._append_optionË   sK   € Ø—k‘k )Ð"7Ñ8ˆØ+S¨[×-@Ñ-@ÀÑ-MÐ+SÈsÐ+Sˆ×Ñ˜KÑ(Ø×Ñ˜)°tÐÒ<r'   c                 óÎ   • U R                   X4   nUR                  U   nU Vs/ s H  owR                  U:w  d  M  UPM     snUR                  U'   U R                  XSS9  g s  snf rŽ   )r   rˆ   rq   r]   )rO   r"   r#   r�   Úobj_namer^   r’   r“   s           r%   Ú_remove_optionÚProjectState._remove_optionÐ   sd   € Ø—k‘k )Ð"7Ñ8ˆØ×"Ñ" ;Ñ/ˆÙ;?Ó+Xº4°CÇ8Á8ÈxÑCW¯C¹4Ñ+Xˆ×Ñ˜KÑ(Ø×Ñ˜)°tÐÒ<ùò ,Ys
   ¤A"»A"c                 ó*   • U R                  XSU5        g ©NÚindexes©r›   )rO   r"   r#   Úindexs       r%   Ú	add_indexÚProjectState.add_indexÖ   s   € Ø×Ñ˜I°9¸eÕDr'   c                 ó*   • U R                  XSU5        g r¢   ©rŸ   )rO   r"   r#   Ú
index_names       r%   Úremove_indexÚProjectState.remove_indexÙ   s   € Ø×Ñ˜I°9¸jÕIr'   c                 ó  • U R                   X4   nUR                  S   n/ nU H:  nUR                  U:X  a  UR                  5       nXHl        UR	                  U5        M<     XuR                  S'   U R                  XSS9  g )Nr£   Trm   )r   rˆ   rq   rp   r3   r]   )	rO   r"   r#   Úold_index_nameÚnew_index_namer^   r’   Únew_indexesr“   s	            r%   Úrename_indexÚProjectState.rename_indexÜ   s   € Ø—k‘k )Ð"7Ñ8ˆØ×"Ñ" 9Ñ-ˆàˆÛˆCØ�x‰x˜>Ó)Ø—i‘i“k�Ø)”Ø×Ñ˜sÖ#ñ	 ð *5×Ñ˜IÑ&Ø×Ñ˜)°tÐÒ<r'   c                 ó*   • U R                  XSU5        g ©NÚconstraintsr¤   )rO   r"   r#   Ú
constraints       r%   Úadd_constraintÚProjectState.add_constraintê   s   € Ø×Ñ˜I°=À*ÕMr'   c                 ó*   • U R                  XSU5        g r´   r©   )rO   r"   r#   Úconstraint_names       r%   Úremove_constraintÚProjectState.remove_constraintí   s   € Ø×Ñ˜I°=À/ÕRr'   c                 ó  • U(       d  UR                  5       n[        Ul        OUnX4nX@R                  U   R                  U'   U R
                  b  U R                  XcU5        UR                  (       + nU R                  " USU06  g ©Nrn   )	rp   r   Údefaultr   ru   rN   Úresolve_model_field_relationsr0   r]   )rO   r"   r#   rq   r€   Úpreserve_defaultr_   rn   s           r%   Ú	add_fieldÚProjectState.add_fieldð   sv   € æØ—K‘K“MˆEÜ(ˆE�MàˆEØÐ)ˆ	Ø.3�‰�IÑ×%Ñ% dÑ+Ø�?‰?Ñ&Ø×.Ñ.¨yÀÔFà×%Ñ%Ô%ˆØ×Ò˜9Ð2¨EÓ2r'   c                 óâ   • X4nU R                   U   nUR                  R                  U5      nU R                  b  U R	                  XCU5        UR
                  (       + nU R                  " USU06  g r¾   )r   ru   rc   rN   rÀ   r0   r]   )rO   r"   r#   rq   r_   r^   Ú	old_fieldrn   s           r%   Úremove_fieldÚProjectState.remove_fieldÿ   si   € ØÐ)ˆ	Ø—k‘k )Ñ,ˆØ×&Ñ&×*Ñ*¨4Ó0ˆ	Ø�?‰?Ñ&Ø×.Ñ.¨yÀ	ÔJà×)Ñ)Ô)ˆØ×Ò˜9Ð2¨EÓ2r'   c                 óØ  • U(       d  UR                  5       n[        Ul        OUnX4nU R                  U   R                  nU R
                  b\  UR                  U5      nUR                  (       a  U R                  XcU5        XGU'   UR                  (       a  U R                  XcU5        OXGU'   UR                  (       + =(       a    [        XX445      (       + n	U R                  " USU	06  g r¾   )rp   r   r¿   r   ru   rN   rc   r0   rÀ   r   r]   )
rO   r"   r#   rq   r€   rÁ   r_   ru   rÅ   rn   s
             r%   Úalter_fieldÚProjectState.alter_field	  sÏ   € ÞØ—K‘K“MˆEÜ(ˆE�MàˆEØÐ)ˆ	Ø—‘˜YÑ'×.Ñ.ˆØ�?‰?Ñ&ØŸ
™
 4Ó(ˆIØ×$×$Ø×2Ñ2°9ÀIÔNØ �4‰LØ× × Ø×2Ñ2°9ÀEÔJøà �4‰Lð
 ×%Ñ%Ô%÷ 
Ô.AØ˜d˜]ó/
ô +
ˆð 	×Ò˜9Ð2¨EÓ2r'   c           
      óN  • X4nU R                   U   nUR                  n UR                  U5      nX‡U'   UR                  5        HA  n	[        U	SS 5      n
U
(       d  M  [        U
 Vs/ s H  nX³:X  a  UOUPM     sn5      U	l        MC     UR                  nS H;  nXÜ;   d  M
  XÍ    VVs/ s H  nU Vs/ s H  oÿU:X  a  UOUPM     snPM     snnXÍ'   M=     Sn[        XX845      nU Hu  Gt nn	nSnUR                  (       d  M  UR                  u  nn[        USS 5      U:X  a  UUl        U(       d  ML  [        U Vs/ s H  nUU:X  a  UOUPM     sn5      U	l        Mw     U R                  bo  UR                  5       nUR                  5       nU R                  R                  5        H1  nUUU   ;   d  M  UU   R                  U5      n	UU	l        U	UU   U'   M3     U R"                  " US	U06  g ! [         a    [	        U SU SU S35      ef = fs  snf s  snf s  snnf s  snf )
Nr   z has no field named 'Ú'Úfrom_fields)Úindex_togetherÚunique_togetherTFÚ
field_namern   )r   ru   rc   ÚKeyErrorr
   rv   Úgetattrr    rÍ   rˆ   r   rr   rÐ   Ú	to_fieldsrN   ro   rq   r]   )rO   r"   r#   rx   ry   r_   r^   ru   Úfoundr€   rÍ   Úfrom_field_namerˆ   ÚoptionÚtogetherÚnrn   Ú
referencesÚ_r�   rs   rÓ   Úto_field_namerz   r{   Úto_models                             r%   Úrename_fieldÚProjectState.rename_field#  sY  € ØÐ)ˆ	Ø—k‘k )Ñ,ˆà×#Ñ#ˆð	Ø—J‘J˜xÓ(ˆEð
 !ˆxÑØ—]‘]–_ˆEä! %¨¸Ó=ˆKßˆ{Ü$)ñ 0;óâ/:˜Oð %4Ó$?™À_ÒTÙ/:ñó%�Ö!ñ	 %ð ×%Ñ%ˆÛ;ˆFØÕ ð %,¢Oô#â$3˜ñ @HÓHºx¸! h£‘X°AÒ5¹xÔHÙ$3ò#�“ñ <ð ˆÜ# D°hÐ5FÓGˆ
Û$.Ñ ˆQ��yØˆEØ�|�|‰|Ø*3¯,©,Ñ'�˜iÜ˜<¨°tÓ<ÀÓHØ.6�LÔ+ß�9Ü&+ñ 2;óâ1: ð )6¸Ó(A™HÀ}ÒTÙ1:ñó'�E–Oñ %/ð �?‰?Ñ&Ø%Ÿ^™^Ó-ˆNØ%Ÿ^™^Ó-ˆNØ ŸO™O×2Ñ2Ö4�Ø! X¨iÑ%8Õ8Ø$ YÑ/×3Ñ3°NÓC�EØ!/�E”JØ:?�H˜YÑ'¨Ó7ñ	 5ð
 	×Ò˜9Ð2¨EÓ2øô_ ó 	Ü#Ø�+˜Q˜z˜lÐ*?À¸zÈÐKóð ð	üòùò Iùó#ùòs/    G0 Á'H
Â)
HÂ3HÃHÄ=H"
Ç0HÈHc                 óJ  • U(       a  SU l         [        5       n U R                  R                  X5      nU(       a  [	        U5      nO[        U5      n U R                  X4   n[        5       nUR                  R                  5        Hn  nUR                  (       d  M  UR                  R                  [        :X  a  M6  [        UR                  U5      u  pšUR!                  XšR#                  5       45        Mp     UR%                  U5        U H^  u  pš U R                  R                  Xš5      nU(       a  UR%                  [	        U5      5        MD  UR%                  [        U5      5        M`     UR!                  X45        U$ ! [         a     GN<f = f! [         a     M”  f = f)NT)rM   r.   r   Ú	get_modelr?   rF   ÚLookupErrorr   ru   rv   r0   rs   r$   r   r&   r1   r2   ro   Úupdate)rO   r"   r#   rn   r8   Ú	old_modelr^   Údirect_related_modelsr€   rD   rE   Ú	rel_models               r%   Ú_find_reload_modelÚProjectState._find_reload_model[  s{  € ÞØ"ˆDŒOä›ˆð
	IØŸ	™	×+Ñ+¨IÓBˆIö Ü!:¸9Ó!E‘ä!=¸iÓ!H‘ð —k‘k 9Ð"9Ñ:ˆô !$£ÐØ ×'Ñ'×.Ñ.Ö0ˆEØ× × Ñ Ø×%Ñ%×+Ñ+Ô/NÓNÙÜ0MØ×'Ñ'¨ó1Ñ-�ð &×)Ñ)¨=×:NÑ:NÓ:PÐ*QÖRñ 1ð 	×ÑÐ3Ô4Û-BÑ)ˆMðSØ ŸI™I×/Ñ/°ÓN�	ö Ø"×)Ñ)Ô*CÀIÓ*NÖOà"×)Ñ)Ô*FÀyÓ*QÖRñ .Cð 	×Ñ˜IÐ2Ô3àÐøôQ ó 	Úð	ûô: ó Úðús#   šF ÄFÆ
FÆFÆ
F"Æ!F"c                 ól   • SU R                   ;   a$  U R                  XU5      nU R                  U5        g g rY   )r\   ræ   Ú_reload)rO   r"   r#   rn   r8   s        r%   r]   ÚProjectState.reload_model�  s1   € Ø�T—]‘]Ó"Ø!×4Ñ4°YÈEÓRˆNØ�L‰L˜Õ(ð #r'   c                 ó´   • SU R                   ;   aH  [        5       nU H&  u  pEUR                  U R                  XEU5      5        M(     U R	                  U5        g g rY   )r\   r.   râ   ræ   ré   )rO   r   rn   r8   r"   r#   s         r%   rw   ÚProjectState.reload_models’  sS   € Ø�T—]‘]Ó"Ü ›UˆNÛ)/Ñ%�	Ø×%Ñ%Ø×+Ñ+¨IÀ5ÓIöñ *0ð �L‰L˜Õ(ð #r'   c                 ó  • U R                   R                  5          U H   u  p#U R                   R                  X#5        M"     S S S 5        / nU R                   R                   H2  nUR                  UR
                  4U;   d  M!  UR                  U5        M4     U H'  u  p# U R                  X#4   nUR                  U5        M)     U R                   R                  U5        g ! , (       d  f       N¥= f! [         a     Me  f = frS   )
r   Úbulk_updaterf   Úreal_modelsr"   rZ   r3   r   rÑ   Úrender_multiple)rO   r8   rD   rE   Ústates_to_be_renderedr^   s         r%   ré   ÚProjectState._reload›  sâ   € à�Y‰Y×"Ñ"Õ$Û1?Ñ-�Ø—	‘	×*Ñ*¨=ÖIñ 2@÷ %ð !#Ðð  Ÿ9™9×0Ô0ˆKØ×%Ñ% {×'=Ñ'=Ð>À.ÕPØ%×,Ñ,¨[Ö9ñ 1ó
 .<Ñ)ˆMð:Ø"Ÿk™k¨-Ð*GÑH�ð &×,Ñ,¨[Ö9ñ .<ð 	�	‰	×!Ñ!Ð"7Õ8÷- %Õ$ûô  ó Úðús   ›'C!Â C2Ã!
C/Ã2
D Ã?D c                 óð   • [        U/UQ76 nUS   U R                  ;  a	  Xe;   a  XV   nU R                  U   nX0R                  U   R                  ;   a  X7U   ;  d   eXGU   U'   g Xr   U	 Xr   (       d  Xr	 g g )Nr   )r   rL   rN   r   ru   )rO   r$   r_   rÐ   r€   Ú	concretesÚremote_model_keyÚrelations_to_remote_models           r%   Úupdate_model_field_relationÚ(ProjectState.update_model_field_relationµ  s•   € ô ,¨EÐ>°IÒ>ÐØ˜AÑ d§n¡nÓ4Ð9IÓ9VØ(Ñ:ÐØ$(§O¡OÐ4DÑ$EÐ!ØŸ™ YÑ/×6Ñ6Ó6ð ¸yÑ%IÓIÐIÐIØ?D iÑ0°Ò<à)Ñ4°ZÐ@Ø,×7Ø-Ñ8ð 8r'   c                 óä   • UR                   nU(       d  g Uc  U R                  5       u  pFU R                  UR                  UUUU5        [	        USS 5      nU(       d  g U R                  XqX#U5        g )Nrt   )rs   Ú-_get_concrete_models_mapping_and_proxy_modelsr÷   r$   rÒ   )rO   r_   rÐ   r€   rô   rs   rÚ   rt   s           r%   rÀ   Ú*ProjectState.resolve_model_field_relationsÌ  sy   € ð ×)Ñ)ˆÞØØÑØ×MÑMÓO‰LˆIà×(Ñ(Ø×ÑØØØØô	
ô ˜,¨	°4Ó8ˆÞØØ×(Ñ(Ø 
°9õ	
r'   c                 ó¶   • Uc  U R                  5       u  p#U R                  U   nUR                  R                  5        H  u  pVU R	                  XXb5        M     g rS   )rú   r   ru   re   rÀ   )rO   r_   rô   rÚ   r^   rÐ   r€   s          r%   r[   Ú$ProjectState.resolve_model_relationsè  sR   € ØÑØ×MÑMÓO‰LˆIà—k‘k )Ñ,ˆØ!,×!3Ñ!3×!9Ñ!9Ö!;ÑˆJØ×.Ñ.¨yÀeÖWò "<r'   c                 ó‚  • U R                   R                  5        H,  nUR                  R                  5        H  u  p#X#l        M     M.     [        [        [
        [        5      5      U l        U R                  5       u  pEU H  nU R                  Xd5        M     U H!  nU R                  XF      U R                  U'   M#     g rS   )r   rv   ru   re   rq   r   r   ÚdictrN   rú   r[   )rO   r^   rÐ   r€   rô   Úproxiesr_   s          r%   rT   Ú)ProjectState.resolve_fields_and_relationsð  sŸ   € àŸ;™;×-Ñ-Ö/ˆKØ%0×%7Ñ%7×%=Ñ%=Ö%?Ñ!�
Ø'–
ó &@ñ 0ô
 &¤g¬k¼4Ó&@ÓAˆŒØ!×OÑOÓQÑˆ	ã"ˆIØ×(Ñ(¨Ö>ñ #ó !ˆIØ)-¯©¸Ñ9MÑ)NˆD�O‰O˜IÓ&ò !r'   c                 óF   • U R                  5       u  nn[        U5      nX$   $ rS   )rú   r   )rO   r$   Úconcrete_models_mappingrÚ   r_   s        r%   Úget_concrete_model_keyÚ#ProjectState.get_concrete_model_key   s.   € ð ×>Ñ>Ó@ñ	
Ø#Øä$ UÓ+ˆ	Ø&Ñ1Ð1r'   c                 óÔ   • 0 n0 nU R                   R                  5        HD  u  p4UR                  R                  S5      (       a  XBU'   U R	                  UU5      UU'   M@  X1U'   MF     X4$ )Nr4   )r   re   rˆ   r�   Ú_find_concrete_model_from_proxy)rO   r  Úproxy_modelsr_   r^   s        r%   rú   Ú:ProjectState._get_concrete_models_mapping_and_proxy_models  s~   € Ø"$ÐØˆà&*§k¡k×&7Ñ&7Ö&9Ñ"ˆIØ×"Ñ"×&Ñ& w×/Ñ/Ø*5˜YÑ'ð ×8Ñ8Ø Øóð (Øóð 6?¨	Ó2ñ ':ð 'Ð4Ð4r'   c                 ó  • UR                    Hq  n[        U[        5      (       d!  [        U[        R
                  5      (       d  M9  [        U5      nUR                  U5      nU(       d  Us  $ U R                  X5      s  $    g rS   )	Úbasesr   r   r,   r   r-   r   r�   r  )rO   r  r^   ÚbaseÚbase_keyÚ
base_states         r%   r  Ú,ProjectState._find_concrete_model_from_proxy  se   € Ø×%Ô%ˆDÜ˜t¤S×)Ñ)¬Z¸¼f¿l¹l×-KÑ-KÙÜ'¨Ó-ˆHØ%×)Ñ)¨(Ó3ˆJÞà’Ø×7Ñ7¸ÓQÒQò &r'   c           	      ó0  • [        U R                  R                  5        VVs0 s H  u  pXR                  5       _M     snnU R                  S9nSU R
                  ;   a  U R                  R                  5       Ul        U R                  Ul        U$ s  snnf )z*Return an exact copy of this ProjectState.©r   rL   r   )rH   r   re   rp   rL   r\   r   rM   )rO   ÚkÚvÚ	new_states       r%   rp   ÚProjectState.clone%  sv   € ä Ø-1¯[©[×->Ñ->Ô-@ÔAÒ-@¡T Q�A—w‘w“y’LÑ-@ÒAØ—n‘nñ
ˆ	ð �T—]‘]Ó"Ø!ŸY™YŸ_™_Ó.ˆIŒNØ#Ÿ™ˆ	ÔØÐùó Bs   £B
c                 ód   • U R                   (       a  SU R                  ;   a  U R                  S	 g g g rY   )rM   r\   rU   s    r%   Úclear_delayed_apps_cacheÚ%ProjectState.clear_delayed_apps_cache0  s'   € Ø�?�?˜v¨¯©Ó6Ø—‘˜fÑ%ð  7ˆ?r'   c                 óB   • [        U R                  U R                  5      $ rS   )Ú	StateAppsrL   r   rU   s    r%   r   ÚProjectState.apps4  s   € ä˜Ÿ™¨¯©Ó5Ð5r'   c                 ó    • 0 nUR                  SS9 H2  n[        R                  U5      nXBUR                  UR                  4'   M4     U " U5      $ )z3Take an Apps and return a ProjectState matching it.T)Úinclude_swapped)Ú
get_modelsÚ
ModelStateÚ
from_modelr"   rZ   )Úclsr   Ú
app_modelsr$   r^   s        r%   Ú	from_appsÚProjectState.from_apps8  sS   € ð ˆ
Ø—_‘_°T�_Ó:ˆEÜ$×/Ñ/°Ó6ˆKØJU˜×-Ñ-¨{×/EÑ/EÐFÓGñ ;ñ �:‹Ðr'   c                 ót   • U R                   UR                   :H  =(       a    U R                  UR                  :H  $ rS   r  ©rO   Úothers     r%   Ú__eq__ÚProjectState.__eq__A  s'   € Ø�{‰{˜eŸl™lÑ*×P¨t¯~©~ÀÇÁÑ/PÐPr'   )rN   rM   r   rL   )NNrS   ©F)T),Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rP   ÚpropertyrV   r`   rj   r…   r‹   r”   r˜   r›   rŸ   r¦   r«   r±   r·   r»   rÂ   rÆ   rÉ   rÝ   ræ   r]   rw   ré   r÷   rÀ   r[   rT   r  rú   r  rp   r  r   r   Úclassmethodr#  r(  Ú__static_attributes__© r'   r%   rH   rH   ]   sô   † ñô
ð ñó ðò
*ò$ò %AôN=ò=ò=ò
=ò
=òEòJò=òNòSò3ò3ò3ò463ôp0ôd)ô
)ò9ò49ð8 ô
ô8XòOò 2ò5ò$	Rò	ò&ð ñ6ó ð6ð ñó ðõQr'   rH   c                   ó$   • \ rS rSrSrS rS rSrg)ÚAppConfigStubiE  zAStub of an AppConfig. Only provides a label and a dict of models.c                 ó8   • S U l         0 U l        Xl        Xl        g rS   )r   r   Úlabelrq   )rO   r7  s     r%   rP   ÚAppConfigStub.__init__H  s   € ØˆŒ	ØˆŒð Œ
Ø�	r'   c                 óT   • U R                   R                  U R                     U l        g rS   )r   Ú
all_modelsr7  r   rU   s    r%   Úimport_modelsÚAppConfigStub.import_modelsQ  s   € Ø—i‘i×*Ñ*¨4¯:©:Ñ6ˆ�r'   )r   r7  r   rq   N)r+  r,  r-  r.  r/  rP   r;  r2  r3  r'   r%   r5  r5  E  s   † ÙKòõ7r'   r5  c                   óX   ^ • \ rS rSrSrS
U 4S jjr\S 5       rS rS r	S r
S rS	rU =r$ )r  iU  zc
Subclass of the global Apps registry class to better handle dynamic model
additions and removals.
c           	      óæ  >• / U l         U H]  n[        R                  " U5      nUR                  5        H0  nU R                   R	                  [
        R                  USS95        M2     M_     UR                  " 5        Vs1 s H  owR                  iM     nn[        / UQUQ5       V	s/ s H  n	[        U	5      PM     n
n	[        TU ]1  U
5        S U l        S U l        U R                  / UR                  " 5       QU R                   Q5        SSKJn  U(       a  [%        [&        R(                  5      1O	[+        5       nU" XS9nU(       a!  [-        SR/                  S U 5       5      5      eg s  snf s  sn	f )NT)Úexclude_relsr   )Ú_check_lazy_references)ÚignoreÚ
c              3   ó8   #   • U  H  oR                   v •  M     g 7frS   )Úmsg)Ú.0Úerrors     r%   Ú	<genexpr>Ú%StateApps.__init__.<locals>.<genexpr>}  s   é € Ð&Eºf°U§y¦yºfùs   ‚)rï   Úglobal_appsÚget_app_configr  r3   r  r   rv   r"   Úsortedr5  ÚsuperrP   Ú_lockÚready_eventrð   Údjango.core.checks.model_checksr@  r   r	   ÚAUTH_USER_MODELr.   Ú
ValueErrorÚjoin)rO   rL   r   Úignore_swappabler"   Úappr$   r^   Ú
app_labelsr7  Úapp_configsr@  rA  ÚerrorsÚ	__class__s                 €r%   rP   ÚStateApps.__init__[  sW  ø€ ð ˆÔÛ"ˆIÜ×,Ò,¨YÓ7ˆCØŸ™Ö)�Ø× Ñ ×'Ñ'¬
×(=Ñ(=¸eÐRVÐ(=Ð(WÖXó *ñ #ð
 @F¿}º}¼ÓOº°×+Ô+¹ˆ
ÐOä.4Ð5N°yÐ5NÀ:Ð5NÔ.Oó
Ú.O UŒM˜%Ö Ñ.Oð 	ð 
ô 	‰Ñ˜Ô%ð
 ˆŒ
ØˆÔà×ÑÐB˜vŸ}š}›ÐB°×1AÑ1AÐBÔCõ 	Kö =MÔœh×6Ñ6Ó7Ñ8ÔRUÓRWð 	ñ (¨Ñ<ˆÞÜ˜TŸY™YÑ&E¹fÓ&EÓEÓFÐFð ùò+ Pùò
s   Á?E)Â'E.c              #   óž   #   • U R                   nSU l          S v •  Xl         U R                  5         g ! Xl         U R                  5         f = f7frK   )Úreadyrg   )rO   r[  s     r%   rî   ÚStateApps.bulk_update  sD   é € ð —
‘
ˆØˆŒ
ð	ÛàŒJØ×ÑÕøð ŒJØ×ÑÕüs   ‚A—2 ›A²A
Á
Ac                 óv  • U(       d  g U R                  5          UnU(       a\  / nU H  n UR                  U 5        M     [	        U5      [	        U5      :X  a  [        SU< S[        5       < S35      eUnU(       a  M\  S S S 5        g ! [         a    UR                  U5         M  f = f! , (       d  f       g = f)NzCannot resolve bases for z£
This can happen if you are inheriting models from an app with migrations (e.g. contrib.auth)
 in an app with no migrations; see https://docs.djangoproject.com/en/z)/topics/migrations/#dependencies for more)rî   Úrenderr   r3   r   r   )rO   Úmodel_statesÚunrendered_modelsÚnew_unrendered_modelsr$   s        r%   rð   ÚStateApps.render_multiple‹  s´   € ö
 Øà×ÑÕØ ,ÐÞ#Ø(*Ð%Û.�Eð<ØŸ™ TÖ*ñ /ô
 Ð,Ó-´Ð5FÓ1GÓGÝ+ó 1Ô2BÖ2DðFóð ð %:Ð!÷! $Ð#÷  Ðøô -ó <Ø-×4Ñ4°U×;ð<ú÷  Õús.   ™B*«B¼AB*ÂB'Â#B*Â&B'Â'B*Â*
B8c                 ó  • [        / 0 5      n[        R                  " U R                  5      Ul        U R                   H2  n[        U5      nXl        UR                  5         X1R                  U'   M4     U R                  Ul        U$ )z Return a clone of this registry.)	r  ÚcopyÚdeepcopyr:  rV  r5  r   r;  rï   )rO   rp   r"   Ú
app_configs       r%   rp   ÚStateApps.clone§  sq   € ä˜"˜bÓ!ˆÜŸ=š=¨¯©Ó9ˆÔà×)Ô)ˆIÜ& yÓ1ˆJØ#ŒOØ×$Ñ$Ô&Ø+5×Ñ˜iÓ(ñ	 *ð !×,Ñ,ˆÔØˆr'   c                 ób  • X R                   U   UR                  R                  '   XR                  ;  a+  [	        U5      U R                  U'   X R                  U   l        X R                  U   R                  UR                  R                  '   U R                  U5        U R                  5         g rS   )	r:  r!   r#   rV  r5  r   r   Údo_pending_operationsrg   )rO   r"   r$   s      r%   Úregister_modelÚStateApps.register_model¶  sŒ   € Ø=B�‰˜	Ñ" 5§;¡;×#9Ñ#9Ñ:Ø×,Ñ,Ó,Ü*7¸	Ó*BˆD×Ñ˜YÑ'Ø/3×Ñ˜YÑ'Ô,ØEJ×Ñ˜Ñ#×*Ñ*¨5¯;©;×+AÑ+AÑBØ×"Ñ" 5Ô)Ø×ÑÕr'   c                 óz   •  U R                   U   U	 U R                  U   R                  U	 g ! [         a     g f = frS   )r:  rV  r   rÑ   )rO   r"   r#   s      r%   rf   ÚStateApps.unregister_model¿  sC   € ð	Ø—‘ 	Ñ*¨:Ð6Ø× Ñ  Ñ+×2Ñ2°:Ñ>øÜó 	Ùð	ús   ‚*- ­
:¹:)rM  r[  rN  rï   r*  )r+  r,  r-  r.  r/  rP   r   rî   rð   rp   rj  rf   r2  Ú__classcell__)rX  s   @r%   r  r  U  s<   ø† ñ÷
"GðH ñ	ó ð	ò:ò8ò÷ð r'   r  c                   óx   • \ rS rSrSr SS jr\S 5       rS r\	SS j5       r
S rS	 rS
 rS rS rS rS rSrg)r  iÇ  a�  
Represent a Django Model. Don't use the actual Model class as it's not
designed to have its options changed - instead, mutate this one and then
render it into a Model as required.

Note that while you are allowed to mutate .fields, you are not allowed
to mutate the Field instances inside there themselves - you must instead
assign new ones, as these are not detached during a clone.
Nc                 ó  • Xl         X l        [        U5      U l        U=(       d    0 U l        U R                  R                  S/ 5        U R                  R                  S/ 5        U=(       d    [        R                  4U l        U=(       d    / U l	        U R                  R                  5        H¤  u  p'[        US5      (       a  [        SU-  5      eUR                  (       a)  [        UR                  S5      (       a  [        SU-  5      eUR                  (       d  Mq  [        UR                   R"                  S5      (       d  M˜  [        SU-  5      e   U R                  S    H"  nUR                  (       a  M  [        SU-  5      e   g )	Nr£   rµ   r$   z7ModelState.fields cannot be bound to a model - "%s" is.r!   z_ModelState.fields cannot refer to a model class - "%s.to" does. Use a string reference instead.zdModelState.fields cannot refer to a model class - "%s.through" does. Use a string reference instead.zKIndexes passed to ModelState require a name attribute. %r doesn't have one.)r"   rq   rÿ   ru   rˆ   Ú
setdefaultr   r-   r  r—   re   ÚhasattrrQ  r0   r1   Úmany_to_manyrs   rt   )	rO   r"   rq   ru   rˆ   r  r—   r€   r¥   s	            r%   rP   ÚModelState.__init__Ò  sU  € ð #ŒØŒ	Ü˜6“lˆŒØ—} "ˆŒØ�‰×Ñ 	¨2Ô.Ø�‰×Ñ ¨rÔ2Ø×-œvŸ|™|˜oˆŒ
Ø Ÿ BˆŒØŸ;™;×,Ñ,Ö.‰KˆDä�u˜g×&Ñ&Ü ØMÐPTÑTóð ð × × ¤W¨U×-@Ñ-@À'×%JÑ%JÜ ð6Ø8<ñ=óð ð ×!×!Ñ!¤g¨e×.@Ñ.@×.HÑ.HÈ'×&RÓ&RÜ ð<Ø>BñCóð ñ /ð$ —\‘\ )Ô,ˆEØ—:—:‘:Ü ð+Ø-2ñ3óð ò -r'   c                 ó6   • U R                   R                  5       $ rS   )rq   ro   rU   s    r%   rZ   ÚModelState.name_lowerö  s   € à�y‰y�‰Ó Ð r'   c                 ód   • US:X  a  U R                   R                  SU5      nU R                  U   $ )NÚ_orderÚorder_with_respect_to)rˆ   r�   ru   )rO   rÐ   s     r%   Ú	get_fieldÚModelState.get_fieldú  s0   € Ø˜Ó!ØŸ™×)Ñ)Ð*AÀ:ÓNˆJØ�{‰{˜:Ñ&Ð&r'   c           
      óÆ	  ^^• / nTR                   R                   Hl  n[        USS5      (       a	  U(       a  M  [        U[        R
                  5      (       a  M?  UR                  n UR                  XTR                  5       45        Mn     U(       dJ  TR                   R                   H0  nUR                  n UR                  XTR                  5       45        M2     0 n[         GH^  nUS;   a  M  UTR                   R                  ;   d  M(  US:X  a1  TR                   R                  S   n[        [!        U5      5      Xu'   M_  US	:X  a1  TR                   R                  S	   n	[        [!        U	5      5      Xu'   M–  US
:X  ag  TR                   R"                   V
s/ s H  oªR                  5       PM     nn
U H'  nUR                  (       a  M  UR%                  T5        M)     X·S
'   GM  US:X  a:  TR                   R&                   Vs/ s H  oÝR                  5       PM     snUS'   GMC  TR                   R                  U   Xu'   GMa     U(       a  S H  nXç;   d  M
  X~	 M     OFUR)                  S5      TR                   R*                   Vs1 s H  oDR                  iM     sn;   a  US	 U4S jm[-        [        T" T5      5      U4S jS9n[/        S U 5       5      n[1        S U 5       5      (       d  [        R2                  4n/ n[        5       nSnTR                   R4                   Hî  nUR                  U;   a  M  UR6                  (       a'  [8        R8                  " U5      nUR;                  5         OiUTR<                  L d  UTR>                  L aI  [        R@                  " 5       nURB                  Ul!        UR                  Ul        UTR>                  L a  UnOM¶  URE                  UR                  5        UR                  UR                  U45        Mð     USU4/:X  a  / nU " TR                   RF                  TR                   R                  UUUU5      $ ! [         a0  n[        SU< STR                   R                  < SU< 35      eSnAff = f! [         a0  n[        SU< STR                   R                  < SU< 35      eSnAff = fs  sn
f s  snf s  snf )z3Given a model, return a ModelState representing it.rs   NzCouldn't reconstruct field z on z: zCouldn't reconstruct m2m field )r   r"   rÏ   rÎ   r£   rµ   )rÏ   rÎ   ry  ry  c                 óÞ   >• / nU R                    HY  n[        US5      (       a4  UR                  R                  (       a  UR	                  T" U5      5        MH  UR                  U5        M[     U$ )Nr!   )Ú	__bases__rr  r!   ÚabstractrA   r3   )r$   r  r  Úflatten_basess      €r%   r€  Ú,ModelState.from_model.<locals>.flatten_basesH  sS   ø€ ØˆEØŸœ�Ü˜4 ×)Ñ)¨d¯j©j×.A×.AØ—L‘L¡¨tÓ!4Ö5à—L‘L Ö&ñ	 (ð
 ˆLr'   c                 ó:   >• TR                   R                  U 5      $ rS   )Ú__mro__r¥   )Úxr$   s    €r%   Ú<lambda>Ú'ModelState.from_model.<locals>.<lambda>W  s   ø€ °U·]±]×5HÑ5HÈÔ5Kr'   ©rŠ   c              3   ót   #   • U  H.  n[        US 5      (       a  UR                  R                  OUv •  M0     g7f)r!   N)rr  r!   Úlabel_lower©rE  r  s     r%   rG  Ú(ModelState.from_model.<locals>.<genexpr>[  s2   é € ð 
â'�ô (/¨t°W×'=Ñ'=ˆT�Z‰Z×#Ò#À4ÔGÚ'ùs   ‚68c              3   ó„   #   • U  H6  n[        U[        5      =(       d    [        U[        R                  5      v •  M8     g 7frS   )r   r   r,   r   r-   rŠ  s     r%   rG  r‹  `  s.   é € ð 
ÚRWÈ$ŒZ˜œcÓ"×D¤j°´v·|±|Ó&DÔDÒRWùs   ‚>A Úobjects)$r!   Úlocal_fieldsrÒ   r   r   ÚOrderWrtrq   r3   rp   Ú	TypeErrorr7  Úlocal_many_to_manyÚobject_namer   Úoriginal_attrsr.   r   r£   Úset_name_with_modelrµ   r�   Úprivate_fieldsrK  r    Úanyr-   r—   Úuse_in_migrationsrd  Ú_set_creation_counterÚ_base_managerÚ_default_managerÚManagerr$   r2   r"   )r!  r$   r?  ru   r€   rq   Úerˆ   ÚutÚitÚidxr£   r¥   ÚconrŠ   Úflattened_basesr  r—   Úmanager_namesÚdefault_manager_shimÚmanagerÚnew_managerr€  s    `                    @r%   r   ÚModelState.from_modelÿ  s>  ù€ ð ˆØ—[‘[×-Ô-ˆEÜ�u˜n¨d×3Ñ3¾ÙÜ˜%¤§¡×1Ñ1ÙØ—:‘:ˆDð
Ø—‘˜t§[¡[£]Ð3Ö4ñ .ö" ØŸ™×7Ô7�Ø—z‘z�ð
Ø—M‘M 4¯©«Ð"7Ö8ñ 8ð ˆß!�MˆDàÐ,Ó,ÙØ˜Ÿ™×3Ñ3Õ3ØÐ,Ó,ØŸ™×3Ñ3Ð4EÑF�BÜ$'Ô(:¸2Ó(>Ó$?�G“MØÐ-Ó-ØŸ™×3Ñ3Ð4DÑE�BÜ$'Ô(:¸2Ó(>Ó$?�G“MØ˜YÓ&Ø6;·k±k×6IÒ6IÓJÒ6I¨sŸy™yž{Ñ6I�GÐJÛ!(˜Ø$ŸzŸz™zØ!×5Ñ5°eÖ<ñ ")ð *1˜IÔ&Ø˜]Ó*à/4¯{©{×/FÒ/Fó.Ú/F¨Ÿ	™	žÑ/Fñ.�G˜MÔ*ð %*§K¡K×$>Ñ$>¸tÑ$D�G”Mñ- "ö2 ÛU�Ø•>Øšò Vð �[‰[Ð0Ó1Ø$)§K¡K×$>Ò$>ó6
Ú$>˜5�JŒJÑ$>ñ6
ó 
ð Ð/Ð0õ	ô !Ü‘˜eÓ$Ó%Ô+Kñ
ˆô
 ñ 
á'ó
ó 
ˆô
 ñ 
ÙRWó
÷ 
ñ 
ô —\‘\�OˆEàˆÜ›ˆØ#ÐØ—{‘{×+Ô+ˆGØ�|‰|˜}Ó,áØ×*×*ä"Ÿiši¨Ó0�Ø×1Ñ1Õ3Ø˜E×/Ñ/Ò/°7¸e×>TÑ>TÒ3Tä$ŸnšnÓ.�Ø$+§M¡M�Ô!Ø#*§<¡<�Ô Ø˜e×4Ñ4Ò4Ø+6Ð(øáØ×Ñ˜gŸl™lÔ+Ø�O‰O˜WŸ\™\¨;Ð7Ö8ñ% ,ð* ˜Ð$8Ð9Ð:Ó:ØˆHñ Ø�K‰K×!Ñ!Ø�K‰K×#Ñ#ØØØØó
ð 	
øôk ó Ýó ØŸ™×)Ô)Úð	óð ûðûô !ó Ý#ó !Ø!ŸK™K×3Ô3Úð	óð ûðüò. Kùò.ùò6
sB   Á' QÂ8 RÆSÈSÊ	SÑ
RÑ$+RÒRÒ
SÒ!+SÓSc              #   óî   #   • [        U R                  S S9nU HV  u  p#UR                  5       u  pEpgnU(       a   [        U5      n	X)R	                  5       4v •  M@  [        U5      n
X*" U0 UD64v •  MX     g7f)z-Deep-clone the managers using deconstruction.c                 ó    • U S   R                   $ )Nr   )Úcreation_counter)r  s    r%   r…  Ú/ModelState.construct_managers.<locals>.<lambda>�  s   € ¸aÀ¹d×>SÒ>Sr'   r‡  N)rK  r—   Údeconstructr   Ú
as_manager)rO   Úsorted_managersÚmgr_namer¤  r¬  Úmanager_pathÚqs_pathÚargsÚkwargsÚqs_classÚmanager_classs              r%   Úconstruct_managersÚModelState.construct_managersŠ  sx   é € ô ! §¡Ñ4SÑTˆÛ!0ÑˆHØ>E×>QÑ>QÓ>SÑ;ˆJ g°VÞÜ(¨Ó1�Ø× 3Ñ 3Ó 5Ð5Ô5ä -¨lÓ ;�Ø ¨tÐ >°vÑ >Ð>Ô>ò "1ùs   ‚A3A5c           
      óØ   • U R                  U R                  U R                  [        U R                  5      [        U R
                  5      U R                  [        U R                  5      S9$ )z(Return an exact copy of this ModelState.)r"   rq   ru   rˆ   r  r—   )	rX  r"   rq   rÿ   ru   rˆ   r  rd   r—   rU   s    r%   rp   ÚModelState.clone—  sS   € à�~‰~Ø—n‘nØ—‘Ü˜Ÿ™Ó$ô ˜Ÿ™Ó&Ø—*‘*Ü˜$Ÿ-™-Ó(ð ð 

ð 
	
r'   c                 óâ  ^• U R                   TS.U R                  En[        SSU5      n [        U4S jU R                   5       5      nU R                  R                  5        VVs0 s H  u  pVXVR                  5       _M     nnnX7S'   SUS'   UR                  U R                  5       5        [        U R                  XG5      $ ! [
         a    [        SU R                  < 35      ef = fs  snnf )zACreate a Model object from our current state into the given apps.)r"   r   ÚMetar3  c              3   ót   >#   • U  H-  n[        U[        5      (       a  TR                  U5      OUv •  M/     g 7frS   )r   r   rà   )rE  r  r   s     €r%   rG  Ú$ModelState.render.<locals>.<genexpr>¬  s2   øé € ð â&�Dô *4°D¼#×)>Ñ)>�—‘ Ô%ÀDÔHÚ&ùs   ƒ58z&Cannot resolve one or more bases from Ú__fake__r,  )r"   rˆ   Útyper    r  rá   r   ru   re   rp   râ   rµ  rq   )rO   r   Úmeta_contentsÚmetar  rq   r€   Úbodys    `      r%   r^  ÚModelState.render¥  sà   ø€ ð '+§n¡n¸dÑSÀdÇlÁlÐSˆÜ�F˜B Ó.ˆð	Üô à ŸJšJóó ˆEð 8<·{±{×7HÑ7HÔ7JÔKÒ7J©¨�—k‘k“mÒ#Ñ7JˆÑKØˆV‰Ø'ˆˆ\Ñð 	�‰�D×+Ñ+Ó-Ô.ä�D—I‘I˜uÓ+Ð+øô ó 	Ý#Ø>B¿j»jÐJóð ð	üó
 Ls   «C Á'C+Ã$C(c                 ó�   • U R                   S    H  nUR                  U:X  d  M  Us  $    [        SU< SU R                  < 35      e)Nr£   zNo index named ú
 on model ©rˆ   rq   rQ  )rO   rq   r¥   s      r%   Úget_index_by_nameÚModelState.get_index_by_name¾  s<   € Ø—\‘\ )Ô,ˆEØ�z‰z˜TÕ!Ø’ñ -õ »DÀ$Ç)Ã)ÐLÓMÐMr'   c                 ó�   • U R                   S    H  nUR                  U:X  d  M  Us  $    [        SU< SU R                  < 35      e)Nrµ   zNo constraint named rÄ  rÅ  )rO   rq   r¶   s      r%   Úget_constraint_by_nameÚ!ModelState.get_constraint_by_nameÄ  s=   € ØŸ,™, }Ô5ˆJØ�‰ $Õ&Ø!Ò!ñ 6õ ÃÀtÇyÃyÐQÓRÐRr'   c                 óp   • SU R                   R                  < SU R                  < SU R                  < S3$ )NÚ<z: 'r   z'>)rX  r+  r"   rq   rU   s    r%   Ú__repr__ÚModelState.__repr__Ê  s!   � Ø"&§.¡.×"9Ô"9¸4¿>¼>È4Ï9Ì9ÐUÐUr'   c           
      ód  • U R                   UR                   :H  =(       Ga    U R                  UR                  :H  =(       að    [        U R                  5      [        UR                  5      :H  =(       a¾    [	        S [        [        U R                  R                  5       5      [        UR                  R                  5       5      5       5       5      =(       aY    U R                  UR                  :H  =(       a9    U R                  UR                  :H  =(       a    U R                  UR                  :H  $ )Nc              3   ó”   #   • U  H>  u  u  pu  p4X:H  =(       a'    UR                  5       S S UR                  5       S S :H  v •  M@     g7f)r   N)r«  )rE  Úk1Úf1Úk2Úf2s        r%   rG  Ú$ModelState.__eq__.<locals>.<genexpr>Ò  sO   é € ð ò+Ñ&‘H�R™h˜rð ‘×I˜RŸ^™^Ó-¨a¨bÐ1°R·^±^Ó5EÀaÀbÐ5IÑIÔIò+ùs   ‚AA)r"   rq   r   ru   ÚallÚziprK  re   rˆ   r  r—   r&  s     r%   r(  ÚModelState.__eq__Í  sà   € à�^‰^˜uŸ™Ñ.÷ 2ð 2Ø—‘˜eŸj™jÑ(÷2ä�T—[‘[Ó!¤S¨¯©Ó%6Ñ6÷2ô ñ ä*-Ü˜4Ÿ;™;×,Ñ,Ó.Ó/Ü˜5Ÿ<™<×-Ñ-Ó/Ó0ô+óó ÷2ð —‘ §¡Ñ.÷2ð —‘˜uŸ{™{Ñ*÷2ð —‘ %§.¡.Ñ0ð	
r'   )r"   r  ru   r—   rq   rˆ   )NNNr*  )r+  r,  r-  r.  r/  rP   r   rZ   rz  r1  r   rµ  rp   r^  rÆ  rÉ  rÍ  r(  r2  r3  r'   r%   r  r  Ç  sj   † ñð KOô"ðH ñ!ó ð!ò'ð
 óH
ó ðH
òT?ò
ò,ò2NòSòVõ
r'   r  )Ú )1rd  Úcollectionsr   Ú
contextlibr   Ú	functoolsr   Údjango.appsr   Údjango.apps.registryr   r   rI  Údjango.confr	   Údjango.core.exceptionsr
   Ú	django.dbr   Údjango.db.migrations.utilsr   r   Údjango.db.modelsr   Údjango.db.models.fields.relatedr   Údjango.db.models.optionsr   r   Údjango.db.models.utilsr   Údjango.utils.functionalr   Údjango.utils.module_loadingr   Údjango.utils.versionr   Ú
exceptionsr   Úutilsr   r&   r<   r?   rF   rH   r5  r  r  r3  r'   r%   Ú<module>rì     sŒ   ðÛ Ý #Ý %Ý å !Ý %Ý 4Ý  Ý 4Ý ß JÝ )Ý Kß FÝ 3Ý 3Ý 5Ý 1å )Ý #ô=òò0òD÷2eQñ eQôP7�Iô 7ô o�ô o÷dU
ò U
r'   