+
    ‡)Ùjù  ã                   ó$  € R t ^ RIHtHt ^ RIHtHtHtHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHt . ROt ! R R]4      t ! R R]]]4      t ! R R]4      t ! R R	]4      t ! R R
]4      t ! R R]]4      t ! R R]]4      t ! R R]]4      tR# )z>
Classes to represent the definitions of aggregate functions.
)Ú
FieldErrorÚFullResultSet)ÚCaseÚColPairsÚFuncÚStarÚValueÚWhen)ÚIntegerField)ÚCoalesce)ÚFixDurationInputMixinÚNumericOutputFieldMixinÚ	AggregateÚAvgÚCountÚMaxÚMinÚStdDevÚSumÚVariancec                   óÀ   a a€ ] tR t^t oRtRtRtRtRtRt	Rt
RRRRRR/V 3R	 lltV 3R
 ltV 3R ltV 3R ltRV 3R llt]R 4       tR tV 3R ltV 3R ltRtVtV ;t# )r   z)%(function)s(%(distinct)s%(expressions)s)TNz%s FILTER (WHERE %%(filter)s)FÚdistinctÚfilterÚdefaultc               ó4  <€ V'       d9   V P                   '       g'   \        R V P                  P                  ,          4      hVe1   V P                  e#   \        V P                  P                   R24      hWn        W n        W0n        \        SV `$  ! V/ VB  R# )z%s does not allow distinct.Nz does not allow default.)
Úallow_distinctÚ	TypeErrorÚ	__class__Ú__name__Úempty_result_set_valuer   r   r   ÚsuperÚ__init__)Úselfr   r   r   ÚexpressionsÚextrar   s   &$$$*,€ÚT/var/www/eggtrainer/venv/lib/python3.14/site-packages/django/db/models/aggregates.pyr!   ÚAggregate.__init__#   s~   ø€ ÷ ˜D×/×/Ð/ÜÐ9¸D¿N¹N×<SÑ<SÕSÓTÐTØÒ 4×#>Ñ#>Ò#JÜ˜tŸ~™~×6Ñ6Ð7Ð7OÐPÓQÐQØ ŒØŒØŒÜ‰Ò˜+Ð/¨Ô/ó    c                ó\   <€ \         SV `  4        Uu. uF  qP                  NK  	  up# u upi ©N)r    Úget_source_expressionsÚ_output_field_or_none)r"   Úer   s   & €r%   Úget_source_fieldsÚAggregate.get_source_fields/   s)   ø€ ä16±Ñ1OÔ1QÓRÑ1Q¨A×'Ô'Ñ1QÑRÐRùÒRs   ’)c                óF   <€ \         SV `  4       pWP                  .,           # r)   )r    r*   r   )r"   Úsource_expressionsr   s   & €r%   r*   Ú Aggregate.get_source_expressions3   s    ø€ Ü"™WÑ;Ó=ÐØ!§[¡[ MÕ1Ð1r'   c                ó4   <€ VEv qn         \        SV `	  V4      # r)   )r   r    Úset_source_expressions)r"   Úexprsr   s   &&€r%   r3   Ú Aggregate.set_source_expressions7   s   ø€ Ø#Ñˆ”Ü‰wÑ-¨eÓ4Ð4r'   c           
     óx  <€ \         SV `  WW44      pV'       d[   VP                  4        FE  pVP                  V,          P                  '       g   K(  \        R VP                   RV RV R24      h	  M¬V P                  '       g›   \         \        V`#  4       p\        V4       Fy  w  ršV
P                  '       g   K  V P                  4       V	,          p\        VR4      '       d   VP                  M
\        V4      p\        R VP                  : RV: RV: R24      h	  VP                  ;pf   V# \        VR4      '       d3   VP                  WW44      pVP                  f   VP                  Vn        M\!        WÖP                  4      pRVn        \#        WmVP                  R7      pVP                  Vn        V# )zCannot compute z('z'): 'z' is an aggregateÚnameNÚresolve_expression)Úoutput_field)r    r8   Úget_refsÚannotationsÚ
is_summaryr   r7   r   r*   Ú	enumerateÚcontains_aggregateÚhasattrÚreprr   r+   r9   r   r   )r"   ÚqueryÚallow_joinsÚreuseÚ	summarizeÚfor_saveÚcÚrefr#   ÚindexÚexprÚbefore_resolvedr7   r   Úcoalescer   s   &&&&&&         €r%   r8   ÚAggregate.resolve_expression;   s‡  ø€ ô ‰GÑ& u¸5ÓLˆßà—z‘z–|�Ø×$Ñ$ SÕ)×4×4Ò4Ü$Ø)¨!¯&©&¨°°C°5¸¸c¸UÐBSÐTóð ò $ð
 ——�ô  ¤	¨1ÑDÓFˆKÜ(¨Ö5‘�Ø×*×*Ò*Ø&*×&AÑ&AÓ&CÀEÕ&J�Oô # ?°F×;Ò;ð (×,Ò,ä! /Ó2ð õ
 %àŸ6œ6£4«ð/óð ñ  6ð —y‘yÐ ˆGÒ)ØˆHÜ�7Ð0×1Ò1Ø×0Ñ0°ÀUÓVˆGØ×,Ñ,Ò4Ø'(×'>Ñ'>�Ô$øä˜G×%<Ñ%<Ó=ˆGØˆŒ	Ü˜A°Q×5LÑ5LÔMˆØŸl™lˆÔØˆr'   c                ó   € V P                  4        Uu. uF
  qf   K  VNK  	  pp\        V4      ^8X  dL   \        V^ ,          R4      '       d3   V^ ,          P                  : RV P                  P	                  4       : 2# \        R4      hu upi )Nr7   Ú__z$Complex expressions require an alias)r*   Úlenr?   r7   Úlowerr   )r"   rI   r#   s   &  r%   Údefault_aliasÚAggregate.default_aliasd   s|   € ð "×8Ñ8Ô:ó
Ù:�T�DˆDÑ:ð 	ð 
ô ˆ{Ó˜qÔ ¤W¨[¸­^¸V×%DÒ%DØ*¨1�~×2Ô2°D·I±I·O±OÕ4EÐFÐFÜÐ>Ó?Ð?ùò
s
   “B�Bc                ó   € . # r)   © )r"   s   &r%   Úget_group_by_colsÚAggregate.get_group_by_colsm   s   € Øˆ	r'   c                ó¶  <€ V P                   '       d   R MRVR&   V P                  '       Ed   VP                  P                  '       dm    V P                  P	                  W4      w  rEV P
                  VP                  RV P                  4      ,          p\        SV `  ! VV3RVRV/VB w  rxV. VOVO53# V P                  4       p	RV	n        V	P                  4       p
\        V P                  V
^ ,          R7      pV	P                  \        V4      .V
R,          ,           4       \        \        V	`  ! W3/ VB # \        SV `  ! W3/ VB #   \         d     Li ; i)z	DISTINCT Ú r   Útemplater   N)Úthen:é   NN)r   r   ÚfeaturesÚ supports_aggregate_filter_clauseÚas_sqlÚfilter_templateÚgetrY   r    r   Úcopyr*   r	   r3   r   r   )r"   ÚcompilerÚ
connectionÚextra_contextÚ
filter_sqlÚfilter_paramsrY   ÚsqlÚparamsra   r0   Ú	conditionr   s   &&&,        €r%   r^   ÚAggregate.as_sqlp   se  ø€ Ø37·=·=°=¡KÀbˆ�jÑ!Ø�;�;‰;Ø×"Ñ"×C×CÐCð:Ø04·±×0BÑ0BÀ8Ó0XÑ-�Jð  $×3Ñ3°m×6GÑ6GØ" D§M¡Mó7õ  �Hô #(¡'¢.Ø Ø"ñ#ð "*ð#ð  *ð	#ð
 (ñ#‘K�Cð Ð 9 &Ð 9¨=Ñ 9Ð9Ð9à—y‘y“{�Ø"�”Ø%)×%@Ñ%@Ó%BÐ"Ü  §¡Ð3EÀaÕ3HÔI�	Ø×+Ñ+¬T°)«_Ð,=Ð@RÐSUÕ@VÕ,VÔWÜœY¨Ò4ØñØ,9ñð ô ‰wŠ~˜hÑD°mÑDÐDøô/ %ô Ùðús   ÁE
 Å
EÅEc                ó¨   <€ \         SV `  4       pV P                  '       d   V P                  VR &   V P                  '       d   V P                  VR&   V# )r   r   )r    Ú_get_repr_optionsr   r   )r"   Úoptionsr   s   & €r%   rl   ÚAggregate._get_repr_options�   sC   ø€ Ü‘'Ñ+Ó-ˆØ�=�=ˆ=Ø"&§-¡-ˆG�JÑØ�;�;ˆ;Ø $§¡ˆG�HÑØˆr'   )r   r   r   )NTNFF)r   Ú
__module__Ú__qualname__Ú__firstlineno__rY   r>   r7   r_   Úwindow_compatibler   r   r!   r-   r*   r3   r8   ÚpropertyrQ   rU   r^   rl   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r%   r   r      s‰   ù‡ € Ø:€HØÐØ€DØ5€OØÐØ€NØ!Ðð
0Ø%*ð
0Ø37ð
0ØAE÷
0õSõ2õ5÷'ðR ñ@ó ð@òõE÷>õ r'   c                   ó&   € ] tR t^˜tRtR tRt^tRtR# )r   ÚAVGTrT   N©	r   ro   rp   rq   Úfunctionr7   r   Úarityrt   rT   r'   r%   r   r   ˜   ó   † Ø€HØ€DØ€NØ„Er'   c                   óh   a a€ ] tR t^Ÿt oRtR t]! 4       tRt^ t	^t
RtRV 3R lltV 3R ltRtVtV ;t# )r   ÚCOUNTTc                óš   <€ VR 8X  d   \        4       p\        V\         4      '       d   Ve   \        R4      h\        SV `  ! V3RV/VB  R# )Ú*Nz8Star cannot be used with filter. Please specify a field.r   )r   Ú
isinstanceÚ
ValueErrorr    r!   )r"   Ú
expressionr   r$   r   s   &&&,€r%   r!   ÚCount.__init__¨   sG   ø€ Ø˜ÔÜ›ˆJÜ�j¤$×'Ò'¨FÒ,>ÜÐWÓXÐXÜ‰Ò˜Ñ<¨FÐ<°eÔ<r'   c                ó  <€ \         SV `  ! V/ VB pVP                  ^ ,          p\        V\        4      '       dL   V P
                  '       d   \        R4      hVP                  4       p\        V^ ,          VP                  R7      # V# )é    z6COUNT(DISTINCT) doesn't support composite primary keys)r   )
r    r8   r0   rƒ   r   r   r„   Úget_colsr   r   )r"   ÚargsÚkwargsÚresultrI   Úcolsr   s   &*,   €r%   r8   ÚCount.resolve_expression¯   sv   ø€ Ü‘Ò+¨TÐ<°VÑ<ˆØ×(Ñ(¨Õ+ˆô �dœH×%Ò%Ø�}�}ˆ}Ü ØLóð ð —=‘=“?ˆDÜ˜˜a�¨¯©Ô7Ð7àˆr'   rT   r)   )r   ro   rp   rq   r|   r7   r
   r9   r   r   r}   Úallows_composite_expressionsr!   r8   rt   ru   rv   rw   s   @@r%   r   r   Ÿ   s;   ù‡ € Ø€HØ€DÙ“>€LØ€NØÐØ€EØ#'Ð ÷=÷õ r'   c                   ó"   € ] tR t^ÀtRtR t^tRtR# )r   ÚMAXrT   N©r   ro   rp   rq   r|   r7   r}   rt   rT   r'   r%   r   r   À   ó   † Ø€HØ€DØ„Er'   c                   ó"   € ] tR t^ÆtRtR t^tRtR# )r   ÚMINrT   Nr’   rT   r'   r%   r   r   Æ   r“   r'   c                   óJ   a a€ ] tR t^Ìt oR t^tRV 3R lltV 3R ltRtVt	V ;t
# )r   c                óL   <€ V'       d   R MRV n         \        SV `  ! V3/ VB  R# )ÚSTDDEV_SAMPÚ
STDDEV_POPN©r|   r    r!   ©r"   r…   Úsampler$   r   s   &&&,€r%   r!   ÚStdDev.__init__Ð   s    ø€ ß)/™°\ˆŒÜ‰Ò˜Ñ- uÔ-r'   c                óF   <€ / \         SV `  4       CR V P                  R8H  /C# )rœ   r˜   ©r    rl   r|   ©r"   r   s   &€r%   rl   ÚStdDev._get_repr_optionsÔ   s&   ø€ ØX”%‘'Ñ+Ó-ÐX¨x¸¿¹È-Ñ9WÑXÐXr'   ©r|   ©F©r   ro   rp   rq   r7   r}   r!   rl   rt   ru   rv   rw   s   @@r%   r   r   Ì   s    ù‡ € Ø€DØ€E÷.÷Yõ Yr'   c                   ó&   € ] tR t^ØtRtR tRt^tRtR# )r   ÚSUMTrT   Nr{   rT   r'   r%   r   r   Ø   r~   r'   c                   óJ   a a€ ] tR t^ßt oR t^tRV 3R lltV 3R ltRtVt	V ;t
# )r   c                óL   <€ V'       d   R MRV n         \        SV `  ! V3/ VB  R# )ÚVAR_SAMPÚVAR_POPNrš   r›   s   &&&,€r%   r!   ÚVariance.__init__ã   s    ø€ ß&,™
°)ˆŒÜ‰Ò˜Ñ- uÔ-r'   c                óF   <€ / \         SV `  4       CR V P                  R8H  /C# )rœ   r©   rŸ   r    s   &€r%   rl   ÚVariance._get_repr_optionsç   s&   ø€ ØU”%‘'Ñ+Ó-ÐU¨x¸¿¹È*Ñ9TÑUÐUr'   r¢   r£   r¤   rw   s   @@r%   r   r   ß   s    ù‡ € Ø€DØ€E÷.÷Võ Vr'   N)r   r   r   r   r   r   r   r   )Ú__doc__Údjango.core.exceptionsr   r   Údjango.db.models.expressionsr   r   r   r   r   r	   Údjango.db.models.fieldsr
   Údjango.db.models.functionsr   Ú!django.db.models.functions.mixinsr   r   Ú__all__r   r   r   r   r   r   r   r   rT   r'   r%   Ú<module>rµ      sž   ðñ÷ =ß P× PÝ 0Ý /÷ò
	€ô{�ô {ô|Ð
Ð!8¸)ô ôˆIô ôBˆ)ô ôˆ)ô ô	YÐ$ iô 	YôÐ
 ô ô	VÐ&¨	ö 	Vr'   