ó
    _š‘hö! ã                   ó®  • S SK r S SKrS SKr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JrJr  S S	KJr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!J"r"  S SK#J$r$   " S S5      r% " S S5      r& " S S\5      r' " S S5      r(\ " S S\(\&5      5       r)\&RT                  \&RV                  \&RX                  \&RZ                  \&R\                  4 V s0 s H(  n U \R^                  \R^                  \R^                  4/_M*     sn \&RT                  \&R`                  \&RV                  \&RX                  \&RZ                  \&R\                  4 V s0 s Hl  n U \Rb                  \Rb                  \Rb                  4\Rd                  \Rd                  \Rd                  4\Rf                  \Rf                  \Rf                  4/_Mn     sn \&RT                  \&R`                  \&RV                  \&RX                  \&RZ                  4 V s0 s HŽ  n U \Rb                  \Rf                  \Rf                  4\Rf                  \Rb                  \Rf                  4\Rb                  \Rd                  \Rd                  4\Rd                  \Rb                  \Rd                  4/_M�     sn \&Rh                  \&Rj                  \&Rl                  \&Rn                  \&Rp                  4 V s0 s H(  n U \Rb                  \Rb                  \Rb                  4/_M*     sn \&RT                  \&R`                  \&RV                  \&RX                  \&RZ                  \&R\                  4 V s0 s HC  n U \9" \Ru                  S \Rb                  \Rf                  \Rd                  4 5       5      5      _ME     sn \&RT                  \Rv                  \Rx                  \Rz                  4\Rz                  \Rx                  \Rz                  4\Rx                  \Rv                  \Rz                  4\Rx                  \Rz                  \Rz                  4\Rx                  \Rx                  \Rx                  4\R|                  \Rx                  \R|                  4\Rx                  \R|                  \R|                  4/0\&R`                  \Rv                  \Rx                  \Rz                  4\Rz                  \Rx                  \Rz                  4\Rv                  \Rv                  \Rx                  4\Rv                  \Rz                  \Rx                  4\Rz                  \Rv                  \Rx                  4\Rz                  \Rz                  \Rx                  4\Rx                  \Rx                  \Rx                  4\R|                  \Rx                  \R|                  4\R|                  \R|                  \Rx                  4/	0/r?\" \95      r@S rA\? H5  rB\BR‡                  5        H  u  rDrE\E H  u  rFrGrH\A" \F\D\G\H5        M     M      M7     \R’                  " SS9S 5       rJ " S S \%\)5      rK " S! S"\K5      rL " S# S$\K5      rM\" S%S&9 " S' S(\&5      5       rN " S) S*\N5      rO " S+ S,\N5      rP " S- S.\N5      rQ\" S/S&9 " S0 S1\%\)5      5       rR\" S2S&9 " S3 S4\%\)5      5       rS " S5 S6\)5      rT " S7 S8\)5      rU " S9 S:\)5      rV " S; S<\)5      rW " S= S>\)5      rX " S? S@\)5      rY " SA SB\R5      rZ " SC SD\Z5      r[\" SES&9 " SF SG\%\)5      5       r\ " SH SI\\5      r]\" SJS&9 " SK SL\)5      5       r^\" SMS&9 " SN SO\%\)5      5       r_ " SP SQ\(\&5      r` " SR SS\`5      ra\" STS&9 " SU SV\)5      5       rb " SW SX\%\)5      rc " SY SZ\	5      rd " S[ S\\)5      re " S] S^\e5      rf " S_ S`\e5      rggs  sn f s  sn f s  sn f s  sn f s  sn f )aé    N)Údefaultdict©ÚDecimal)ÚEnum)Úchain©ÚNoneType)ÚUUID)ÚEmptyResultSetÚ
FieldErrorÚFullResultSet)ÚDatabaseErrorÚNotSupportedErrorÚ
connection)Úfields)Ú
LOOKUP_SEP)ÚQ)Údeconstructible)Úcached_propertyÚclassproperty)Úmake_hashablec                   ó   • \ rS rSrSrS rSrg)ÚSQLiteNumericMixiné   zd
Some expressions with output_field=DecimalField() must be cast to
numeric to be properly filtered.
c                 óž   • U R                   " X40 UD6u  pE U R                  R                  5       S:X  a  SU-  nXE4$ ! [         a     XE4$ f = f)NÚDecimalFieldz(CAST(%s AS NUMERIC)))Úas_sqlÚoutput_fieldÚget_internal_typer   )ÚselfÚcompilerr   Úextra_contextÚsqlÚparamss         Ú`C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\django/db/models/expressions.pyÚ	as_sqliteÚSQLiteNumericMixin.as_sqlite   sc   € Ø—k’k (ÑH¸-ÑH‰ˆð	Ø× Ñ ×2Ñ2Ó4¸ÓFØ-°Ñ3�ð ˆ{Ðøô ó 	ØØˆ{Ðð	ús   —#= ½
AÁA© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r&   Ú__static_attributes__r(   ó    r%   r   r      s   † ñõ
r/   r   c                   óà   • \ 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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 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*g))*Ú
Combinableé&   zi
Provide the ability to combine one or two objects with
some connector. For example F('foo') + F('bar').
Ú+Ú-Ú*Ú/Ú^z%%Ú&Ú|z<<z>>Ú#c                 óx   • [        US5      (       d  [        U5      nU(       a  [        XU 5      $ [        XU5      $ ©NÚresolve_expression)ÚhasattrÚValueÚCombinedExpression)r    ÚotherÚ	connectorÚreverseds       r%   Ú_combineÚCombinable._combine?   s6   € Ü�uÐ2×3Ñ3ä˜%“LˆEæÜ% e¸Ó=Ð=Ü! $°5Ó9Ð9r/   c                 ó<   • U R                  SU R                  S5      $ )NéÿÿÿÿF©rD   ÚMUL©r    s    r%   Ú__neg__ÚCombinable.__neg__L   s   € Ø�}‰}˜R §¡¨5Ó1Ð1r/   c                 ó:   • U R                  XR                  S5      $ ©NF©rD   ÚADD©r    rA   s     r%   Ú__add__ÚCombinable.__add__O   ó   € Ø�}‰}˜U§H¡H¨eÓ4Ð4r/   c                 ó:   • U R                  XR                  S5      $ rN   ©rD   ÚSUBrQ   s     r%   Ú__sub__ÚCombinable.__sub__R   rT   r/   c                 ó:   • U R                  XR                  S5      $ rN   rH   rQ   s     r%   Ú__mul__ÚCombinable.__mul__U   rT   r/   c                 ó:   • U R                  XR                  S5      $ rN   ©rD   ÚDIVrQ   s     r%   Ú__truediv__ÚCombinable.__truediv__X   rT   r/   c                 ó:   • U R                  XR                  S5      $ rN   ©rD   ÚMODrQ   s     r%   Ú__mod__ÚCombinable.__mod__[   rT   r/   c                 ó:   • U R                  XR                  S5      $ rN   ©rD   ÚPOWrQ   s     r%   Ú__pow__ÚCombinable.__pow__^   rT   r/   c                 óŽ   • [        U SS5      (       a)  [        USS5      (       a  [        U 5      [        U5      -  $ [        S5      e©NÚconditionalFúFUse .bitand(), .bitor(), and .bitxor() for bitwise logical operations.©Úgetattrr   ÚNotImplementedErrorrQ   s     r%   Ú__and__ÚCombinable.__and__a   óC   € Ü�4˜¨×.Ñ.´7¸5À-ÐQV×3WÑ3WÜ�T“7œQ˜u›XÑ%Ð%Ü!ØTó
ð 	
r/   c                 ó:   • U R                  XR                  S5      $ rN   )rD   ÚBITANDrQ   s     r%   ÚbitandÚCombinable.bitandh   ó   € Ø�}‰}˜U§K¡K°Ó7Ð7r/   c                 ó:   • U R                  XR                  S5      $ rN   )rD   ÚBITLEFTSHIFTrQ   s     r%   ÚbitleftshiftÚCombinable.bitleftshiftk   s   € Ø�}‰}˜U×$5Ñ$5°uÓ=Ð=r/   c                 ó:   • U R                  XR                  S5      $ rN   )rD   ÚBITRIGHTSHIFTrQ   s     r%   ÚbitrightshiftÚCombinable.bitrightshiftn   s   € Ø�}‰}˜U×$6Ñ$6¸Ó>Ð>r/   c                 óŽ   • [        U SS5      (       a)  [        USS5      (       a  [        U 5      [        U5      -  $ [        S5      erm   rp   rQ   s     r%   Ú__xor__ÚCombinable.__xor__q   ru   r/   c                 ó:   • U R                  XR                  S5      $ rN   )rD   ÚBITXORrQ   s     r%   ÚbitxorÚCombinable.bitxorx   rz   r/   c                 óŽ   • [        U SS5      (       a)  [        USS5      (       a  [        U 5      [        U5      -  $ [        S5      erm   rp   rQ   s     r%   Ú__or__ÚCombinable.__or__{   ru   r/   c                 ó:   • U R                  XR                  S5      $ rN   )rD   ÚBITORrQ   s     r%   ÚbitorÚCombinable.bitor‚   s   € Ø�}‰}˜U§J¡J°Ó6Ð6r/   c                 ó:   • U R                  XR                  S5      $ ©NTrO   rQ   s     r%   Ú__radd__ÚCombinable.__radd__…   ó   € Ø�}‰}˜U§H¡H¨dÓ3Ð3r/   c                 ó:   • U R                  XR                  S5      $ r’   rV   rQ   s     r%   Ú__rsub__ÚCombinable.__rsub__ˆ   r•   r/   c                 ó:   • U R                  XR                  S5      $ r’   rH   rQ   s     r%   Ú__rmul__ÚCombinable.__rmul__‹   r•   r/   c                 ó:   • U R                  XR                  S5      $ r’   r^   rQ   s     r%   Ú__rtruediv__ÚCombinable.__rtruediv__Ž   r•   r/   c                 ó:   • U R                  XR                  S5      $ r’   rc   rQ   s     r%   Ú__rmod__ÚCombinable.__rmod__‘   r•   r/   c                 ó:   • U R                  XR                  S5      $ r’   rh   rQ   s     r%   Ú__rpow__ÚCombinable.__rpow__”   r•   r/   c                 ó   • [        S5      e©Nro   ©rr   rQ   s     r%   Ú__rand__ÚCombinable.__rand__—   ó   € Ü!ØTó
ð 	
r/   c                 ó   • [        S5      er¦   r§   rQ   s     r%   Ú__ror__ÚCombinable.__ror__œ   rª   r/   c                 ó   • [        S5      er¦   r§   rQ   s     r%   Ú__rxor__ÚCombinable.__rxor__¡   rª   r/   c                 ó   • [        U 5      $ ©N)ÚNegatedExpressionrJ   s    r%   Ú
__invert__ÚCombinable.__invert__¦   s   € Ü  Ó&Ð&r/   r(   N)+r)   r*   r+   r,   r-   rP   rW   rI   r_   ri   rd   rw   rŽ   r|   r€   r‡   rD   rK   rR   rX   r[   r`   re   rj   rs   rx   r}   r�   r„   rˆ   r‹   r�   r“   r—   rš   r�   r    r£   r¨   r¬   r¯   r´   r.   r(   r/   r%   r1   r1   &   sÆ   † ñð €CØ
€CØ
€CØ
€CØ
€Cð €Cð
 €FØ€EØ€LØ€MØ€Fò:ò2ò5ò5ò5ò5ò5ò5ò
ò8ò>ò?ò
ò8ò
ò7ò4ò4ò4ò4ò4ò4ò
ò

ò

õ
'r/   r1   c                   ó   • \ rS rSrSrg)ÚOutputFieldIsNoneErroréª   r(   N)r)   r*   r+   r,   r.   r(   r/   r%   r·   r·   ª   s   † Úr/   r·   c                   ór  • \ rS rSrSr\rSrSrSr	Sr
SrSrSrS)S jrS rS rS	 rS
 rS rS r\S 5       r\S 5       r\S 5       r\S 5       r S*S jr\S 5       r\S 5       r\S 5       r\S 5       rS r \!S 5       r"\S 5       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% r0S& r1S' r2S(r3g)+ÚBaseExpressioné®   z%Base class for all query expressions.FTNc                 ó   • Ub  Xl         g g r²   ©r   ©r    r   s     r%   Ú__init__ÚBaseExpression.__init__Á   s   € ØÑ#Ø ,Õð $r/   c                 ó^   • U R                   R                  5       nUR                  SS 5        U$ )NÚconvert_value)Ú__dict__ÚcopyÚpop)r    Ústates     r%   Ú__getstate__ÚBaseExpression.__getstate__Å   s'   € Ø—‘×"Ñ"Ó$ˆØ�	‰	�/ 4Ô(Øˆr/   c                 óŠ   • U R                   U R                  L a  / OU R                   /U R                  R                  U5      -   $ r²   )rÂ   Ú_convert_value_noopr   Úget_db_converters©r    r   s     r%   rË   Ú BaseExpression.get_db_convertersÊ   sG   € ð ×!Ñ! T×%=Ñ%=Ò=ñ à×$Ñ$Ð%Ø×Ñ×/Ñ/°
Ó;ñ	<ð 	<r/   c                 ó   • / $ r²   r(   rJ   s    r%   Úget_source_expressionsÚ%BaseExpression.get_source_expressionsÑ   ó   € Øˆ	r/   c                 ó   • U(       a   eg r²   r(   ©r    Úexprss     r%   Úset_source_expressionsÚ%BaseExpression.set_source_expressionsÔ   s   € ÞÐˆy�5r/   c                 óª   • U Vs/ s HA  n[        US5      (       a  UO*[        U[        5      (       a  [        U5      O
[	        U5      PMC     sn$ s  snf r<   )r>   Ú
isinstanceÚstrÚFr?   )r    ÚexpressionsÚargs      r%   Ú_parse_expressionsÚ!BaseExpression._parse_expressions×   s\   € ñ #ó
ò #�ô ˜3Ð 4×5Ñ5ñ ä *¨3´× 4Ñ 4”a˜”f¼%À»*òFñ #ñ
ð 	
ùò 
s   …AAc                 ó   • [        S5      e)a.  
Responsible for returning a (sql, [params]) tuple to be included
in the current query.

Different backends can provide their own implementation, by
providing an `as_{vendor}` method and patching the Expression:

```
def override_as_sql(self, compiler, connection):
    # custom logic
    return super().as_sql(compiler, connection)
setattr(Expression, 'as_' + connection.vendor, override_as_sql)
```

Arguments:
 * compiler: the query compiler responsible for generating the query.
   Must have a compile method, returning a (sql, [params]) tuple.
   Calling compiler(value) will return a quoted `value`.

 * connection: the database connection used for the current query.

Return: (sql, params)
  Where `sql` is a string containing ordered sql parameters to be
  replaced with the elements of the list `params`.
z"Subclasses must implement as_sql()r§   ©r    r!   r   s      r%   r   ÚBaseExpression.as_sqlá   s   € ô4 "Ð"FÓGÐGr/   c                 óB   • [        S U R                  5        5       5      $ )Nc              3   óJ   #   • U  H  o=(       a    UR                   v •  M     g 7fr²   )Úcontains_aggregate©Ú.0Úexprs     r%   Ú	<genexpr>Ú4BaseExpression.contains_aggregate.<locals>.<genexpr>ÿ   s    é € ð 
Ú9V°×,�T×,Ñ,Ô,Ò9Vùó   ‚!#©ÚanyrÏ   rJ   s    r%   rä   Ú!BaseExpression.contains_aggregateý   s%   € äñ 
Ø9=×9TÑ9TÔ9Vó
ó 
ð 	
r/   c                 óB   • [        S U R                  5        5       5      $ )Nc              3   óJ   #   • U  H  o=(       a    UR                   v •  M     g 7fr²   )Úcontains_over_clauserå   s     r%   rè   Ú6BaseExpression.contains_over_clause.<locals>.<genexpr>  s    é € ð 
Ú;X°4×.�T×.Ñ.Ô.Ò;Xùrê   rë   rJ   s    r%   rð   Ú#BaseExpression.contains_over_clause  s%   € äñ 
Ø;?×;VÑ;VÔ;Xó
ó 
ð 	
r/   c                 óB   • [        S U R                  5        5       5      $ )Nc              3   óL   #   • U  H  nU=(       a    UR                   v •  M     g 7fr²   )Úcontains_column_referencesrå   s     r%   rè   Ú<BaseExpression.contains_column_references.<locals>.<genexpr>  s%   é € ð 
â5�ð ×4�T×4Ñ4Ô4Ú5ùs   ‚"$rë   rJ   s    r%   rõ   Ú)BaseExpression.contains_column_references	  ó%   € äñ 
à×3Ñ3Ô5ó
ó 
ð 	
r/   c                 óB   • [        S U R                  5        5       5      $ )Nc              3   ót   #   • U  H.  nU=(       a     [        US S5      =(       d    UR                  v •  M0     g7f)ÚsubqueryFN)rq   Úcontains_subqueryrå   s     r%   rè   Ú3BaseExpression.contains_subquery.<locals>.<genexpr>  s3   é € ð 
â5�ð ×Q”g˜d J°Ó6×P¸$×:PÑ:PÔQÚ5ùs   ‚68rë   rJ   s    r%   rü   Ú BaseExpression.contains_subquery  rø   r/   c           
      ó^  • U R                  5       nXFl        UR                  5        Vs/ s H  nUb  UR                  XX4U5      OSPM     nnU R                  (       d9  [        S U 5       5      (       a"  [        U R                  R                   S35      eUR                  U5        U$ s  snf )a²  
Provide the chance to do any preprocessing or validation before being
added to the query.

Arguments:
 * query: the backend query implementation
 * allow_joins: boolean allowing or denying use of joins
   in this query
 * reuse: a set of reusable joins for multijoins
 * summarize: a terminal aggregate clause
 * for_save: whether this expression about to be used in a save or update

Return: an Expression to be added to the query.
Nc              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr²   )rØ   ÚColPairsrå   s     r%   rè   Ú4BaseExpression.resolve_expression.<locals>.<genexpr>2  s   é € ð 9
Ú3E¨4ŒJ�tœX×&Ð&Ò3Eùó   ‚z4 expression does not support composite primary keys.)
rÄ   Ú
is_summaryrÏ   r=   Úallows_composite_expressionsrì   Ú
ValueErrorÚ	__class__r)   rÕ   )	r    ÚqueryÚallow_joinsÚreuseÚ	summarizeÚfor_saveÚcrç   Úsource_expressionss	            r%   r=   Ú!BaseExpression.resolve_expression  sÊ   € ð" �I‰I‹KˆØ Œð ×0Ñ0Ô2ó
ò 3�ð Ñ#ð ×'Ñ'¨¸EÈhÔWàòñ 3ð 	ð 
ð ×0×0´Sñ 9
Ù3Eó9
÷ 6
ñ 6
ô Ø—>‘>×*Ñ*Ð+ð ,*ð *óð ð 	
× Ñ Ð!3Ô4Øˆùò!
s   ©"B*c                 óJ   • [        U R                  [        R                  5      $ r²   )rØ   r   r   ÚBooleanFieldrJ   s    r%   rn   ÚBaseExpression.conditional<  s   € ä˜$×+Ñ+¬V×-@Ñ-@ÓAÐAr/   c                 ó   • U R                   $ r²   r½   rJ   s    r%   ÚfieldÚBaseExpression.field@  s   € à× Ñ Ð r/   c                 óB   • U R                  5       nUc  [        S5      eU$ )z+Return the output type of this expressions.z4Cannot resolve expression type, unknown output_field)Ú_resolve_output_fieldr·   r¾   s     r%   r   ÚBaseExpression.output_fieldD  s0   € ð ×1Ñ1Ó3ˆØÑÜ(ØFóð ð Ðr/   c                 ó<   •  U R                   $ ! [         a     gf = f)zn
Return the output field of this expression, or None if
_resolve_output_field() didn't return an output type.
N)r   r·   rJ   s    r%   Ú_output_field_or_noneÚ$BaseExpression._output_field_or_noneN  s%   € ð	Ø×$Ñ$Ð$øÜ%ó 	Ùð	ús   ‚ Ž
šc           	      ó  • S U R                  5        5       nU Hd  nU HY  n[        X#R                  5      (       a  M  [        SUR                  R                  < SUR                  R                  < S35      e   Us  $    g)aE  
Attempt to infer the output type of the expression.

As a guess, if the output fields of all source fields match then simply
infer the same type here.

If a source's output field resolves to None, exclude it from this check.
If all sources are None, then an error is raised higher up the stack in
the output_field property.
c              3   ó.   #   • U  H  oc  M  Uv •  M     g 7fr²   r(   )ræ   Úsources     r%   rè   Ú7BaseExpression._resolve_output_field.<locals>.<genexpr>g  s   é € ð 
Ú!9�v�F‰FÒ!9ùs   ‚Œ	z!Expression contains mixed types: ú, ú. You must set output_field.N)Úget_source_fieldsrØ   r  r   r)   )r    Úsources_iterr   r  s       r%   r  Ú$BaseExpression._resolve_output_fieldY  s{   € ñ
Ø!%×!7Ñ!7Ô!9ó
ˆó )ˆLÛ&�Ü! ,×0@Ñ0@×AÓAÝ$ð )×2Ñ2×;Ô;Ø"×,Ñ,×5Ô5ð	óð ñ 'ð  Òò )r/   c                 ó   • U $ r²   r(   ©ÚvalueÚ
expressionr   s      r%   rÊ   Ú"BaseExpression._convert_value_noopw  s   € àˆr/   c                 ó¨   • U R                   nUR                  5       nUS:X  a  S $ UR                  S5      (       a  S $ US:X  a  S $ U R                  $ )z±
Expressions provide their own converters because users have the option
of manually specifying the output_field which may be a different type
from the one the database returns.
Ú
FloatFieldc                 ó"   • U c  S $ [        U 5      $ r²   )Úfloatr&  s      r%   Ú<lambda>Ú.BaseExpression.convert_value.<locals>.<lambda>…  s   € Ø™�Ð7¬5°«<Ð7r/   ÚIntegerFieldc                 ó"   • U c  S $ [        U 5      $ r²   )Úintr&  s      r%   r.  r/  ‰  s   € Ø™�Ð5¬3¨u«:Ð5r/   r   c                 ó"   • U c  S $ [        U 5      $ r²   r   r&  s      r%   r.  r/  �  s   € Ø™�Ð9¬7°5«>Ð9r/   )r   r   ÚendswithrÊ   )r    r  Úinternal_types      r%   rÂ   ÚBaseExpression.convert_value{  sn   € ð ×!Ñ!ˆØ×/Ñ/Ó1ˆØ˜LÓ(ñð ð ×#Ñ# N×3Ñ3ñð ð ˜nÓ,ñð ð ×'Ñ'Ð'r/   c                 ó8   • U R                   R                  U5      $ r²   )r   Ú
get_lookup)r    Úlookups     r%   r8  ÚBaseExpression.get_lookup’  s   € Ø× Ñ ×+Ñ+¨FÓ3Ð3r/   c                 ó8   • U R                   R                  U5      $ r²   )r   Úget_transform©r    Únames     r%   r<  ÚBaseExpression.get_transform•  s   € Ø× Ñ ×.Ñ.¨tÓ4Ð4r/   c                 ó¸   • U R                  5       nUR                  U R                  5        Vs/ s H  nUb  UR                  U5      OS PM     sn5        U$ s  snf r²   )rÄ   rÕ   rÏ   Úrelabeled_clone)r    Ú
change_mapÚcloneÚes       r%   rA  ÚBaseExpression.relabeled_clone˜  sa   € Ø—	‘	“ˆØ×$Ñ$ð ×4Ñ4Ô6óâ6�Að 23±�×!Ñ! *Ô-ÀDÒHÙ6ñô	
ð ˆùòs   ® Ac                 ó  • U(       d  U $ UR                  U 5      =n(       a  U$ U R                  5       =n(       d  U $ U R                  5       nUR                  U Vs/ s H  nU(       a  UR	                  U5      OS PM     sn5        U$ s  snf r²   )ÚgetrÏ   rÄ   rÕ   Úreplace_expressions)r    ÚreplacementsÚreplacementr  rC  rç   s         r%   rH  Ú"BaseExpression.replace_expressions¢  s”   € ÞØˆKØ&×*Ñ*¨4Ó0Ð0ˆ;Õ0ØÐØ&*×&AÑ&AÓ&CÐCÐ"ÕCØˆKØ—	‘	“ˆØ×$Ñ$ñ /óâ.�Dö ;?�×(Ñ(¨Ô6ÀDÒHÙ.ñô	
ð ˆùòs   Á$B	c                 óv   • [        5       nU R                  5        H  nUc  M  XR                  5       -  nM     U$ r²   )ÚsetrÏ   Úget_refs)r    Úrefsrç   s      r%   rN  ÚBaseExpression.get_refs²  s9   € Ü‹uˆØ×/Ñ/Ö1ˆDØ‰|ÙØ—M‘M“OÑ#ŠDñ 2ð ˆr/   c                 ó.   • [         R                   " U 5      $ r²   ©rÄ   rJ   s    r%   rÄ   ÚBaseExpression.copyº  ó   € Ü�yŠy˜‹Ðr/   c           	      ó
  • U R                  5       nUR                  U R                  5        Vs/ s HB  n[        U[        5      (       a  [	        U UR
                   35      OUR                  U5      PMD     sn5        U$ s  snf r²   )rÄ   rÕ   rÏ   rØ   rÚ   r>  Úprefix_references)r    ÚprefixrC  rç   s       r%   rV  Ú BaseExpression.prefix_references½  s…   € Ø—	‘	“ˆØ×$Ñ$ð !×7Ñ7Ô9óò :�Dô " $¬×*Ñ*ô ˜˜ §¡ Ð,Ô-à×/Ñ/°Ó7ò8ñ :ñô		
ð ˆùòs   ®A	B c                 óž   • U R                   (       d  U /$ / nU R                  5        H"  nUR                  UR                  5       5        M$     U$ r²   )rä   rÏ   ÚextendÚget_group_by_cols©r    Úcolsr  s      r%   r[  Ú BaseExpression.get_group_by_colsË  sD   € Ø×&×&Ø�6ˆMØˆØ×1Ñ1Ö3ˆFØ�K‰K˜×0Ñ0Ó2Ö3ñ 4àˆr/   c                 ó`   • U R                  5        Vs/ s H  oR                  PM     sn$ s  snf )z9Return the underlying field types used by this aggregate.)rÏ   r  )r    rD  s     r%   r"  Ú BaseExpression.get_source_fieldsÓ  s)   € à15×1LÑ1LÔ1NÓOÒ1N¨A×'Ô'Ñ1NÑOÐOùÒOs   “+c                 ó   • [        U 40 UD6$ r²   ©ÚOrderBy©r    Úkwargss     r%   ÚascÚBaseExpression.asc×  ó   € Ü�tÑ&˜vÑ&Ð&r/   c                 ó   • [        U 4SS0UD6$ ©NÚ
descendingTrb  rd  s     r%   ÚdescÚBaseExpression.descÚ  ó   € Ü�tÑ7¨Ð7°Ñ7Ð7r/   c                 ó   • U $ r²   r(   rJ   s    r%   Úreverse_orderingÚBaseExpression.reverse_orderingÝ  ó   € Øˆr/   c              #   ó¶   #   • U v •  U R                  5        H;  nU(       d  M  [        US5      (       a  UR                  5        Sh  v•N   M7  Uv •  M=     g N7f)zQ
Recursively yield this expression and all subexpressions, in
depth-first order.
ÚflattenN)rÏ   r>   rt  )r    rç   s     r%   rt  ÚBaseExpression.flattenà  sJ   é € ð
 Š
Ø×/Ñ/Ö1ˆDßˆtÜ˜4 ×+Ñ+Ø#Ÿ|™|›~×-Ò-à”Jò 2ñ .ùs   ‚A£$AÁAÁAc                 óv   • [        U R                  S5      (       a  U R                  R                  XU5      $ X#4$ )zn
Custom format for select clauses. For example, EXISTS expressions need
to be wrapped in CASE WHEN on Oracle.
Úselect_format)r>   r   rw  ©r    r!   r#   r$   s       r%   rw  ÚBaseExpression.select_formatí  s8   € ô
 �4×$Ñ$ o×6Ñ6Ø×$Ñ$×2Ñ2°8À&ÓIÐIØˆ{Ðr/   c                 ó�   • [        U SS5      (       d   U R                  5       u  nU$ U $ ! [         a  n[        S5      UeS nAff = f)NÚ constraint_validation_compatibleTzdExpressions with constraint_validation_compatible set to False must have only one source expression.)rq   rÏ   r  )r    r(  rD  s      r%   Úget_expression_for_validationÚ,BaseExpression.get_expression_for_validationö  s]   € ä�tÐ?À×FÑFð"Ø $× ;Ñ ;Ó =‘�ð "Ð!Øˆøô ó Ü ð<óð ðûðús   ”* ª
A´A Á Ar½   r²   ©NTNFF)4r)   r*   r+   r,   r-   ÚNotImplementedÚempty_result_set_valuer  Ú
filterableÚwindow_compatibleÚallowed_defaultr{  Úset_returningr  r¿   rÇ   rË   rÏ   rÕ   rÝ   r   r   rä   rð   rõ   rü   r=   Úpropertyrn   r  r   r  r  ÚstaticmethodrÊ   rÂ   r8  r<  rA  rH  rN  rÄ   rV  r[  r"  rf  rl  rp  rt  rw  r|  r.   r(   r/   r%   rº   rº   ®   s}  † Ù/à+Ðà€Jà€JàÐà€Oà'+Ð$à€Mà#(Ð ô-òò
<òòò
òHð8 ñ
ó ð
ð
 ñ
ó ð
ð
 ñ
ó ð
ð ñ
ó ð
ð SXô#ðJ ñBó ðBð ñ!ó ð!ð ñó ðð ñó ðò ð< ñó ðð ñ(ó ð(ò,4ò5òòò òòòòPò'ò8òòòõr/   rº   c                   óz   • \ rS rSrSr\\R                  " SS9S 5       5       r\	S 5       r
\S 5       rS rS	 rS
rg)Ú
Expressioni  z:An expression that can be combined with other expressions.é€   ©Úmaxsizec                 óB   • [         R                  " U R                  5      $ r²   )ÚinspectÚ	signaturer¿   )Úclss    r%   Ú_constructor_signatureÚ!Expression._constructor_signature	  s   € ô × Ò  §¡Ó.Ð.r/   c                 óâ  ^ • [        U[        5      (       a  [        [        T R                  U5      5      $ [        U[        5      (       a#  [        U 4S jUR                  5        5       5      $ [        U[        R                  5      (       aY  UR                  (       a=  UR                  (       a,  UR                  R                  R                  UR                  4$ [        U5      $ [        U5      $ )Nc              3   óN   >#   • U  H  u  pUTR                  U5      4v •  M     g 7fr²   )Ú	_identity)ræ   ÚkeyÚvalr�  s      €r%   rè   Ú'Expression._identity.<locals>.<genexpr>  s!   øé € ÐQÂ=±x°s˜#˜sŸ}™}¨SÓ1Õ2Â=ùs   ƒ"%)rØ   ÚtupleÚmapr”  ÚdictÚitemsr   ÚFieldr>  ÚmodelÚ_metaÚlabelÚtyper   )r�  r'  s   ` r%   r”  ÚExpression._identity  sœ   ø€ ä�eœU×#Ñ#Üœ˜SŸ]™]¨EÓ2Ó3Ð3Ü�eœT×"Ñ"ÜÔQÀ5Ç;Á;Ä=ÓQÓQÐQÜ�eœVŸ\™\×*Ñ*Ø�z�z˜eŸkŸkØ—{‘{×(Ñ(×.Ñ.°·
±
Ð:Ð:Ü˜“;ÐÜ˜UÓ#Ð#r/   c                 óf  • U R                   u  pU R                  R                  " U /UQ70 UD6nUR                  5         [	        UR
                  R                  5       5      n[        U5        U R                  /nU H(  u  pgU R                  U5      nUR                  Xg45        M*     [        U5      $ r²   )Ú_constructor_argsr�  Úbind_partialÚapply_defaultsÚiterÚ	argumentsr›  Únextr  r”  Úappendr˜  )r    Úargsre  rŽ  r§  ÚidentityrÜ   r'  s           r%   r«  ÚExpression.identity  s�   € à×-Ñ-‰ˆØ×/Ñ/×<Ò<¸TÐSÀDÒSÈFÑSˆ	Ø× Ñ Ô"Ü˜×,Ñ,×2Ñ2Ó4Ó5ˆ	ÜˆYŒØ—N‘NÐ#ˆÛ#‰JˆCð —N‘N 5Ó)ˆEØ�O‰O˜S˜LÖ)ñ $ô �X‹Ðr/   c                 ój   • [        U[        5      (       d  [        $ UR                  U R                  :H  $ r²   )rØ   rˆ  r  r«  rQ   s     r%   Ú__eq__ÚExpression.__eq__*  s(   € Ü˜%¤×,Ñ,Ü!Ð!Ø�~‰~ §¡Ñ.Ð.r/   c                 ó,   • [        U R                  5      $ r²   )Úhashr«  rJ   s    r%   Ú__hash__ÚExpression.__hash__/  s   € Ü�D—M‘MÓ"Ð"r/   r(   N)r)   r*   r+   r,   r-   r   Ú	functoolsÚ	lru_cacher�  Úclassmethodr”  r   r«  r®  r²  r.   r(   r/   r%   rˆ  rˆ    s\   † áDàØ×Ò Ñ%ñ/ó &ó ð/ð ñ	$ó ð	$ð ñó ðò/õ
#r/   rˆ  c              3   óD   #   • U  H  nU[         U4[         X4/v •  M     g 7fr²   r   )ræ   Ú
field_types     r%   rè   rè   €  s,   é € ð  ò#�Jð œh¨
Ð3´hÀ
Ð5WÕXò#ùs   ‚ c                 ó8   • [         U   R                  XU45        g)z¦
Register combinable types:
    lhs <connector> rhs -> result
e.g.
    register_combinable_fields(
        IntegerField, Combinable.ADD, FloatField, FloatField
    )
N)Ú_connector_combinatorsr©  )ÚlhsrB   ÚrhsÚresults       r%   Úregister_combinable_fieldsr¾  ¶  s   € ô ˜9Ñ%×,Ñ,¨c¸Ð-?Õ@r/   r‰  rŠ  c                 ó”   • [         R                  U S5      nU H,  u  pEn[        X5      (       d  M  [        X%5      (       d  M*  Us  $    g )Nr(   )rº  rG  Ú
issubclass)rB   Úlhs_typeÚrhs_typeÚcombinatorsÚcombinator_lhs_typeÚcombinator_rhs_typeÚcombined_types          r%   Ú_resolve_combined_typerÇ  È  sH   € ä(×,Ñ,¨Y¸Ó;€KÛCNÑ?Ð°-Ü�h×4Ó4¼Ø÷:
ó :
ð !Ò ò	 DOr/   c                   ór   ^ • \ rS rSrSU 4S jjrS rS rS rS rS r	S r
 SU 4S	 jjr\S
 5       rSrU =r$ )r@   iÒ  c                 óD   >• [         TU ]  US9  X l        Xl        X0l        g ©Nr½   )Úsuperr¿   rB   r»  r¼  )r    r»  rB   r¼  r   r  s        €r%   r¿   ÚCombinedExpression.__init__Ó  s"   ø€ Ü‰Ñ lÐÑ3Ø"ŒØŒØ�r/   c                 óN   • SR                  U R                  R                  U 5      $ )Nz<{}: {}>)Úformatr  r)   rJ   s    r%   Ú__repr__ÚCombinedExpression.__repr__Ù  s   € Ø× Ñ  §¡×!8Ñ!8¸$Ó?Ð?r/   c                 ód   • SR                  U R                  U R                  U R                  5      $ )Nz{} {} {})rÎ  r»  rB   r¼  rJ   s    r%   Ú__str__ÚCombinedExpression.__str__Ü  s#   € Ø× Ñ  §¡¨4¯>©>¸4¿8¹8ÓDÐDr/   c                 ó2   • U R                   U R                  /$ r²   ©r»  r¼  rJ   s    r%   rÏ   Ú)CombinedExpression.get_source_expressionsß  s   € Ø—‘˜$Ÿ(™(Ð#Ð#r/   c                 ó"   • Uu  U l         U l        g r²   rÕ  rÓ   s     r%   rÕ   Ú)CombinedExpression.set_source_expressionsâ  s   € Ø"ÑˆŒ�$•(r/   c           	      ó˜  • [        U R                  [        U R                  R                  5      [        U R
                  R                  5      5      nUcp  [        SU R                  < SU R                  R                  R                  R                   SU R
                  R                  R                  R                   S35      eU" 5       $ )NzCannot infer type of z# expression involving these types: r   r!  )
rÇ  rB   r   r»  r  r¼  r   r   r  r)   )r    rÆ  s     r%   r  Ú(CombinedExpression._resolve_output_fieldå  s­   € ô /Ø�N‰NÜ�—‘×/Ñ/Ó0Ü�—‘×/Ñ/Ó0ó
ˆð
 Ñ ÜØ'¨¯©Ñ'9ð :ØŸ(™(×/Ñ/×9Ñ9×BÑBÐCÀ2Ø—8‘8×(Ñ(×2Ñ2×;Ñ;Ð<ð = ð!óð ñ ‹Ðr/   c                 ób  • / n/ nUR                  U R                  5      u  pVUR                  U5        UR                  U5        UR                  U R                  5      u  pVUR                  U5        UR                  U5        SnUR
                  R                  U R                  U5      nXu-  U4$ ©Nz(%s))Úcompiler»  r©  rZ  r¼  ÚopsÚcombine_expressionrB   )r    r!   r   rÛ   Úexpression_paramsr#   r$   Úexpression_wrappers           r%   r   ÚCombinedExpression.as_sqlö  s    € ØˆØÐØ×&Ñ& t§x¡xÓ0‰ˆØ×Ñ˜3ÔØ× Ñ  Ô(Ø×&Ñ& t§x¡xÓ0‰ˆØ×Ñ˜3ÔØ× Ñ  Ô(à#ÐØ�n‰n×/Ñ/°·±ÀÓLˆØ!Ñ'Ð):Ð:Ð:r/   c                 óV  >• [         T
U ]  UUUUU5      n[        U [        [        45      (       dÉ   UR
                  R                  R                  5       n UR                  R                  R                  5       nSXx1;   a0  Xx:w  a+  [        UR
                  UR                  UR                  5      $ 1 Skn	U R                  U R                  :X  a*  Xy;   a%  Xx:X  a   [	        UR
                  UR                  5      $ U$ ! [        [        4 a    S n Nºf = f! [        [        4 a    S n N­f = f)NÚDurationField>   Ú	DateFieldÚ	TimeFieldÚDateTimeField)rË  r=   rØ   ÚDurationExpressionÚTemporalSubtractionr»  r   r   ÚAttributeErrorr   r¼  rB   rW   )r    r  r	  r
  r  r  ÚresolvedrÁ  rÂ  Údatetime_fieldsr  s             €r%   r=   Ú%CombinedExpression.resolve_expression  s  ø€ ô ‘7Ñ-ØØØØØó
ˆô ˜$Ô!3Ô5HÐ I×JÑJð Ø#Ÿ<™<×4Ñ4×FÑFÓH�ð Ø#Ÿ<™<×4Ñ4×FÑFÓH�ð  8Ð"6Ó6¸8Ó;OÜ)Ø—L‘L (×"4Ñ"4°h·l±lóð ò JˆOà—‘ $§(¡(Ó*ØÓ/ØÓ(ä*¨8¯<©<¸¿¹ÓFÐFØˆøô# #¤JÐ/ó  Ø’ð ûô #¤JÐ/ó  Ø’ð ús#   ±$C; Á$D Ã;DÄDÄD(Ä'D(c                 óh   • U R                   R                  =(       a    U R                  R                  $ r²   )r»  rƒ  r¼  rJ   s    r%   rƒ  Ú"CombinedExpression.allowed_default$  s!   € à�x‰x×'Ñ'×D¨D¯H©H×,DÑ,DÐDr/   )rB   r»  r¼  r²   r~  )r)   r*   r+   r,   r¿   rÏ  rÒ  rÏ   rÕ   r  r   r=   r   rƒ  r.   Ú__classcell__©r  s   @r%   r@   r@   Ò  sK   ø† ÷ò@òEò$ò#òò";ð SX÷ð@ ñEó öEr/   r@   c                   ó4   ^ • \ rS rSrS rU 4S jrS rSrU =r$ )rè  i)  c                 óè   •  UR                   nUR                  5       S:X  a0  UR                  U5      u  pVUR                  R	                  U5      U4$  UR                  U5      $ ! [
         a     Nf = f)Nrä  )r   r   rÝ  rÞ  Úformat_for_duration_arithmeticr   )r    Úsider!   r   Úoutputr#   r$   s          r%   rÝ  ÚDurationExpression.compile*  s~   € ð	RØ×&Ñ&ˆFð ×'Ñ'Ó)¨_Ó<Ø&×.Ñ.¨tÓ4‘�Ø!—~‘~×DÑDÀSÓIÈ6ÐQÐQð =ð ×Ñ Ó%Ð%øô ó 	Ùð	ús   ‚A$ Á$
A1Á0A1c                 óò  >• UR                   R                  (       a  [        TU ]  X5      $ UR                  R                  U 5        / n/ nU R                  U R                  X5      u  pVUR                  U5        UR                  U5        U R                  U R                  X5      u  pVUR                  U5        UR                  U5        SnUR                  R                  U R                  U5      nXu-  U4$ rÜ  )ÚfeaturesÚhas_native_duration_fieldrË  r   rÞ  Úcheck_expression_supportrÝ  r»  r©  rZ  r¼  Úcombine_duration_expressionrB   )	r    r!   r   rÛ   rà  r#   r$   rá  r  s	           €r%   r   ÚDurationExpression.as_sql5  sÑ   ø€ Ø×Ñ×8×8Ü‘7‘> (Ó7Ð7Ø�‰×/Ñ/°Ô5ØˆØÐØ—l‘l 4§8¡8¨XÓB‰ˆØ×Ñ˜3ÔØ× Ñ  Ô(Ø—l‘l 4§8¡8¨XÓB‰ˆØ×Ñ˜3ÔØ× Ñ  Ô(à#ÐØ�n‰n×8Ñ8¸¿¹ÈÓUˆØ!Ñ'Ð):Ð:Ð:r/   c                 ó¦  • U R                   " X40 UD6u  pEU R                  [        R                  [        R                  1;   at   U R
                  R                  R                  5       nU R                  R                  R                  5       n1 SknXh;  d  Xx;  a  [        SU R                   S35      e XE4$ XE4$ ! [        [        4 a     XE4$ f = f)N>   r+  r   r0  rä  zInvalid arguments for operator Ú.)r   rB   r1   rI   r_   r»  r   r   r¼  r   rê  r   )	r    r!   r   r"   r#   r$   rÁ  rÂ  Úallowed_fieldss	            r%   r&   ÚDurationExpression.as_sqliteF  sÑ   € Ø—k’k (ÑH¸-ÑH‰ˆØ�>‰>œjŸn™n¬j¯n©nÐ=Ó=ðØŸ8™8×0Ñ0×BÑBÓD�ØŸ8™8×0Ñ0×BÑBÓD�ò"�ð Ó1°XÓ5SÜ'Ø9¸$¿.¹.Ð9IÈÐKóð ð 6Tð ˆ{Ðˆsˆ{Ðøô #¤JÐ/ó Øð ˆ{Ððús   ÁAB; Â;CÃCr(   )	r)   r*   r+   r,   rÝ  r   r&   r.   rð  rñ  s   @r%   rè  rè  )  s   ø† ò	&õ;÷"ð r/   rè  c                   óP   ^ • \ rS rSr\R
                  " 5       rU 4S jrS rSr	U =r
$ )ré  i\  c                 ó:   >• [         TU ]  XR                  U5        g r²   )rË  r¿   rW   )r    r»  r¼  r  s      €r%   r¿   ÚTemporalSubtraction.__init___  s   ø€ Ü‰Ñ˜Ÿh™h¨Õ,r/   c                 ó   • UR                   R                  U 5        UR                  U R                  5      nUR                  U R                  5      nUR                   R                  U R                  R                  R                  5       X45      $ r²   )rÞ  rû  rÝ  r»  r¼  Úsubtract_temporalsr   r   )r    r!   r   r»  r¼  s        r%   r   ÚTemporalSubtraction.as_sqlb  sk   € Ø�‰×/Ñ/°Ô5Ø×Ñ˜tŸx™xÓ(ˆØ×Ñ˜tŸx™xÓ(ˆØ�~‰~×0Ñ0Ø�H‰H×!Ñ!×3Ñ3Ó5°só
ð 	
r/   r(   )r)   r*   r+   r,   r   rä  r   r¿   r   r.   rð  rñ  s   @r%   ré  ré  \  s    ø† Ø×'Ò'Ó)€Lõ-÷
ð 
r/   ré  zdjango.db.models.F)Úpathc                   ód   • \ rS rSrSrSrS 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g)rÚ   ik  zDAn object capable of resolving references to existing query objects.Fc                 ó   • Xl         g)zF
Arguments:
 * name: the name of the field this expression references
N©r>  r=  s     r%   r¿   Ú
F.__init__q  s	   € ð
 �	r/   c                 ób   • SR                  U R                  R                  U R                  5      $ ©Nú{}({}))rÎ  r  r)   r>  rJ   s    r%   rÏ  Ú
F.__repr__x  s!   € Ø�‰˜tŸ~™~×6Ñ6¸¿	¹	ÓBÐBr/   c                 ó   • [        X5      $ r²   )ÚSliced)r    Ú	subscripts     r%   Ú__getitem__ÚF.__getitem__{  s   € Ü�dÓ&Ð&r/   c                 óH   • [        SU R                  R                   S35      e)Nzargument of type 'z' is not iterable)Ú	TypeErrorr  r)   rQ   s     r%   Ú__contains__ÚF.__contains__~  s%   € ô Ð,¨T¯^©^×-DÑ-DÐ,EÐEVÐWÓXÐXr/   Nc                 ó<   • UR                  U R                  X#U5      $ r²   )Úresolve_refr>  ©r    r  r	  r
  r  r  s         r%   r=   ÚF.resolve_expressionƒ  s   € ð × Ñ  §¡¨KÀ	ÓJÐJr/   c                 ó$   • UR                  X 5      $ r²   )rG  )r    rI  s     r%   rH  ÚF.replace_expressionsˆ  s   € Ø×Ñ Ó+Ð+r/   c                 ó   • [        U 40 UD6$ r²   rb  rd  s     r%   rf  ÚF.asc‹  rh  r/   c                 ó   • [        U 4SS0UD6$ rj  rb  rd  s     r%   rl  ÚF.descŽ  rn  r/   c                 ót   • U R                   UR                   :H  =(       a    U R                  UR                  :H  $ r²   )r  r>  rQ   s     r%   r®  ÚF.__eq__‘  s'   € Ø�~‰~ §¡Ñ0×L°T·Y±YÀ%Ç*Á*Ñ5LÐLr/   c                 ó,   • [        U R                  5      $ r²   )r±  r>  rJ   s    r%   r²  Ú
F.__hash__”  s   € Ü�D—I‘I‹Ðr/   c                 ó.   • [         R                   " U 5      $ r²   rR  rJ   s    r%   rÄ   ÚF.copy—  rT  r/   r  r~  )r)   r*   r+   r,   r-   rƒ  r¿   rÏ  r  r  r=   rH  rf  rl  r®  r²  rÄ   r.   r(   r/   r%   rÚ   rÚ   k  sL   † áNà€OòòCò'òYð SXôKò
,ò'ò8òMòõr/   rÚ   c                   óF   ^ • \ rS rSrSrSrSrS rU 4S jrS r	S r
SrU =r$ )	ÚResolvedOuterRefi›  z¯
An object that contains a reference to an outer query.

In this case, the reference to the outer query has been resolved because
the inner query has been used as a subquery.
Fc                 ó   • [        S5      e)NzXThis queryset contains a reference to an outer query and may only be used in a subquery.)r  ©r    rª  re  s      r%   r   ÚResolvedOuterRef.as_sql¦  s   € Üð*ó
ð 	
r/   c                 ó¬   >• [         TU ]  " U0 UD6nUR                  (       a  [        SU R                   S35      e[
        U R                  ;   Ul        U$ )Nz<Referencing outer query window expression is not supported: rÿ  )rË  r=   rð   r   r>  r   Úpossibly_multivalued)r    rª  re  Úcolr  s       €r%   r=   Ú#ResolvedOuterRef.resolve_expression¬  sX   ø€ Ü‰gÒ(¨$Ð9°&Ñ9ˆØ×#×#Ü#ØNØ—9‘9�+˜Qð óð ô $.°·±Ñ#:ˆÔ Øˆ
r/   c                 ó   • U $ r²   r(   ©r    Úrelabelss     r%   rA  Ú ResolvedOuterRef.relabeled_clone¹  rr  r/   c                 ó   • / $ r²   r(   rJ   s    r%   r[  Ú"ResolvedOuterRef.get_group_by_cols¼  rÑ   r/   r(   )r)   r*   r+   r,   r-   rä   rð   r   r=   rA  r[  r.   rð  rñ  s   @r%   r+  r+  ›  s/   ø† ñð ÐØ Ðò
õò÷ð r/   r+  c                   ó(   • \ rS rSrSrSrS rS rSrg)ÚOuterRefiÀ  Fc                 óŽ   • [        U R                  U R                  5      (       a  U R                  $ [        U R                  5      $ r²   )rØ   r>  r  r+  r-  s      r%   r=   ÚOuterRef.resolve_expressionÄ  s0   € Ü�d—i‘i §¡×0Ñ0Ø—9‘9ÐÜ §	¡	Ó*Ð*r/   c                 ó   • U $ r²   r(   r4  s     r%   rA  ÚOuterRef.relabeled_cloneÉ  rr  r/   r(   N)	r)   r*   r+   r,   rä   rð   r=   rA  r.   r(   r/   r%   r:  r:  À  s   † ØÐØ Ðò+õ
r/   r:  c                   óF   ^ • \ rS rSrSrU 4S jrS r     SS jrSrU =r	$ )r  iÍ  zœ
An object that contains a slice of an F expression.

Object resolves the column on which the slicing is applied, and then
applies the slicing if possible.
c                 óü  >• [         TU ]  UR                  5        Xl        [	        U[
        5      (       a#  US:  a  [        S5      eUS-   U l        SU l        g [	        U[        5      (       Ga  UR                  b  UR                  S:  d  UR                  b  UR                  S:  a  [        S5      eUR                  b  [        S5      eUR                  (       a6  UR                  (       a%  UR                  UR                  :  a  [        S5      eUR                  c  SOUR                  S-   U l        UR                  c  S U l        g UR                  UR                  =(       d    S-
  U l        g [        S5      e)Nr   z#Negative indexing is not supported.é   zStep argument is not supported.z,Slice stop must be greater than slice start.z7Argument to slice must be either int or slice instance.)rË  r¿   r>  ÚobjrØ   r2  r  ÚstartÚlengthÚsliceÚstopÚstepr  )r    rB  r  r  s      €r%   r¿   ÚSliced.__init__Õ  s  ø€ Ü‰Ñ˜Ÿ™Ô"ØŒÜ�i¤×%Ñ%Ø˜1‹}Ü Ð!FÓGÐGØ" Q™ˆDŒJØˆD�KÜ˜	¤5×)Ò)Ø—‘Ñ+°	·±À!Ó0CØ—‘Ñ*¨y¯~©~ÀÓ/Aä Ð!FÓGÐGØ�~‰~Ñ)Ü Ð!BÓCÐCØ�~�~ )§/§/°i·n±nÀyÇÁÓ6VÜ Ð!OÓPÐPØ'Ÿo™oÑ5™¸9¿?¹?ÈQÑ;NˆDŒJØ�~‰~Ñ%Ø"�•à'Ÿn™n°	·±×0DÀ1ÑE�•äÐUÓVÐVr/   c                 óÆ   • U R                   S-
  nU R                  c  S OXR                  -   n[        X5      nU R                  R                   SU R
                  < SU< S3$ )NrA  Ú(r   Ú))rC  rD  rE  r  r+   rB  )r    rC  rF  r  s       r%   rÏ  ÚSliced.__repr__î  sX   € Ø—
‘
˜Q‘ˆØ—{‘{Ñ*‰t°¿¹Ñ0CˆÜ˜%Ó&ˆ	Ø—.‘.×-Ñ-Ð.¨a°·±©|¸2¸i¹]È!ÐLÐLr/   c                 ó2  • UR                  U R                  X#U5      n[        U R                  [        U R
                  45      (       a  U R                  R                  XX4U5      nOUnUR                  R                  XpR                  U R                  5      $ r²   )r  r>  rØ   rB  r:  r  r=   r   Úslice_expressionrC  rD  )r    r  r	  r
  r  r  rë  rç   s           r%   r=   ÚSliced.resolve_expressionô  sy   € ð ×$Ñ$ T§Y¡Y°ÀIÓNˆÜ�d—h‘h¤¨4¯>©>Ð :×;Ñ;Ø—8‘8×.Ñ.Ø E°hó‰Dð ˆDØ×$Ñ$×5Ñ5°d¿J¹JÈÏÉÓTÐTr/   )rD  rB  rC  r~  )
r)   r*   r+   r,   r-   r¿   rÏ  r=   r.   rð  rñ  s   @r%   r  r  Í  s1   ø† ñõWò2Mð ØØØØ÷Uò Ur/   r  zdjango.db.models.Funcc                   óˆ   ^ • \ rS rSrSrSrSrSrSrSS.U 4S jjr	S r
S	 rS
 rS r   SS jrU 4S jr\S 5       rSrU =r$ )ÚFunci  zAn SQL function call.Nz%(function)s(%(expressions)s)r   r½   c                óJ  >• U R                   bn  [        U5      U R                   :w  aU  [        SU R                  R                  < SU R                   < SU R                   S:X  a  SOS< S[        U5      < S3	5      e[
        TU ]  US	9  U R                  " U6 U l        X0l	        g )
NÚ'z' takes exactly Ú rA  Úargumentr§  z (z given)r½   )
ÚarityÚlenr  r  r)   rË  r¿   rÝ   r  Úextra)r    r   rÛ   rX  r  s       €r%   r¿   ÚFunc.__init__  s‰   ø€ Ø�:‰:Ñ!¤c¨+Ó&6¸$¿*¹*Ó&DÝð —N‘N×+Ô+Ø—J”JØ"&§*¡*°£/‘J°{ÒBÜ˜Ö$ðóð ô 	‰Ñ lÐÑ3Ø"&×"9Ò"9¸;Ð"GˆÔØ�
r/   c                 óš  • U R                   R                  S U R                   5       5      n0 U R                  EU R	                  5       EnU(       aU  SR                  S [        UR                  5       5       5       5      nSR                  U R                  R                  X5      $ SR                  U R                  R                  U5      $ )Nc              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr²   ©rÙ   ©ræ   rÜ   s     r%   rè   Ú Func.__repr__.<locals>.<genexpr>  ó   é € Ð#PÒ8O°¤C¨§H HÒ8Oùó   ‚r   c              3   óZ   #   • U  H!  u  p[        U5      S -   [        U5      -   v •  M#     g7f)Ú=Nr\  )ræ   r•  r–  s      r%   rè   r^  "  s'   é € ð Ú:O©h¨c”�C“˜3‘¤ S£Ö)Ò:Oùs   ‚)+ú
{}({}, {})r  )
Ú
arg_joinerÚjoinr  rX  Ú_get_repr_optionsÚsortedr›  rÎ  r  r)   )r    rª  rX  s      r%   rÏ  ÚFunc.__repr__  s¡   € Ø�‰×#Ñ#Ñ#P¸×8OÒ8OÓ#PÓPˆØ:�4—:‘:Ð: ×!7Ñ!7Ó!9Ð:ˆÞØ—I‘Iñ Ü:@ÀÇÁÃÔ:Oóó ˆEð  ×&Ñ& t§~¡~×'>Ñ'>ÀÓLÐLØ�‰˜tŸ~™~×6Ñ6¸Ó=Ð=r/   c                 ó   • 0 $ )zAReturn a dict of extra __init__() options to include in the repr.r(   rJ   s    r%   rf  ÚFunc._get_repr_options(  s   € àˆ	r/   c                 ó   • U R                   $ r²   ©r  rJ   s    r%   rÏ   ÚFunc.get_source_expressions,  s   € Ø×&Ñ&Ð&r/   c                 ó   • Xl         g r²   rl  rÓ   s     r%   rÕ   ÚFunc.set_source_expressions/  s   € Ø"'Õr/   c                 óì  • UR                   R                  U 5        / n/ nU R                   H9  n	 UR                  U	5      u  p«UR                  U
5        UR                  U5        M;     0 U R                  EUEnUb  X=S'   OUR                  SU R                  5        U=(       d    UR                  SU R                  5      nU=(       d    UR                  SU R                   5      nUR#                  U5      =US'   US'   XM-  U4$ ! [         a;    [        U	S[        5      nU[        L a  e UR                  [        U5      5      u  p« GN[         a     UR                  [        S5      5      u  p« GN/f = f)Nr€  TÚfunctionÚtemplaterd  rÛ   r  )rÞ  rû  r  rÝ  r   rq   r  r?   r   r©  rZ  rX  Ú
setdefaultrq  rG  rr  rd  re  )r    r!   r   rq  rr  rd  r"   Ú	sql_partsr$   rÜ   Úarg_sqlÚ
arg_paramsr€  Údatas                 r%   r   ÚFunc.as_sql2  sg  € ð 	�‰×/Ñ/°Ô5Øˆ	ØˆØ×*Ô*ˆCð
DØ&.×&6Ñ&6°sÓ&;Ñ#�ð ×Ñ˜WÔ%Ø�M‰M˜*Ö%ñ +ð /�$—*‘*Ð. Ð.ˆð ÑØ'�Òà�O‰O˜J¨¯©Ô6Ø×B˜tŸx™x¨
°D·M±MÓBˆØ×J 4§8¡8¨L¸$¿/¹/Ó#Jˆ
Ø.8¯o©o¸iÓ.HÐHˆˆ]Ñ˜d 7™mØ‰ Ð&Ð&øô- "ó VÜ)0ØÐ1´>ó*Ð&ð *¬^Ò;ØØ&.×&6Ñ&6´uÐ=SÓ7TÓ&UÑ#�šÜ ó DØ&.×&6Ñ&6´u¸T³{Ó&CÑ#�šðDús   °DÄAE3Å
%E3Å2E3c                 óŠ   >• [         TU ]  5       nU R                  S S  Ul        U R                  R                  5       Ul        U$ r²   )rË  rÄ   r  rX  )r    rÄ   r  s     €r%   rÄ   Ú	Func.copyY  s8   ø€ Ü‰w‰|‹~ˆØ"&×"9Ñ"9¹!Ð"<ˆÔØ—Z‘Z—_‘_Ó&ˆŒ
Øˆr/   c                 ó:   • [        S U R                   5       5      $ )Nc              3   ó8   #   • U  H  oR                   v •  M     g 7fr²   ©rƒ  )ræ   r(  s     r%   rè   Ú'Func.allowed_default.<locals>.<genexpr>a  s   é € ÐXÒ@W°*×-Ö-Ò@Wùr`  )Úallr  rJ   s    r%   rƒ  ÚFunc.allowed_default_  s   € äÑXÀ×@WÒ@WÓXÓXÐXr/   )rX  r  ©NNN)r)   r*   r+   r,   r-   rq  rr  rd  rV  r¿   rÏ  rf  rÏ   rÕ   r   rÄ   r   rƒ  r.   rð  rñ  s   @r%   rQ  rQ    sg   ø† áà€HØ.€HØ€JØ€Eà26÷ ð ò>òò'ò(ð ØØô%'õNð ñYó öYr/   rQ  zdjango.db.models.Valuec                   ór   ^ • \ rS rSrSrSrSrSU 4S jjrS rS r	 SU 4S jjr
S	 rS
 r\S 5       rSrU =r$ )r?   id  z9Represent a wrapped value as a node within an expression.FTc                 ó,   >• [         TU ]  US9  Xl        g)a
  
Arguments:
 * value: the value this expression represents. The value will be
   added into the sql parameter list and properly quoted.

 * output_field: an instance of the model field type that this
   expression will return, such as IntegerField() or CharField().
r½   N)rË  r¿   r'  )r    r'  r   r  s      €r%   r¿   ÚValue.__init__m  s   ø€ ô 	‰Ñ lÐÑ3Ø�
r/   c                 óP   • U R                   R                   SU R                  < S3$ )NrJ  rK  )r  r)   r'  rJ   s    r%   rÏ  ÚValue.__repr__y  s$   € Ø—.‘.×)Ñ)Ð*¨!¨D¯J©J©>¸Ð;Ð;r/   c                 ó2  • UR                   R                  U 5        U R                  nU R                  nUbV  U R                  (       a  UR                  X2S9nOUR                  X2S9n[        US5      (       a  UR                  X1U5      U/4$ Uc  S/ 4$ SU/4$ )N)r   Úget_placeholderÚNULLz%s)	rÞ  rû  r'  r  r  Úget_db_prep_saveÚget_db_prep_valuer>   rˆ  )r    r!   r   r–  r   s        r%   r   ÚValue.as_sql|  s¢   € Ø�‰×/Ñ/°Ô5Ø�j‰jˆØ×1Ñ1ˆØÑ#Ø�}�}Ø"×3Ñ3°CÐ3ÐO‘à"×4Ñ4°SÐ4ÐP�Ü�|Ð%6×7Ñ7Ø#×3Ñ3°CÀ:ÓNÐQTÐPUÐUÐUØ‰;ð ˜2�:ÐØ�c�Uˆ{Ðr/   c                 ó6   >• [         TU ]  XX4U5      nXVl        U$ r²   )rË  r=   r  ©r    r  r	  r
  r  r  r  r  s          €r%   r=   ÚValue.resolve_expressionŽ  s"   ø€ ô ‰GÑ& u¸5ÈXÓVˆØŒ
Øˆr/   c                 ó   • / $ r²   r(   rJ   s    r%   r[  ÚValue.get_group_by_cols•  rÑ   r/   c                 óÌ  • [        U R                  [        5      (       a  [        R                  " 5       $ [        U R                  [
        5      (       a  [        R                  " 5       $ [        U R                  [        5      (       a  [        R                  " 5       $ [        U R                  [        5      (       a  [        R                  " 5       $ [        U R                  [        R                  5      (       a  [        R                  " 5       $ [        U R                  [        R                  5      (       a  [        R                  " 5       $ [        U R                  [        R                  5      (       a  [        R                   " 5       $ [        U R                  [        R"                  5      (       a  [        R$                  " 5       $ [        U R                  [&        5      (       a  [        R(                  " 5       $ [        U R                  [*        5      (       a  [        R,                  " 5       $ [        U R                  [.        5      (       a  [        R0                  " 5       $ g r²   )rØ   r'  rÙ   r   Ú	CharFieldÚboolr  r2  r0  r-  r+  Údatetimerç  Údaterå  Útimeræ  Ú	timedeltarä  r   r   ÚbytesÚBinaryFieldr
   Ú	UUIDFieldrJ   s    r%   r  ÚValue._resolve_output_field˜  s{  € Ü�d—j‘j¤#×&Ñ&Ü×#Ò#Ó%Ð%Ü�d—j‘j¤$×'Ñ'Ü×&Ò&Ó(Ð(Ü�d—j‘j¤#×&Ñ&Ü×&Ò&Ó(Ð(Ü�d—j‘j¤%×(Ñ(Ü×$Ò$Ó&Ð&Ü�d—j‘j¤(×"3Ñ"3×4Ñ4Ü×'Ò'Ó)Ð)Ü�d—j‘j¤(§-¡-×0Ñ0Ü×#Ò#Ó%Ð%Ü�d—j‘j¤(§-¡-×0Ñ0Ü×#Ò#Ó%Ð%Ü�d—j‘j¤(×"4Ñ"4×5Ñ5Ü×'Ò'Ó)Ð)Ü�d—j‘j¤'×*Ñ*Ü×&Ò&Ó(Ð(Ü�d—j‘j¤%×(Ñ(Ü×%Ò%Ó'Ð'Ü�d—j‘j¤$×'Ñ'Ü×#Ò#Ó%Ð%ð (r/   c                 ó   • U R                   $ r²   ©r'  rJ   s    r%   r€  ÚValue.empty_result_set_value°  s   € à�z‰zÐr/   rž  r²   r~  )r)   r*   r+   r,   r-   r  rƒ  r¿   rÏ  r   r=   r[  r  r…  r€  r.   rð  rñ  s   @r%   r?   r?   d  sK   ø† áCð €HØ€O÷
ò<òð& SX÷òò&ð0 ñó ör/   r?   c                   óT   ^ • \ rS rSrSrS	U 4S jjrS rS rS r S
U 4S jjr	Sr
U =r$ )ÚRawSQLiµ  Tc                 ól   >• Uc  [         R                  " 5       nXsU l        U l        [        TU ]  US9  g rÊ  )r   rœ  r#   r$   rË  r¿   )r    r#   r$   r   r  s       €r%   r¿   ÚRawSQL.__init__¸  s2   ø€ ØÑÜ!Ÿ<š<›>ˆLØ #ÐˆŒ�$”+Ü‰Ñ lÐÒ3r/   c                 óx   • SR                  U R                  R                  U R                  U R                  5      $ ©Nrc  )rÎ  r  r)   r#   r$   rJ   s    r%   rÏ  ÚRawSQL.__repr__¾  s)   € Ø×"Ñ" 4§>¡>×#:Ñ#:¸D¿H¹HÀdÇkÁkÓRÐRr/   c                 ó8   • SU R                   -  U R                  4$ rÜ  )r#   r$   rà   s      r%   r   ÚRawSQL.as_sqlÁ  s   € Ø˜Ÿ™Ñ  $§+¡+Ð-Ð-r/   c                 ó   • U /$ r²   r(   rJ   s    r%   r[  ÚRawSQL.get_group_by_colsÄ  ó	   € Øˆvˆr/   c                 ó|  >• UR                   (       aš  UR                   R                  R                   Hv  nUR                  R                   HY  nUR                  R                  5       U R                  R                  5       ;   d  M;  UR                  UR                  X#U5          Mt     Mx     [        TU ])  XX4U5      $ r²   )r�  rž  Úall_parentsÚlocal_fieldsÚcolumnÚlowerr#   r  r>  rË  r=   )	r    r  r	  r
  r  r  ÚparentÚparent_fieldr  s	           €r%   r=   ÚRawSQL.resolve_expressionÇ  s—   ø€ ð �;�;ØŸ+™+×+Ñ+×7Ô7�Ø$*§L¡L×$=Ô$=�LØ#×*Ñ*×0Ñ0Ó2°d·h±h·n±nÓ6FÕFØ×)Ñ)Ø(×-Ñ-¨{À9ôò ó %>ñ 8ô ‰wÑ)Ø °(ó
ð 	
r/   )r$   r#   r²   r~  )r)   r*   r+   r,   rƒ  r¿   rÏ  r   r[  r=   r.   rð  rñ  s   @r%   r¡  r¡  µ  s.   ø† Ø€O÷4òSò.òð SX÷
õ 
r/   r¡  c                   ó    • \ rS rSrS rS rSrg)ÚStariØ  c                 ó   • g)Nz'*'r(   rJ   s    r%   rÏ  ÚStar.__repr__Ù  s   € Ør/   c                 ó
   • S/ 4$ )Nr5   r(   rà   s      r%   r   ÚStar.as_sqlÜ  s   € Ø�Bˆwˆr/   r(   N)r)   r*   r+   r,   rÏ  r   r.   r(   r/   r%   rµ  rµ  Ø  s   † òõr/   rµ  c                   óN   ^ • \ rS rSrSrS	U 4S jjrS rS r S
S jrS r	Sr
U =r$ )ÚDatabaseDefaultià  zV
Expression to use DEFAULT keyword during insert otherwise the underlying expression.
c                 ó0   >• [         TU ]  U5        Xl        g r²   ©rË  r¿   r(  ©r    r(  r   r  s      €r%   r¿   ÚDatabaseDefault.__init__å  s   ø€ Ü‰Ñ˜Ô&Ø$�r/   c                 ó   • U R                   /$ r²   ©r(  rJ   s    r%   rÏ   Ú&DatabaseDefault.get_source_expressionsé  ó   € Ø—‘Ð Ð r/   c                 ó   • Uu  U l         g r²   rÁ  rÓ   s     r%   rÕ   Ú&DatabaseDefault.set_source_expressionsì  s   € Ø"Ñˆ�r/   c                 ót   • U R                   R                  UUUUUS9nU(       d  U$ [        X`R                  S9$ )N)r  r	  r
  r  r  r½   )r(  r=   r»  r  )r    r  r	  r
  r  r  Úresolved_expressions          r%   r=   Ú"DatabaseDefault.resolve_expressionï  sO   € ð #Ÿo™o×@Ñ@ØØ#ØØØð Að 
Ðö Ø&Ð&ÜØ×.HÑ.Hñ
ð 	
r/   c                 óv   • UR                   R                  (       d  UR                  U R                  5      $ S/ 4$ )NÚDEFAULT)rù  Ú"supports_default_keyword_in_insertrÝ  r(  rà   s      r%   r   ÚDatabaseDefault.as_sql  s0   € Ø×"Ñ"×E×EØ×#Ñ# D§O¡OÓ4Ð4Ø˜"ˆ}Ðr/   rÁ  r²   r~  )r)   r*   r+   r,   r-   r¿   rÏ   rÕ   r=   r   r.   rð  rñ  s   @r%   r»  r»  à  s-   ø† ñ÷%ò!ò#ð SXô
÷$ð r/   r»  c                   óR   ^ • \ rS rSrSrSrSU 4S jjrS rS rS r	S r
S	 rS
rU =r$ )ÚColi  TFc                 óF   >• Uc  Un[         TU ]  US9  XsU l        U l        g rÊ  )rË  r¿   ÚaliasÚtarget)r    rÐ  rÑ  r   r  s       €r%   r¿   ÚCol.__init__  s,   ø€ ØÑØ!ˆLÜ‰Ñ lÐÑ3Ø"'ÐˆŒ
�D•Kr/   c                 óÚ   • U R                   U R                  p!U(       a  U[        U5      4O[        U5      4nSR                  U R                  R
                  SR                  U5      5      $ )Nr  r   )rÐ  rÑ  rÙ   rÎ  r  r)   re  )r    rÐ  rÑ  Úidentifierss       r%   rÏ  ÚCol.__repr__  sM   € ØŸ
™
 D§K¡KˆvÞ.3�uœc &›kÑ*¼#¸f»+¸ˆØ�‰˜tŸ~™~×6Ñ6¸¿	¹	À+Ó8NÓOÐOr/   c                 ó°   • U R                   U R                  R                  pCU(       a  X44OU4nSR                  [	        UR
                  U5      5      nU/ 4$ ©Nrÿ  )rÐ  rÑ  r¯  re  r™  Úquote_name_unless_alias)r    r!   r   rÐ  r¯  rÔ  r#   s          r%   r   Ú
Col.as_sql  sH   € ØŸ
™
 D§K¡K×$6Ñ$6ˆvÞ).�u‘o°V°IˆØ�h‰h”s˜8×;Ñ;¸[ÓIÓJˆØ�Bˆwˆr/   c                 ó¶   • U R                   c  U $ U R                  UR                  U R                   U R                   5      U R                  U R                  5      $ r²   )rÐ  r  rG  rÑ  r   r4  s     r%   rA  ÚCol.relabeled_clone  sF   € Ø�:‰:ÑØˆKØ�~‰~Ø�L‰L˜Ÿ™ T§Z¡ZÓ0°$·+±+¸t×?PÑ?Pó
ð 	
r/   c                 ó   • U /$ r²   r(   rJ   s    r%   r[  ÚCol.get_group_by_cols#  r«  r/   c                 óÚ   • U R                   U R                  :X  a  U R                  R                  U5      $ U R                  R                  U5      U R                   R                  U5      -   $ r²   )rÑ  r   rË   rÌ   s     r%   rË   ÚCol.get_db_converters&  s^   € Ø�;‰;˜$×+Ñ+Ó+Ø×$Ñ$×6Ñ6°zÓBÐBØ× Ñ ×2Ñ2Øó
à�K‰K×)Ñ)¨*Ó5ñ6ð 	6r/   )rÐ  rÑ  r²   )r)   r*   r+   r,   rõ   r0  r¿   rÏ  r   rA  r[  rË   r.   rð  rñ  s   @r%   rÎ  rÎ    s3   ø† Ø!%ÐØ Ð÷0òPò
ò
ò÷6ð 6r/   rÎ  c                   ód   ^ • \ rS rSrU 4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U =r$ )r  i.  c                 óD   >• [         TU ]  US9  Xl        X l        X0l        g rÊ  )rË  r¿   rÐ  ÚtargetsÚsources)r    rÐ  râ  rã  r   r  s        €r%   r¿   ÚColPairs.__init__/  s"   ø€ Ü‰Ñ lÐÑ3ØŒ
ØŒØ�r/   c                 ó,   • [        U R                  5      $ r²   )rW  râ  rJ   s    r%   Ú__len__ÚColPairs.__len__5  s   € Ü�4—<‘<Ó Ð r/   c                 ó4   • [        U R                  5       5      $ r²   )r¦  Úget_colsrJ   s    r%   Ú__iter__ÚColPairs.__iter__8  s   € Ü�D—M‘M“OÓ$Ð$r/   c           
      ó¤   • U R                   R                   SU R                  < SU R                  < SU R                  < SU R
                  < S3
$ )NrJ  r   rK  )r  r)   rÐ  râ  rã  r   rJ   s    r%   rÏ  ÚColPairs.__repr__;  sL   € à�~‰~×&Ñ&Ð' q¨¯©©°b¸¿¹Ñ8HÈØ�|‰|Ñ˜b ×!2Ñ!2Ñ 5°Qð8ð	
r/   c           	      ó    • [        U R                  U R                  5       VVs/ s H  u  p[        U R                  X5      PM     snn$ s  snnf r²   )Úziprâ  rã  rÎ  rÐ  )r    rÑ  r  s      r%   ré  ÚColPairs.get_colsA  sE   € ô #& d§l¡l°D·L±LÔ"Aô
â"A‘�ô �—
‘
˜FÖ+Ù"Aò
ð 	
ùó 
s   ¤"A
c                 ó"   • U R                  5       $ r²   )ré  rJ   s    r%   rÏ   ÚColPairs.get_source_expressionsG  s   € Ø�}‰}‹Ðr/   c                 óÖ   ^ • [        U 4S jU 5       5      (       d   eU Vs/ s H  o"R                  PM     snT l        U Vs/ s H  o"R                  PM     snT l        g s  snf s  snf )Nc              3   ó„   >#   • U  H5  n[        U[        5      =(       a    UR                  TR                  :H  v •  M7     g 7fr²   )rØ   rÎ  rÐ  )ræ   rç   r    s     €r%   rè   Ú2ColPairs.set_source_expressions.<locals>.<genexpr>K  s/   øé € ÐXÒRWÈ$”:˜d¤CÓ(×E¨T¯Z©Z¸4¿:¹:Ñ-EÔEÒRWùs   ƒ=A )r  rÑ  râ  r  rã  )r    rÔ   r1  s   `  r%   rÕ   ÚColPairs.set_source_expressionsJ  sS   ø€ ÜÔXÑRWÓX×XÑXÐXÐXÙ.3Ó4ªe sŸ
œ
©eÑ4ˆŒÙ-2Ó3ªU cŸ	œ	©UÑ3ˆ�ùò 5ùÚ3s   ¢A!ÁA&c                 óÌ   • / n/ nU R                  5       nU H8  nUR                  X5      u  pxUR                  U5        UR                  U5        M:     SR	                  U5      U4$ )Nr   )ré  r   r©  rZ  re  )	r    r!   r   Úcols_sqlÚcols_paramsr]  r1  r#   r$   s	            r%   r   ÚColPairs.as_sqlO  sa   € ØˆØˆØ�}‰}‹ˆãˆCØŸ*™* XÓ:‰KˆCØ�O‰O˜CÔ Ø×Ñ˜vÖ&ñ ð
 �y‰y˜Ó" KÐ/Ð/r/   c                 ó®   • U R                  UR                  U R                  U R                  5      U R                  U R                  U R
                  5      $ r²   )r  rG  rÐ  râ  rã  r  r4  s     r%   rA  ÚColPairs.relabeled_clone[  s;   € Ø�~‰~Ø�L‰L˜Ÿ™ T§Z¡ZÓ0°$·,±,ÀÇÁÈdÏjÉjó
ð 	
r/   c                 ó   • U $ r²   r(   r-  s      r%   r=   ÚColPairs.resolve_expression`  rr  r/   c                 ó   • X#4$ r²   r(   rx  s       r%   rw  ÚColPairs.select_formatc  s
   € Øˆ{Ðr/   )rÐ  rã  râ  )r)   r*   r+   r,   r¿   ræ  rê  rÏ  ré  rÏ   rÕ   r   rA  r=   rw  r.   rð  rñ  s   @r%   r  r  .  s?   ø† õò!ò%ò
ò
òò4ò

0ò
ò
÷ð r/   r  c                   ób   ^ • \ rS rSrSrU 4S jrS rS rS r SS jr	S r
S	 rS
 rS rSrU =r$ )ÚRefig  zr
Reference to column alias of the query. For example, Ref('sum_cost') in
qs.annotate(sum_cost=Sum('cost')) query.
c                 ó>   >• [         TU ]  5         XsU l        U l        g r²   )rË  r¿   rO  r  )r    rO  r  r  s      €r%   r¿   ÚRef.__init__m  s   ø€ Ü‰ÑÔØ!%ÐˆŒ	�4•;r/   c                 óx   • SR                  U R                  R                  U R                  U R                  5      $ r¥  )rÎ  r  r)   rO  r  rJ   s    r%   rÏ  ÚRef.__repr__q  s)   € Ø×"Ñ" 4§>¡>×#:Ñ#:¸D¿I¹IÀtÇ{Á{ÓSÐSr/   c                 ó   • U R                   /$ r²   ©r  rJ   s    r%   rÏ   ÚRef.get_source_expressionst  s   € Ø—‘ˆ}Ðr/   c                 ó   • Uu  U l         g r²   r  rÓ   s     r%   rÕ   ÚRef.set_source_expressionsw  s   € Ø‰ˆ�r/   c                 ó   • U $ r²   r(   r  s         r%   r=   ÚRef.resolve_expressionz  s	   € ð
 ˆr/   c                 ó   • U R                   1$ r²   )rO  rJ   s    r%   rN  ÚRef.get_refs�  s   € Ø—	‘	ˆ{Ðr/   c                 óf   • U R                  5       nU R                  R                  U5      Ul        U$ r²   )rÄ   r  rA  )r    r5  rC  s      r%   rA  ÚRef.relabeled_clone„  s(   € Ø—	‘	“ˆØ—{‘{×2Ñ2°8Ó<ˆŒØˆr/   c                 óP   • UR                   R                  U R                  5      / 4$ r²   )rÞ  Ú
quote_namerO  rà   s      r%   r   Ú
Ref.as_sql‰  s    € Ø�~‰~×(Ñ(¨¯©Ó3°RÐ7Ð7r/   c                 ó   • U /$ r²   r(   rJ   s    r%   r[  ÚRef.get_group_by_colsŒ  r«  r/   )rO  r  r~  )r)   r*   r+   r,   r-   r¿   rÏ  rÏ   rÕ   r=   rN  rA  r   r[  r.   rð  rñ  s   @r%   r  r  g  sB   ø† ñõ
.òTòòð SXôòòò
8÷ð r/   r  c                   óB   ^ • \ rS rSrSrSrS rU 4S jrS rS r	Sr
U =r$ )	ÚExpressionListi�  zœ
An expression containing multiple expressions. Can be used to provide a
list of expressions as an argument to another expression, like a partition
clause.
z%(expressions)sc                 óZ   • U R                   R                  S U R                   5       5      $ )Nc              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr²   r\  r]  s     r%   rè   Ú)ExpressionList.__str__.<locals>.<genexpr>š  r_  r`  )rd  re  r  rJ   s    r%   rÒ  ÚExpressionList.__str__™  s#   € Ø�‰×#Ñ#Ñ#P¸×8OÒ8OÓ#PÓPÐPr/   c                 óH   >• U R                   (       d  g[        TU ]  " U0 UD6$ )N)Ú r(   )r  rË  r   )r    rª  re  r  s      €r%   r   ÚExpressionList.as_sqlœ  s#   ø€ Ø×&×&ØÜ‰wŠ~˜tÐ. vÑ.Ð.r/   c                 ó(   • U R                   " X40 UD6$ r²   )r   )r    r!   r   r"   s       r%   r&   ÚExpressionList.as_sqlite¡  s   € à�{Š{˜8ÑA°=ÑAÐAr/   c                 óv   • / nU R                  5        H"  nUR                  UR                  5       5        M$     U$ r²   ©rÏ   rZ  r[  )r    Úgroup_by_colsrç   s      r%   r[  Ú ExpressionList.get_group_by_cols¥  s7   € ØˆØ×/Ñ/Ö1ˆDØ× Ñ  ×!7Ñ!7Ó!9Ö:ñ 2àÐr/   r(   )r)   r*   r+   r,   r-   rr  rÒ  r   r&   r[  r.   rð  rñ  s   @r%   r  r  �  s*   ø† ñð !€HòQõ/ò
B÷ð r/   r  c                   ó0   ^ • \ rS rSrSrSrU 4S jrSrU =r$ )ÚOrderByListi¬  FzORDER BY %(expressions)sc                 ó8   >• S U 5       n[         TU ]  " U0 UD6  g )Nc              3   óŽ   #   • U  H;  n[        U[        5      (       a  US    S:X  a  [        [        USS 5      SS9OUv •  M=     g7f)r   r4   rA  NT©rk  )rØ   rÙ   rc  rÚ   rå   s     r%   rè   Ú'OrderByList.__init__.<locals>.<genexpr>±  sM   é € ð 
ò $�ô ˜d¤C×(Ñ(¨T°!©W¸«^ô œ˜$˜q˜r˜(›°Ò5àôò $ùs   ‚AA)rË  r¿   )r    rÛ   rX  r  s      €r%   r¿   ÚOrderByList.__init__°  s(   ø€ ñ
ñ $ó
ˆô 	‰Ò˜+Ð/¨Ó/r/   r(   )	r)   r*   r+   r,   rƒ  rr  r¿   r.   rð  rñ  s   @r%   r'  r'  ¬  s   ø† Ø€OØ)€H÷	0ó 	0r/   r'  z"django.db.models.ExpressionWrapperc                   ó`   ^ • \ rS rSrSrU 4S jrS rS rU 4S jrS r	S r
\S	 5       rS
rU =r$ )ÚExpressionWrapperi¼  zˆ
An expression that can wrap another expression so that it can provide
extra context to the inner expression, such as the output_field.
c                 ó,   >• [         TU ]  US9  Xl        g rÊ  r½  r¾  s      €r%   r¿   ÚExpressionWrapper.__init__Ã  s   ø€ Ü‰Ñ lÐÑ3Ø$�r/   c                 ó   • US   U l         g ©Nr   rÁ  rÓ   s     r%   rÕ   Ú(ExpressionWrapper.set_source_expressionsÇ  ó   € Ø ™(ˆ�r/   c                 ó   • U R                   /$ r²   rÁ  rJ   s    r%   rÏ   Ú(ExpressionWrapper.get_source_expressionsÊ  rÃ  r/   c                 óÔ   >• [        U R                  [        5      (       a;  U R                  R                  5       nU R                  Ul        UR                  5       $ [        TU ]  5       $ r²   )rØ   r(  rˆ  rÄ   r   r[  rË  ©r    r(  r  s     €r%   r[  Ú#ExpressionWrapper.get_group_by_colsÍ  sS   ø€ Ü�d—o‘o¤z×2Ñ2ØŸ™×-Ñ-Ó/ˆJØ&*×&7Ñ&7ˆJÔ#Ø×/Ñ/Ó1Ð1ô ‰wÑ(Ó*Ð*r/   c                 ó8   • UR                  U R                  5      $ r²   )rÝ  r(  rà   s      r%   r   ÚExpressionWrapper.as_sqlÖ  s   € Ø×Ñ §¡Ó0Ð0r/   c                 ób   • SR                  U R                  R                  U R                  5      $ r  )rÎ  r  r)   r(  rJ   s    r%   rÏ  ÚExpressionWrapper.__repr__Ù  s!   € Ø�‰˜tŸ~™~×6Ñ6¸¿¹ÓHÐHr/   c                 ó.   • U R                   R                  $ r²   )r(  rƒ  rJ   s    r%   rƒ  Ú!ExpressionWrapper.allowed_defaultÜ  s   € à�‰×.Ñ.Ð.r/   rÁ  )r)   r*   r+   r,   r-   r¿   rÕ   rÏ   r[  r   rÏ  r…  rƒ  r.   rð  rñ  s   @r%   r.  r.  ¼  s;   ø† ñõ
%ò#ò!õ+ò1òIð ñ/ó ö/r/   r.  c                   óV   ^ • \ rS rSrSrU 4S jrS rU 4S jr S	U 4S jjrS r	Sr
U =r$ )
r³   iá  z1The logical negation of a conditional expression.c                 óH   >• [         TU ]  U[        R                  " 5       S9  g rÊ  )rË  r¿   r   r  r8  s     €r%   r¿   ÚNegatedExpression.__init__ä  s   ø€ Ü‰Ñ˜´&×2EÒ2EÓ2GÐÒHr/   c                 ó6   • U R                   R                  5       $ r²   )r(  rÄ   rJ   s    r%   r´   ÚNegatedExpression.__invert__ç  s   € Ø�‰×#Ñ#Ó%Ð%r/   c                 óX  >•  [         TU ]  X5      u  p4UR                  R                  nUR                  U R                  5      (       d  SU S3U4$ SU 3U4$ ! [         aF    UR                  R                  nUR
                  (       d   gUR                  [        S5      5      s $ f = f)N)z1=1r(   Tz
CASE WHEN z = 0 THEN 1 ELSE 0 ENDzNOT )rË  r   r   r   rù  Ú&supports_boolean_expr_in_select_clauserÝ  r?   rÞ  Ú0conditional_expression_supported_in_where_clauser(  )r    r!   r   r#   r$   rù  rÞ  r  s          €r%   r   ÚNegatedExpression.as_sqlê  s«   ø€ ð	1Ü™'™.¨Ó>‰KˆCð ×!Ñ!×%Ñ%ˆð ×CÑCÀDÇOÁO×TÑTØ ˜uÐ$:Ð;¸VÐCÐCØ�c�Uˆ|˜VÐ#Ð#øô ó 	1Ø×*Ñ*×3Ñ3ˆHØ×B×BÙ Ø×#Ñ#¤E¨$£KÓ0Ò0ð		1ús   ƒA Á1B)ÂB)Â(B)c                 óx   >• [         TU ]  XX4U5      n[        UR                  SS5      (       d  [	        S5      eU$ )Nrn   Fz*Cannot negate non-conditional expressions.)rË  r=   rq   r(  r  )r    r  r	  r
  r  r  rë  r  s          €r%   r=   Ú$NegatedExpression.resolve_expressionú  sC   ø€ ô ‘7Ñ-Ø °(ó
ˆô �x×*Ñ*¨M¸5×AÑAÜÐHÓIÐIØˆr/   c                 óâ   • UR                   R                  R                  nUR                   R                  R                  (       d(  U" U R
                  5      (       a  SR                  U5      nX#4$ ©NzCASE WHEN {} THEN 1 ELSE 0 END)r   rÞ  rG  rù  rF  r(  rÎ  )r    r!   r#   r$   Ú$expression_supported_in_where_clauses        r%   rw  ÚNegatedExpression.select_format  s\   € ð
 ×Ñ×#Ñ#×TÑTð 	-ð ×#Ñ#×,Ñ,×S×Sá4°T·_±_×EÑEà2×9Ñ9¸#Ó>ˆCØˆ{Ðr/   r(   r~  )r)   r*   r+   r,   r-   r¿   r´   r   r=   rw  r.   rð  rñ  s   @r%   r³   r³   á  s,   ø† Ù;õIò&õ$ð" SX÷÷ð r/   r³   zdjango.db.models.Whenc                   ó„   ^ • \ rS rSrSrSrSU 4S jjrS rS rS r	S r
 SU 4S	 jjrS
 rSS jrS r\S 5       rSrU =r$ )ÚWheni  z"WHEN %(condition)s THEN %(result)sFc                 óf  >• U(       a/  Uc  [        S0 UD6S p1O[        USS5      (       a  [        U40 UD6S p1Ub  [        USS5      (       a  U(       a  [        S5      e[        U[         5      (       a  U(       d  [	        S5      e[
        TU ]  S S9  Xl        U R                  U5      S   U l	        g )Nrn   FzLWhen() supports a Q object, a boolean expression, or lookups as a condition.z1An empty Q() can't be used as a When() condition.r½   r   r(   )
r   rq   r  rØ   r  rË  r¿   Ú	conditionrÝ   r½  )r    rR  ÚthenÚlookupsr  s       €r%   r¿   ÚWhen.__init__  s«   ø€ ÞØÑ Ü%&¡\¨¡\°4™7Ü˜ M°5×9Ñ9Ü%& yÑ%<°GÑ%<¸d˜7ØÑ¤G¨I°}Àe×$LÑ$LÖPWÜð"óð ô �i¤×#Ñ#®IÜÐPÓQÐQÜ‰Ñ dÐÑ+Ø"ŒØ×-Ñ-¨dÓ3°AÑ6ˆ�r/   c                 ó>   • SU R                   < SU R                  < 3$ )NzWHEN z THEN ©rR  r½  rJ   s    r%   rÒ  ÚWhen.__str__+  s   � Ø$(§N¤N°D·K³KÐ@Ð@r/   c                 ó@   • SU R                   R                  < SU < S3$ ©NÚ<z: Ú>©r  r)   rJ   s    r%   rÏ  ÚWhen.__repr__.  ó   � Ø!Ÿ^™^×4Ô4³dÐ;Ð;r/   c                 ó2   • U R                   U R                  /$ r²   rW  rJ   s    r%   rÏ   ÚWhen.get_source_expressions1  s   € Ø—‘ §¡Ð,Ð,r/   c                 ó"   • Uu  U l         U l        g r²   rW  rÓ   s     r%   rÕ   ÚWhen.set_source_expressions4  s   € Ø&+Ñ#ˆŒ˜�r/   c                 ó’   >• [         TU ]  XX4U5      nU(       a-  UR                  b   U R                  R                  XX4SS9Ul        U$ )NF)r  )rË  r=   rR  rŽ  s          €r%   r=   ÚWhen.resolve_expression7  sM   ø€ ô ‰GÑ& u¸5ÈXÓVˆÞ˜Ÿ™Ñ/àŸ.™.×;Ñ;Ø E¸uð <ð ˆAŒKð ˆr/   c                 ó0   • U R                   R                  /$ r²   )r½  r  rJ   s    r%   r"  ÚWhen.get_source_fieldsB  s   € à—‘×1Ñ1Ð2Ð2r/   c                 ó  • UR                   R                  U 5        Un/ nUR                  U R                  5      u  pxXuS'   UR                  U R                  5      u  pšX•S'   U=(       d    U R
                  nX5-  / UQUQU
Q74$ )NrR  r½  )rÞ  rû  rÝ  rR  r½  rr  )r    r!   r   rr  r"   Útemplate_paramsÚ
sql_paramsÚcondition_sqlÚcondition_paramsÚ
result_sqlÚresult_paramss              r%   r   ÚWhen.as_sqlF  s™   € Ø�‰×/Ñ/°Ô5Ø'ˆØˆ
Ø*2×*:Ñ*:¸4¿>¹>Ó*JÑ'ˆØ'4˜Ñ$Ø$,×$4Ñ$4°T·[±[Ó$AÑ!ˆ
Ø$.˜Ñ!Ø×,˜tŸ}™}ˆØÑ)ð ,
Øð,
àð,
ð ñ,
ð 
ð 	
r/   c                 óv   • / nU R                  5        H"  nUR                  UR                  5       5        M$     U$ r²   r#  r\  s      r%   r[  ÚWhen.get_group_by_colsU  s4   € àˆØ×1Ñ1Ö3ˆFØ�K‰K˜×0Ñ0Ó2Ö3ñ 4àˆr/   c                 óh   • U R                   R                  =(       a    U R                  R                  $ r²   )rR  rƒ  r½  rJ   s    r%   rƒ  ÚWhen.allowed_default\  s!   € à�~‰~×-Ñ-×M°$·+±+×2MÑ2MÐMr/   rW  ©NNr~  r²   )r)   r*   r+   r,   rr  rn   r¿   rÒ  rÏ  rÏ   rÕ   r=   r"  r   r[  r   rƒ  r.   rð  rñ  s   @r%   rP  rP    sX   ø† à3€Hà€K÷7ò"Aò<ò-ò,ð SX÷	ò3ô
òð ñNó öNr/   rP  zdjango.db.models.Casec                   óŠ   ^ • \ rS rSrSrSrSrSSS.U 4S jjrS rS	 r	S
 r
S rU 4S jr SS jrU 4S jr\S 5       rSrU =r$ )ÚCaseia  z¦
An SQL searched CASE expression:

    CASE
        WHEN n > 0
            THEN 'positive'
        WHEN n < 0
            THEN 'negative'
        ELSE 'zero'
    END
z#CASE %(cases)s ELSE %(default)s ENDrT  N)Údefaultr   c                óÆ   >• [        S U 5       5      (       d  [        S5      e[        TU ]  U5        [	        U5      U l        U R                  U5      S   U l        X@l        g )Nc              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr²   )rØ   rP  )ræ   Úcases     r%   rè   Ú Case.__init__.<locals>.<genexpr>s  s   é € Ð<²e¨d”:˜d¤D×)Ð)²eùr  z.Positional arguments must all be When objects.r   )	r  r  rË  r¿   ÚlistÚcasesrÝ   rw  rX  )r    rw  r   r}  rX  r  s        €r%   r¿   ÚCase.__init__r  sT   ø€ ÜÑ<±eÓ<×<Ñ<ÜÐLÓMÐMÜ‰Ñ˜Ô&Ü˜%“[ˆŒ
Ø×.Ñ.¨wÓ7¸Ñ:ˆŒØ�
r/   c                 ój   • SSR                  S U R                   5       5      < SU R                  < 3$ )NzCASE r   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr²   r\  )ræ   r  s     r%   rè   ÚCase.__str__.<locals>.<genexpr>|  s   é € Ð1¢j ”c˜!—f�f¢jùr`  z, ELSE )re  r}  rw  rJ   s    r%   rÒ  ÚCase.__str__z  s)   � à�I‰IÑ1 d§j¢jÓ1Ö1Ø�L‹Lð
ð 	
r/   c                 ó@   • SU R                   R                  < SU < S3$ rZ  r]  rJ   s    r%   rÏ  ÚCase.__repr__€  r_  r/   c                 ó6   • U R                   U R                  /-   $ r²   ©r}  rw  rJ   s    r%   rÏ   ÚCase.get_source_expressionsƒ  s   € Ø�z‰z˜TŸ\™\˜NÑ*Ð*r/   c                 ó"   • UGt U l         U l        g r²   r†  rÓ   s     r%   rÕ   ÚCase.set_source_expressions†  s   € Ø$)Ñ!ˆŒ�T•\r/   c                 óL   >• [         TU ]  5       nUR                  S S  Ul        U$ r²   )rË  rÄ   r}  )r    r  r  s     €r%   rÄ   Ú	Case.copy‰  s"   ø€ Ü‰G‰L‹NˆØ—'‘'™!�*ˆŒØˆr/   c                 óN  • UR                   R                  U 5        U R                  (       d  UR                  U R                  5      $ 0 U R
                  EUEn/ n/ nU R                   H9  n	 UR                  U	5      u  p«UR                  U
5        UR                  U5        M;     UR                  U R                  5      u  pÍU(       d  XÍ4$ U=(       d    U R                  nUR                  U5      US'   XÆS'   UR                  U5        U=(       d    UR                  SU R                  5      nX6-  nU R                  b(  UR                   R!                  U R"                  5      U-  nXè4$ ! [         a     GM  [         a"    UR                  U	R                  5      u  pÍ   Má  f = f)Nr}  rw  rr  )rÞ  rû  r}  rÝ  rw  rX  r   r   r½  r©  rZ  Úcase_joinerre  rG  rr  r  Úunification_cast_sqlr   )r    r!   r   rr  r�  r"   ri  Ú
case_partsrj  rz  Úcase_sqlÚcase_paramsÚdefault_sqlÚdefault_paramsr#   s                  r%   r   ÚCase.as_sqlŽ  s  € ð 	�‰×/Ñ/°Ô5Ø�z�zØ×#Ñ# D§L¡LÓ1Ð1Ø9˜TŸZ™ZÐ9¨=Ð9ˆØˆ
Øˆ
Ø—J”JˆDðØ(0×(8Ñ(8¸Ó(>Ñ%�ð ×Ñ˜hÔ'Ø×Ñ˜kÖ*ñ ð +3×*:Ñ*:¸4¿<¹<Ó*HÑ'ˆKÞØÐ.Ð.Ø!×5 T×%5Ñ%5ˆØ#.×#3Ñ#3°JÓ#?ˆ˜Ñ Ø%0˜	Ñ"Ø×Ñ˜.Ô)Ø×M˜×2Ñ2°:¸t¿}¹}ÓMˆØÑ(ˆØ×%Ñ%Ñ1Ø—.‘.×5Ñ5°d×6GÑ6GÓHÈ3ÑNˆCØˆÐøô' "ó ÛÜ ó Ø.6×.>Ñ.>¸t¿{¹{Ó.KÑ+�Ûðús   Á,E+Å+
F$Å9&F$Æ#F$c                 óv   >• U R                   (       d  U R                  R                  5       $ [        TU ]	  5       $ r²   )r}  rw  r[  rË  )r    r  s    €r%   r[  ÚCase.get_group_by_cols¯  s+   ø€ Ø�z�zØ—<‘<×1Ñ1Ó3Ð3Ü‰wÑ(Ó*Ð*r/   c                 ót   • U R                   R                  =(       a    [        S U R                   5       5      $ )Nc              3   ó8   #   • U  H  oR                   v •  M     g 7fr²   r}  )ræ   Úcase_s     r%   rè   Ú'Case.allowed_default.<locals>.<genexpr>¶  s   é € ð 4
Ú/9 e×!Ö!ªzùr`  )rw  rƒ  r  r}  rJ   s    r%   rƒ  ÚCase.allowed_default´  s1   € à�|‰|×+Ñ+÷ 
´ñ 4
Ø/3¯zªzó4
ó 1
ð 	
r/   )r}  rw  rX  rt  )r)   r*   r+   r,   r-   rr  r�  r¿   rÒ  rÏ  rÏ   rÕ   rÄ   r   r[  r   rƒ  r.   rð  rñ  s   @r%   rv  rv  a  sb   ø† ñ
ð 5€HØ€Kà'+¸$÷ ð ò
ò<ò+ò*õð @DôõB+ð
 ñ
ó ö
r/   rv  c                   ó„   ^ • \ rS rSrSrSrSrSrSrSU 4S jjr	S r
S	 rS
 rU 4S jr\S 5       rS rSS jrS rSrU =r$ )ÚSubqueryi»  zˆ
An explicit subquery. It may contain OuterRef() references to the outer
query which will be resolved when it is applied to that query.
z(%(subquery)s)FNTc                 ó’   >• [        USU5      R                  5       U l        SU R                  l        X0l        [
        TU ]  U5        g )Nr  T)rq   rC  r  rû   rX  rË  r¿   )r    Úquerysetr   rX  r  s       €r%   r¿   ÚSubquery.__init__Æ  s:   ø€ ä˜X w°Ó9×?Ñ?ÓAˆŒ
Ø"ˆ�
‰
ÔØŒ
Ü‰Ñ˜Õ&r/   c                 ó   • U R                   /$ r²   ©r  rJ   s    r%   rÏ   ÚSubquery.get_source_expressionsÍ  s   € Ø—
‘
ˆ|Ðr/   c                 ó   • US   U l         g r2  r¢  rÓ   s     r%   rÕ   ÚSubquery.set_source_expressionsÐ  s   € Ø˜1‘Xˆ�
r/   c                 ó.   • U R                   R                  $ r²   )r  r   rJ   s    r%   r  ÚSubquery._resolve_output_fieldÓ  s   € Ø�z‰z×&Ñ&Ð&r/   c                 ób   >• [         TU ]  5       nUR                  R                  5       Ul        U$ r²   )rË  rÄ   r  rC  )r    rC  r  s     €r%   rÄ   ÚSubquery.copyÖ  s'   ø€ Ü‘‘“ˆØ—k‘k×'Ñ'Ó)ˆŒØˆr/   c                 ó.   • U R                   R                  $ r²   )r  Úexternal_aliasesrJ   s    r%   r«  ÚSubquery.external_aliasesÛ  s   € à�z‰z×*Ñ*Ð*r/   c                 ó6   • U R                   R                  5       $ r²   )r  Úget_external_colsrJ   s    r%   r®  ÚSubquery.get_external_colsß  s   € Ø�z‰z×+Ñ+Ó-Ð-r/   c                 óú   • UR                   R                  U 5        0 U R                  EUEnU R                  R	                  X5      u  pgUSS US'   U=(       d    UR                  SU R                  5      nX5-  nX‡4$ )NrA  rG   rû   rr  )rÞ  rû  rX  r  r   rG  rr  )	r    r!   r   rr  r"   ri  Úsubquery_sqlrj  r#   s	            r%   r   ÚSubquery.as_sqlâ  sz   € Ø�‰×/Ñ/°Ô5Ø9˜TŸZ™ZÐ9¨=Ð9ˆØ#'§:¡:×#4Ñ#4°XÓ#JÑ ˆØ&2°1°RÐ&8ˆ˜
Ñ#à×M˜×2Ñ2°:¸t¿}¹}ÓMˆØÑ(ˆØˆÐr/   c                 ó4   • U R                   R                  U S9$ )N)Úwrapper)r  r[  rJ   s    r%   r[  ÚSubquery.get_group_by_colsì  s   € Ø�z‰z×+Ñ+°DÐ+Ð9Ð9r/   )rX  r  r²   )r)   r*   r+   r,   r-   rr  rä   r€  rû   r¿   rÏ   rÕ   r  rÄ   r…  r«  r®  r   r[  r.   rð  rñ  s   @r%   r�  r�  »  sa   ø† ñð
  €HØÐØ!ÐØ€H÷'òòò'õð
 ñ+ó ð+ò.ô÷:ð :r/   r�  c                   ód   ^ • \ rS rSrSr\R                  " 5       rSrU 4S jr	S r
U 4S jrSrU =r$ )ÚExistsið  zEXISTS(%(subquery)s)Fc                 óf   >• [         TU ]  " U40 UD6  U R                  R                  5       U l        g r²   )rË  r¿   r  Úexists)r    rŸ  re  r  s      €r%   r¿   ÚExists.__init__õ  s)   ø€ Ü‰Ò˜Ñ, VÒ,Ø—Z‘Z×&Ñ&Ó(ˆ�
r/   c                 ót   • UR                   R                  R                  (       d  SR                  U5      nX#4$ rL  )r   rù  rF  rÎ  rx  s       r%   rw  ÚExists.select_formatù  s1   € ð ×"Ñ"×+Ñ+×R×RØ2×9Ñ9¸#Ó>ˆCØˆ{Ðr/   c                 óÔ   >•  [         TU ]  " U/UQ70 UD6$ ! [         aF    UR                  R                  nUR
                  (       d   gUR                  [        S5      5      s $ f = f)N)z1=0r(   F)rË  r   r   r   rù  rF  rÝ  r?   )r    r!   rª  re  rù  r  s        €r%   r   ÚExists.as_sql  sb   ø€ ð	2Ü‘7’> (Ð<¨TÒ<°VÑ<Ð<øÜó 	2Ø×*Ñ*×3Ñ3ˆHØ×B×BÙ Ø×#Ñ#¤E¨%£LÓ1Ò1ð		2ús   ƒ —1A'Á
A'Á&A'r¢  )r)   r*   r+   r,   rr  r   r  r   r€  r¿   rw  r   r.   rð  rñ  s   @r%   r·  r·  ð  s0   ø† Ø%€HØ×&Ò&Ó(€LØ"Ðõ)ò÷2ó 2r/   r·  zdjango.db.models.OrderByc                   óh   • \ rS rSrSrSrSrSrSS jrS r	S r
S	 rSS
 jrS rS rS rS rS rSrg)rc  i  z%(expression)s %(ordering)sFTNc                 óÈ   • U(       a  U(       a  [        S5      eUSL d  USL a  [        S5      eX0l        X@l        X l        [	        US5      (       d  [        S5      eXl        g )Nz1nulls_first and nulls_last are mutually exclusiveFz7nulls_first and nulls_last values must be True or None.r=   z%expression must be an expression type)r  Únulls_firstÚ
nulls_lastrk  r>   r(  )r    r(  rk  rÁ  rÂ  s        r%   r¿   ÚOrderBy.__init__  s]   € Þž:ÜÐPÓQÐQØ˜%Ò :°Ò#6ÜÐVÓWÐWØ&ÔØ$ŒØ$ŒÜ�zÐ#7×8Ñ8ÜÐDÓEÐEØ$�r/   c                 óx   • SR                  U R                  R                  U R                  U R                  5      $ )Nz{}({}, descending={}))rÎ  r  r)   r(  rk  rJ   s    r%   rÏ  ÚOrderBy.__repr__  s.   € Ø&×-Ñ-Ø�N‰N×#Ñ# T§_¡_°d·o±oó
ð 	
r/   c                 ó   • US   U l         g r2  rÁ  rÓ   s     r%   rÕ   ÚOrderBy.set_source_expressions#  r4  r/   c                 ó   • U R                   /$ r²   rÁ  rJ   s    r%   rÏ   ÚOrderBy.get_source_expressions&  rÃ  r/   c                 ó  • [        U R                  [        5      (       a�  / n/ nU R                  R                  5        H[  nU R	                  5       nUR
                  " U/5        UR                  U5      u  pšUR                  U	5        UR                  U
5        M]     SR                  U5      U4$ U=(       d    U R                  nUR                  R                  (       a.  U R                  (       a  SU-  nOœU R                  (       a  SU-  nO…U R                  (       a2  U R                  (       a  UR                  R                   (       d  SU-  nOBU R                  (       a1  U R                  (       d  UR                  R                   (       d  SU-  nUR"                  R%                  U 5        UR                  U R                  5      u  p¶UU R                  (       a  SOSS.UEnXcR'                  S	5      -  nX<-  R)                  5       U4$ )
Nr   z%s NULLS LASTz%s NULLS FIRSTz%%(expression)s IS NULL, %sz%%(expression)s IS NOT NULL, %sÚDESCÚASC)r(  Úorderingz%(expression)s)rØ   r(  r  ré  rÄ   rÕ   rÝ  r©  rZ  re  rr  rù  Ú supports_order_by_nulls_modifierrÂ  rÁ  rk  Úorder_by_nulls_firstrÞ  rû  ÚcountÚrstrip)r    r!   r   rr  r"   rt  r$   r1  rÄ   r#   Ú
col_paramsÚexpression_sqlÚplaceholderss                r%   r   ÚOrderBy.as_sql)  s”  € Ü�d—o‘o¤x×0Ñ0ØˆIØˆFØ—‘×/Ñ/Ö1�Ø—y‘y“{�Ø×+Ò+¨S¨EÔ2Ø"*×"2Ñ"2°4Ó"8‘�Ø× Ñ  Ô%Ø—‘˜jÖ)ñ 2ð —9‘9˜YÓ'¨Ð/Ð/Ø×,˜tŸ}™}ˆØ×Ñ×?×?Ø��Ø*¨XÑ5‘Ø×!×!Ø+¨hÑ6�øà��Ø—— J×$7Ñ$7×$L×$Là8¸8ÑC‘Ø×!×!Ø—O—O¨
×(;Ñ(;×(P×(Pà<¸xÑG�Ø�‰×/Ñ/°Ô5Ø!)×!1Ñ!1°$·/±/Ó!BÑˆà(Ø"&§/§/™°uñ
ð ð
ˆð
 	—.‘.Ð!1Ó2Ñ2ˆØÑ'×/Ñ/Ó1°6Ð9Ð9r/   c                 ó4  • UR                   R                  (       dm  UR                  R                  U R                  5      (       aC  U R                  5       n[        [        U R                  SS9SS9Ul        UR                  " X5      $ U R                  X5      $ )NT)rS  F)rw  )	rù  rF  rÞ  rG  r(  rÄ   rv  rP  r   )r    r!   r   rÄ   s       r%   Ú	as_oracleÚOrderBy.as_oracleM  s{   € ð ×#Ñ#×J×JØ—‘×OÑOØ—‘÷ñ ð —9‘9“;ˆDÜ"Ü�T—_‘_¨4Ñ0ØñˆDŒOð —;’;˜xÓ4Ð4Ø�{‰{˜8Ó0Ð0r/   c                 óv   • / nU R                  5        H"  nUR                  UR                  5       5        M$     U$ r²   r#  r\  s      r%   r[  ÚOrderBy.get_group_by_cols^  s4   € ØˆØ×1Ñ1Ö3ˆFØ�K‰K˜×0Ñ0Ó2Ö3ñ 4àˆr/   c                 ó²   • U R                   (       + U l         U R                  (       a  SU l        S U l        U $ U R                  (       a  SU l        S U l        U $ r’   )rk  rÁ  rÂ  rJ   s    r%   rp  ÚOrderBy.reverse_orderingd  sL   € Ø"Ÿo™oÔ-ˆŒØ××Ø"ˆDŒOØ#ˆDÔð ˆð �_�_Ø#ˆDÔØ"ˆDŒOØˆr/   c                 ó   • SU l         g rN   r*  rJ   s    r%   rf  ÚOrderBy.ascn  s	   € Øˆ�r/   c                 ó   • SU l         g r’   r*  rJ   s    r%   rl  ÚOrderBy.descq  s	   € Øˆ�r/   )rk  r(  rÁ  rÂ  )FNNr²   )r)   r*   r+   r,   rr  rn   r{  r  r¿   rÏ  rÕ   rÏ   r   r×  r[  rp  rf  rl  r.   r(   r/   r%   rc  rc    sK   † à,€HØ€KØ',Ð$Ø#'Ð ô
%ò
ò
#ò!ô":òH1ò"òò õr/   rc  c                   óz   ^ • \ rS rSrSrSrSr    SU 4S jjrS rS r	S r
SS	 jrU 4S
 jrS rS rS rSrU =r$ )ÚWindowiu  z %(expression)s OVER (%(window)s)FTc                 ó¾  >• X l         X0l        X@l        [        USS5      (       d"  [	        SUR
                  R                  -  5      eU R                   bN  [        U R                   [        [        45      (       d  U R                   4U l         [        U R                   6 U l         U R                  bˆ  [        U R                  [        [        45      (       a  [        U R                  6 U l        OK[        U R                  [        [        45      (       a  [        U R                  5      U l        O[	        S5      e[        TU ]=  US9  U R!                  U5      S   U l        g )Nr‚  Fz3Expression '%s' isn't compatible with OVER clauses.zhWindow.order_by must be either a string reference to a field, an expression, or a list or tuple of them.r½   r   )Úpartition_byÚorder_byÚframerq   r  r  r)   rØ   r˜  r|  r  r'  rº   rÙ   rË  r¿   rÝ   Úsource_expression)r    r(  rä  rå  ræ  r   r  s         €r%   r¿   ÚWindow.__init__}  s$  ø€ ð )ÔØ ŒØŒ
ä�zÐ#6¸×>Ñ>ÜØEØ×&Ñ&×/Ñ/ñ0óð ð
 ×ÑÑ(Ü˜d×/Ñ/´%¼°×?Ñ?Ø%)×%6Ñ%6Ð$8�Ô!Ü .°×0AÑ0AÐ BˆDÔà�=‰=Ñ$Ü˜$Ÿ-™-¬$´¨×7Ñ7Ü +¨T¯]©]Ð ;�•Ü˜DŸM™M¬N¼CÐ+@×AÑAÜ +¨D¯M©MÓ :�•ä ðHóð ô 	‰Ñ lÐÑ3Ø!%×!8Ñ!8¸Ó!DÀQÑ!GˆÕr/   c                 ó.   • U R                   R                  $ r²   )rç  r   rJ   s    r%   r  ÚWindow._resolve_output_field¡  s   € Ø×%Ñ%×2Ñ2Ð2r/   c                 ó^   • U R                   U R                  U R                  U R                  /$ r²   ©rç  rä  rå  ræ  rJ   s    r%   rÏ   ÚWindow.get_source_expressions¤  s%   € Ø×&Ñ&¨×(9Ñ(9¸4¿=¹=È$Ï*É*ÐUÐUr/   c                 ó:   • Uu  U l         U l        U l        U l        g r²   rì  rÓ   s     r%   rÕ   ÚWindow.set_source_expressions§  s   € ØOTÑLˆÔ Ô 1°4´=À$Å*r/   c                 ó  • UR                   R                  U 5        UR                  R                  (       d  [	        S5      eUR                  U R                  5      u  pE/ SpvU R                  b<  U R                  R                  UUSS9u  p‰UR                  U5        U[        U	5      -  nU R                  b<  UR                  U R                  5      u  p«UR                  U
5        U[        U5      -  nU R                  (       a<  UR                  U R                  5      u  pÍUR                  U5        U[        U5      -  nU=(       d    U R                  nX4SR                  U5      R                  5       S.-  / UQUQ74$ )Nz1This backend does not support window expressions.r(   zPARTITION BY %(expressions)s)r!   r   rr  rT  )r(  Úwindow)rÞ  rû  rù  Úsupports_over_clauser   rÝ  rç  rä  r   r©  r˜  rå  ræ  rr  re  Ústrip)r    r!   r   rr  Úexpr_sqlr$   Ú
window_sqlÚwindow_paramsÚsql_exprrj  Ú	order_sqlÚorder_paramsÚ	frame_sqlÚframe_paramss                 r%   r   ÚWindow.as_sqlª  s^  € Ø�‰×/Ñ/°Ô5Ø×"Ñ"×7×7Ü#Ð$WÓXÐXØ#×+Ñ+¨D×,BÑ,BÓCÑˆØ$&¨�Mà×ÑÑ(Ø#'×#4Ñ#4×#;Ñ#;Ø!Ø%Ø7ð $<ð $Ñ ˆHð
 ×Ñ˜hÔ'ØœU :Ó.Ñ.ˆMà�=‰=Ñ$Ø&.×&6Ñ&6°t·}±}Ó&EÑ#ˆIØ×Ñ˜iÔ(ØœU <Ó0Ñ0ˆMà�:�:Ø&.×&6Ñ&6°t·z±zÓ&BÑ#ˆIØ×Ñ˜iÔ(ØœU <Ó0Ñ0ˆMà×,˜tŸ}™}ˆð ¸#¿(¹(À:Ó:N×:TÑ:TÓ:VÑWÑWØ%ˆfÐ%�}Ñ%ð
ð 	
r/   c                 ó>  >• [        U R                  [        R                  5      (       ac  U R	                  5       nUR
                  " 5       n[        R                  " 5       US   l        UR                  " U5        [        [        U]+  X5      $ U R                  X5      $ r2  )rØ   r   r   r   rÄ   rÏ   r+  rÕ   rË  râ  r&   r   )r    r!   r   rÄ   r  r  s        €r%   r&   ÚWindow.as_sqliteË  s}   ø€ Ü�d×'Ñ'¬×)<Ñ)<×=Ñ=à—9‘9“;ˆDØ!%×!<Ò!<Ó!>ÐÜ17×1BÒ1BÓ1DÐ˜qÑ!Ô.Ø×'Ò'Ð(:Ô;Üœ Ñ0°ÓFÐFØ�{‰{˜8Ó0Ð0r/   c           	      ó  • SR                  [        U R                  5      U R                  (       a  S[        U R                  5      -   OS[        U R                  =(       d    S5      [        U R
                  =(       d    S5      5      $ )Nz{} OVER ({}{}{})zPARTITION BY r  )rÎ  rÙ   rç  rä  rå  ræ  rJ   s    r%   rÒ  ÚWindow.__str__Õ  sb   € Ø!×(Ñ(Ü�×&Ñ&Ó'Ø8<×8I×8IˆOœc $×"3Ñ"3Ó4Ò4ÈrÜ�—‘×# Ó$Ü�—
‘
× ˜bÓ!ó	
ð 	
r/   c                 ó@   • SU R                   R                  < SU < S3$ rZ  r]  rJ   s    r%   rÏ  ÚWindow.__repr__Ý  r_  r/   c                 óê   • / nU R                   (       a)  UR                  U R                   R                  5       5        U R                  b)  UR                  U R                  R                  5       5        U$ r²   )rä  rZ  r[  rå  )r    r$  s     r%   r[  ÚWindow.get_group_by_colsà  sX   € ØˆØ××Ø× Ñ  ×!2Ñ!2×!DÑ!DÓ!FÔGØ�=‰=Ñ$Ø× Ñ  §¡×!@Ñ!@Ó!BÔCØÐr/   )ræ  rå  rä  rç  )NNNNr²   )r)   r*   r+   r,   rr  rä   rð   r¿   r  rÏ   rÕ   r   r&   rÒ  rÏ  r[  r.   rð  rñ  s   @r%   râ  râ  u  s[   ø† Ø1€Hð ÐØÐð
 ØØØ÷"HòH3òVòUô
õB1ò
ò<÷ð r/   râ  c                   ó*   • \ rS rSrSrSrSrSrS rSr	g)	ÚWindowFrameExclusionié  zCURRENT ROWÚGROUPÚTIESz	NO OTHERSc                 óL   • U R                   R                   SU R                   3$ r×  )r  r+   Ú_name_rJ   s    r%   rÏ  ÚWindowFrameExclusion.__repr__ï  s"   € Ø—.‘.×-Ñ-Ð.¨a°·±¨}Ð=Ð=r/   r(   N)
r)   r*   r+   r,   ÚCURRENT_ROWr  r  Ú	NO_OTHERSrÏ  r.   r(   r/   r%   r  r  é  s   † Ø€KØ€EØ€DØ€Iõ>r/   r  c                   óV   • \ rS 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g)ÚWindowFrameió  a>  
Model the frame clause in window expressions. There are two types of frame
clauses which are subclasses, however, all processing and validation (by no
means intended to be complete) is done here. Thus, providing an end for a
frame is optional (the default is UNBOUNDED FOLLOWING, which is the last
row in the frame).
z7%(frame_type)s BETWEEN %(start)s AND %(end)s%(exclude)sNc                 óÊ   • [        U5      U l        [        U5      U l        [        U[        [
        45      (       d"  [        U R                  R                   S35      eX0l	        g )Nz3.exclusion must be a WindowFrameExclusion instance.)
r?   rC  ÚendrØ   r	   r  r  r  r+   Ú	exclusion)r    rC  r  r  s       r%   r¿   ÚWindowFrame.__init__þ  sY   € Ü˜5“\ˆŒ
Ü˜“:ˆŒÜ˜)¤hÔ0DÐ%E×FÑFÜØ—>‘>×.Ñ.Ð/ð 01ð 1óð ð #�r/   c                 ó"   • Uu  U l         U l        g r²   ©rC  r  rÓ   s     r%   rÕ   Ú"WindowFrame.set_source_expressions  s   € Ø$ÑˆŒ
�D•Hr/   c                 ó2   • U R                   U R                  /$ r²   r  rJ   s    r%   rÏ   Ú"WindowFrame.get_source_expressions  s   € Ø—
‘
˜DŸH™HÐ%Ð%r/   c                 óP   • U R                   c  gSU R                   R                   3$ )Nr  z	 EXCLUDE )r  r'  rJ   s    r%   Úget_exclusionÚWindowFrame.get_exclusion  s'   € Ø�>‰>Ñ!ØØ˜4Ÿ>™>×/Ñ/Ð0Ð1Ð1r/   c                 óz  • UR                   R                  U 5        U R                  X R                  R                  U R
                  R                  5      u  p4U R                  (       a&  UR                  R                  (       d  [        S5      eU R                  U R                  UUU R                  5       S.-  / 4$ )Nz6This backend does not support window frame exclusions.©Ú
frame_typerC  r  Úexclude)rÞ  rû  Úwindow_frame_start_endrC  r'  r  r  rù  Úsupports_frame_exclusionr   rr  r  r  )r    r!   r   rC  r  s        r%   r   ÚWindowFrame.as_sql  sŸ   € Ø�‰×/Ñ/°Ô5Ø×0Ñ0ØŸ
™
×(Ñ(¨$¯(©(¯.©.ó
‰
ˆð �>�> *×"5Ñ"5×"N×"NÜ#ØHóð ð �M‰Mà"Ÿo™oØØØ×-Ñ-Ó/ñ	ñð ð	
ð 		
r/   c                 ó@   • SU R                   R                  < SU < S3$ rZ  r]  rJ   s    r%   rÏ  ÚWindowFrame.__repr__'  r_  r/   c                 ó   • / $ r²   r(   rJ   s    r%   r[  ÚWindowFrame.get_group_by_cols*  rÑ   r/   c                 ó>  • U R                   R                  bW  U R                   R                  S:  a=  S[        U R                   R                  5      [        R                  R
                  4-  nOËU R                   R                  b5  U R                   R                  S:X  a  [        R                  R                  nOU R                   R                  bN  U R                   R                  S:”  a4  SU R                   R                  [        R                  R                  4-  nO[        R                  R                  nU R                  R                  bN  U R                  R                  S:”  a4  SU R                  R                  [        R                  R                  4-  nOÔU R                  R                  b5  U R                  R                  S:X  a  [        R                  R                  nOˆU R                  R                  bW  U R                  R                  S:  a=  S[        U R                  R                  5      [        R                  R
                  4-  nO[        R                  R                  nU R                  U R                  UUU R                  5       S.-  $ )Nr   z%d %sr  )rC  r'  Úabsr   rÞ  Ú	PRECEDINGr  Ú	FOLLOWINGÚUNBOUNDED_PRECEDINGr  ÚUNBOUNDED_FOLLOWINGrr  r  r  )r    rC  r  s      r%   rÒ  ÚWindowFrame.__str__-  s¹  € Ø�:‰:×ÑÑ'¨D¯J©J×,<Ñ,<¸qÓ,@Øœs 4§:¡:×#3Ñ#3Ó4´j·n±n×6NÑ6NÐOÑO‰EØ�Z‰Z×ÑÑ)¨d¯j©j×.>Ñ.>À!Ó.CÜ—N‘N×.Ñ.‰EØ�Z‰Z×ÑÑ)¨d¯j©j×.>Ñ.>ÀÓ.BØ˜tŸz™z×/Ñ/´·±×1IÑ1IÐJÑJ‰Eä—N‘N×6Ñ6ˆEà�8‰8�>‰>Ñ%¨$¯(©(¯.©.¸1Ó*<Ø˜TŸX™XŸ^™^¬Z¯^©^×-EÑ-EÐFÑF‰CØ�X‰X�^‰^Ñ'¨D¯H©H¯N©N¸aÓ,?Ü—.‘.×,Ñ,‰CØ�X‰X�^‰^Ñ'¨D¯H©H¯N©N¸QÓ,>ØœS §¡§¡Ó0´*·.±.×2JÑ2JÐKÑK‰Cä—.‘.×4Ñ4ˆCØ�}‰}ØŸ/™/ØØØ×)Ñ)Ó+ñ	 
ñ 
ð 	
r/   c                 ó   • [        S5      e)Nz3Subclasses must implement window_frame_start_end().r§   ©r    r   rC  r  s       r%   r   Ú"WindowFrame.window_frame_start_endF  s   € Ü!Ð"WÓXÐXr/   )r  r  rC  r�  )r)   r*   r+   r,   r-   rr  r¿   rÕ   rÏ   r  r   rÏ  r[  rÒ  r   r.   r(   r/   r%   r  r  ó  s=   † ñð I€Hô#ò%ò&ò2ò

ò(<òò
õ2Yr/   r  c                   ó   • \ rS rSrSrS rSrg)ÚRowRangeiJ  ÚROWSc                 ó8   • UR                   R                  X#5      $ r²   )rÞ  Úwindow_frame_rows_start_endr/  s       r%   r   ÚRowRange.window_frame_start_endM  s   € Ø�~‰~×9Ñ9¸%ÓEÐEr/   r(   N©r)   r*   r+   r,   r  r   r.   r(   r/   r%   r2  r2  J  s   † Ø€JõFr/   r2  c                   ó   • \ rS rSrSrS rSrg)Ú
ValueRangeiQ  ÚRANGEc                 ó8   • UR                   R                  X#5      $ r²   )rÞ  Úwindow_frame_range_start_endr/  s       r%   r   Ú!ValueRange.window_frame_start_endT  s   € Ø�~‰~×:Ñ:¸5ÓFÐFr/   r(   Nr7  r(   r/   r%   r9  r9  Q  s   † Ø€JõGr/   r9  )hrÄ   r•  r´  r�  Úcollectionsr   Údecimalr   Úenumr   Ú	itertoolsr   Útypesr	   Úuuidr
   Údjango.core.exceptionsr   r   r   Ú	django.dbr   r   r   Údjango.db.modelsr   Údjango.db.models.constantsr   Údjango.db.models.query_utilsr   Údjango.utils.deconstructr   Údjango.utils.functionalr   r   Údjango.utils.hashabler   r   r1   r·   rº   rˆ  rP   rI   r_   rd   ri   ÚPositiveIntegerFieldrW   r0  r+  r   rw   rŽ   r|   r€   r‡   r|  Úfrom_iterablerå  rä  rç  ræ  Ú_connector_combinationsrº  r¾  Údr›  rB   Úfield_typesr»  r¼  r½  rµ  rÇ  r@   rè  ré  rÚ   r+  r:  r  rQ  r?   r¡  rµ  r»  rÎ  r  r  r  r'  r.  r³   rP  rv  r�  r·  rc  râ  r  r  r2  r9  )rB   s   0r%   Ú<module>rQ     s1  ðÛ Û Û Û Ý #Ý Ý Ý Ý Ý ç LÑ Lß BÑ BÝ #Ý 1Ý *Ý 4ß BÝ /÷ñ ÷ A'ñ A'ôH	˜Zô 	÷Tñ Tðn
 ô*#� ó *#ó ð*#ðB �N‰NØ�N‰NØ�N‰NØ�N‰NØ�N‰Nñ
óò
ˆIð 	à×+Ñ+Ø×+Ñ+Ø×+Ñ+ðð
ò 	
ñ
ñð0 �N‰NØ�N‰NØ�N‰Nð �N‰NØ�N‰NØ�N‰Nñ	
óò	
ˆIð 	Ø× Ñ  &×"5Ñ"5°v×7JÑ7JÐKØ×Ñ × 1Ñ 1°6×3DÑ3DÐEØ× Ñ  &×"5Ñ"5°v×7JÑ7JÐKð
ò 	
ñ
	
ñð4 �N‰NØ�N‰NØ�N‰NØ�N‰NØ�N‰Nñ
óò
ˆIð 	Ø× Ñ  &×"5Ñ"5°v×7JÑ7JÐKØ× Ñ  &×"5Ñ"5°v×7JÑ7JÐKØ× Ñ  &×"3Ñ"3°V×5FÑ5FÐGØ×Ñ × 3Ñ 3°V×5FÑ5FÐGð	
ò 	
ñ
ñð* ×ÑØ×ÑØ×#Ñ#Ø×$Ñ$Ø×Ññ
ó	ò
ˆIð 	Ø× Ñ  &×"5Ñ"5°v×7JÑ7JÐKð
ò 	
ñ
ñ	ð2 �N‰NØ�N‰NØ�N‰NØ�N‰NØ�N‰NØ�N‰Nñ
óò
ˆIð 	‘4Ø×Ññ  ð ×'Ñ'Ø×'Ñ'Ø×%Ñ%ñ#ó ó ó	
ò 		
ñ
ñð, 	�‰à×Ñ˜v×3Ñ3°V×5IÑ5IÐJØ×!Ñ! 6×#7Ñ#7¸×9MÑ9MÐNØ×!Ñ! 6×#3Ñ#3°V×5IÑ5IÐJØ×!Ñ! 6×#7Ñ#7¸×9MÑ9MÐNà×!Ñ! 6×#7Ñ#7¸×9MÑ9MÐNà×Ñ˜v×3Ñ3°V×5EÑ5EÐFØ×!Ñ! 6×#3Ñ#3°V×5EÑ5EÐFð
ðð 	�‰à×Ñ˜v×3Ñ3°V×5IÑ5IÐJØ×!Ñ! 6×#7Ñ#7¸×9MÑ9MÐNØ×Ñ˜v×/Ñ/°×1EÑ1EÐFØ×Ñ˜v×3Ñ3°V×5IÑ5IÐJØ×!Ñ! 6×#3Ñ#3°V×5IÑ5IÐJØ×!Ñ! 6×#7Ñ#7¸×9MÑ9MÐNà×!Ñ! 6×#7Ñ#7¸×9MÑ9MÐNà×Ñ˜v×3Ñ3°V×5EÑ5EÐFØ×Ñ˜v×/Ñ/°×1EÑ1EÐFð
ððOwÐ ñr % TÓ*Ð ò	Aó 
!€AØ"#§'¡'¦)Ñˆ	�;Û +ÑˆC��fÙ& s¨I°s¸FÖCó !,ó #,ñ 
!ð ×Ò˜SÑ!ñ!ó "ð!ôTEÐ+¨Zô TEôn0Ð+ô 0ôf
Ð,ô 
ñ Ð*Ñ+ô,ˆ
ó ,ó ,ð,ô^"�qô "ôJ
ˆqô 
ô6UˆQô 6Uñr Ð-Ñ.ôZYÐ˜zó ZYó /ðZYñz Ð.Ñ/ôMÐ 
ó Mó 0ðMô` 
ˆZô  
ôFˆ:ô ô$�jô $ôN$6ˆ*ô $6ôN6ˆzô 6ôr&ˆ*ô &ôR�Tô ô80�.ô 0ñ  Ð:Ñ;ô!/Ð*¨Jó !/ó <ð!/ôH0Ð)ô 0ñf Ð-Ñ.ôINˆ:ó INó /ðINñX Ð-Ñ.ôV
Ð˜zó V
ó /ðV
ôr2:ˆ~˜zô 2:ôj2ˆXô 2ñ6 Ð0Ñ1ôfˆjó fó 2ðfôRqÐ ô qôh>˜4ô >ôTY�*ô TYônFˆ{ô FôG�õ Gùòg0ùò"ùò$ùò ùòs!   Ã$/^>ÅA3_ÈB_Ë/_
ÍA
_